我曾尝试使用技术指标库来计算RSI
(and ROC
) 烛台的收盘价,但是当我比较Binance的结果时,我没有得到非常准确的结果:
我使用这个Binance API获取数据:
如果我这样做:
let inputData = {
values: data, // 15 candlesticks, 1m candlestick data, values[0] is oldest closing price
period: 14,
};
我做计算:
const results_rsi = RSI.calculate(inputData);
我得到单元素数组,与Binance 上的(实时)数据相比,结果非常不准确。
如果我这样做:
let inputData = {
values: data, // 100 candlesticks, 1m candlestick data, values[0] is oldest closing price
period: 14,
};
const results_rsi = RSI.calculate(inputData);
我得到一个包含一堆元素的结果,如果我将result_rsi
的最后一个元素与 Binance进行比较,RSI 14 (1m)
我会得到非常准确的结果。另外,我在其中一个git 问题中读到,提供更多历史数据会更好。
现在,到目前为止一切都很好......或者至少我是这么认为的 :) 但是,RSI 和 ROC 结果都非常准确。
问题是,当我应用相同的逻辑但使用不同的参数时,可以这样说:
let inputData = {
values: data, // 100(or even 200 and 500) candlesticks, 1h candlestick data, values[0] is oldest closing price
period: 30,
};
const results_rsi = RSI.calculate(inputData);
const results_roc = ROC.calculate(inputData);
results_rsi
我检查了and的最后一个元素results_roc
(我认为这是实际结果,但可能不是?),我仍然得到很好的结果RSI
,但是因为ROC
我得到了非常错误的结果。这让我觉得我是否正确使用了这个库,而且我不太确定RSI
结果是否正确,因为我没有尝试使用许多不同的参数/数据。
所以,问题:
(来自文档):
var data =
[11045.27,11167.32,11008.61,11151.83,10926.77,10868.12,10520.32,10380.43,10785.14,10748.26,10896.91,10782.95,10620.16,10625.83,10510.95,10444.37,10068.01,10193.39,10066.57,10043.75];
var period = 12;
var expectResult = [-3.85,-4.85,-4.52,-6.34,-7.86,-6.21,-4.31,-3.24];
ROC.calculate({period : period, values : data});
- ROC这里的实际结果是什么?因为数组被返回。
- 输入值应该如何排序?(应该是什么
values[0]
)? - 我哪里错了?:D