实盘代码中,使用了 if api.is_changing(klines.iloc[–1],“datetime”),来判断最新一根K线是否生成,如果为true,在往下写if的话,此刻取到的K线close,是否就是open,包括high和low都是一个价。因为这跟K线才生成了第一个tick,所以,要判断均线金叉,就要用前面已经刚走完的K线,不能用这根刚开始的K线close。
双均线策略代码是否应该如下:
if ma(klines.close , long).iloc[-3] < ma(klines.close , short).iloc[-3] and ma(klines.close , long).iloc[-3] > ma(klines.close , short).iloc[-3:
开仓
实盘代码这样写,我在回测的时候就会遇到困难了,回测时默认新K线生成时,这根K线的高开低收就全部出来了。
那么,我要使用以上逻辑先用在回测时,要如何改变呢?
谢谢。