def ma_case(self):
exchange.SetContractType("swap")
r = exchange.GetRecords(PERIOD_M1)
ma = TA.MA(r, 20)
Log(f'ma => {ma[-1]}, {ma[-2]}')
def atr_case(self):
exchange.SetContractType("swap")
r = exchange.GetRecords(PERIOD_M1)
atr = TA.ATR(r, 14)
Log(f'atr => {atr[-1]}, {atr[-2]}')
2023-02-28 16:20:39 信息 atr => 12.161116665558945, 12.042741024448038 2023-02-28 16:20:39 信息 ma => 23246.1, 23244.699999999997
同时间的binance的数据: ATR 14 => 17.78 MA 20 => 23247
可以看出ma的数据比较准,但是为什么atr的数据差了比较多呢?
萨达哈鲁就是在下 多试了几次ma的数据一直比较准,atr差的确实有点多。
发明者量化-小小梦 一般要首先确定对比的K线数据完全一致,然后检查指标参数是否一致,最后如果还有差异就需要检查指标算法是否一致。有些平台虽然指标名称一样,但是可能算法有差异。