布林带,为什么用TA.BOLL得到的布林带数据和看K线的布林带数据差这么多,求教

Author: fookootoo, Created: 2021-02-25 19:47:20, Updated:

获取布林数据代码 def get_boll(self, period = PERIOD_M1 ,variance = 2): self.upLine = ‘—’ self.midLine = ‘—’ self.downLine = ‘—’ r = exchange.GetRecords(period) if r and len® > 20: boll = TA.BOLL(r, 20, 2) self.upLine = boll[0] self.midLine = boll[1] self.downLine = boll[2]

log打出来2021-2-23 19:10的布林上中下轨第 -1 ,-2 ,-3 个的值为: img 比如2021-2-23 19:10的布林带上轨值为48995 但是回测看K线,一分钟BB(20,2)的上轨值为48457 img 两个值错了500多。我对了下火币的K线,这个时候1分钟K线BB(20,2)的上轨值也为48457左右。 我知道应该是我使用问题,但是问题在哪儿啊,求助。


More

fookootoo 知道问题了,在refresh data的时候,传的参数是5分钟的PERIOD_M5 参数,导致log打出来的是5分钟的布林带。低级错误。。。

zhengow k线上是19:10:59即该一分钟最后的值,19:10:37并不是最终值

小草 boll[boll.length-1] 是最新的一根,并不是日志上打印的时间

fookootoo 穿错参数了,传成5分钟的了,sorry

fookootoo 嗯,37秒的时候不是最终值,是对的,但是即使不是最终值错了500多怎么解释。-2 的那个值应该是19:09的吧(-2的是最终值吧)函数 TA.BOLL得到的值是49025, /upload/asset/1a75d6236b9d922c9d4c1.png 但是从k线上看布林带值明显也就是48449左右,也错了49025-48449=576多怎么回事,很是迷惑 /upload/asset/1a6a82c1ecc3ceacc8d42.png

fookootoo 我取完boll[boll.length-1],立即log,这个时间不是当前bar的吗,最新的不就是回测那个时间的当前时间吗,即使不是当前的,-1,-2,-3都很平滑的,也都不会和K线上的值错500多啊。