关于CROSSOVER在跨周期应用时的疑问

请问,跨周期策略,DATA0是1分钟,DATA1是1秒,以下写法,是否会出现信号消失的情况?


range[0:0]

{

upband = High > A[1]; //A为指标值,向前回溯一根

Buycond = CrossOver(High,B[1]); //B为指标值,向前回溯一根

}


range[1:1]

{

upband=data[0].upband;

Buycond = data[0].Buycond;

if (upband and Buycond)

{

status=1;

D=A1-100;

}

if(status==1 and low<= D)

{

buy(1,D);

}

}

请教:

1、上述写法,是把信号写在DATA[1]这个小周期上,但指标计算都在DATA[0]这个大周期上,因此DATA[1]的买入条件直接调用DATA[0]大周期的指标,但 low<= D这里的low仍然是小周期即DATA[1]这个图层的,请问这样写行吗?会不会出现DATA[0]和DATA[1]由于TICK数据不完全同步,造成信号消失的问题?

2、如果上述这种写法有问题,应该如何改呢?特别是CrossOver这个函数,因为它要同时用到当下BAR和往前一根BAR的价格数据,因此不能直接在DATA[1]这个小周期图层上直接写Buycond = CrossOver(High,B[1]);因为DATA[1]回溯一根的最高价即High[1]并非DATA[0]回溯一根的最高价,计算起来会失真。

因为策略出现了疑似信号消失的情况,实盘和回测偶尔不一致(比如回测模式下有图表信号但实盘模式下没有图表信号且不报单),排查到这里有疑问。谢谢




关于跨周期的问题
关于跨周期的问题
quant3关于跨周期引用的问题
关于跨周期报错的问题
TB跨周期MA的问题
关于setbaseperiod的几个疑问
跨周期指标应用方法
关于跨周期未来数据如何避免,已经翻过很多贴子,还是有疑问
请教跨周期订阅中的周期设置问题
请教TB跨周期问题

当期变量你不能保证不变的情况,就必须回溯一个周期

你的问题感觉绕进去了,没有那么复杂。

可以通过保证CrossOver的结果不变,也可以通过保证CrossOver里面的两个参数不变(或者不可逆)来实现

简单的问,想要哪两个交叉,更简单

跨周期我都是建议是小周期在上,大周期在下,不要打乱顺序