多数据源发单问题

老师,我在多图层碰到一个暂时理解不了逻辑的发单问题:

1.我的init是这样引用多数据源的

SubscribeBar(MainSymbol(), "15m", DateAdd(CurrentDate(), -60), 0, Enum_Data_RolloverBackWard()); // 15分钟

data[1].hideKline();

SubscribeBar(MainSymbol(), "1h", DateAdd(CurrentDate(), -90), 0, Enum_Data_RolloverBackWard()); // 60分钟

data[2].hideKline();


2.我的发单逻辑是:

If (data[0].MarketPosition()<>1  and 其他条件) {

   Buy(1, Close);

}


3.然后我去查看结果(在发单逻辑里面的其他条件明显不成立的情况下):

Print("data[0].MarketPosition="+Text(data[0].MarketPosition())); // 这里显示0

Print("data[1].MarketPosition="+Text(data[1].MarketPosition())); // 这里显示1

Print("data[2].MarketPosition="+Text(data[2].MarketPosition())); // 这里也显示1


请问老师,这个我怎么理解业务逻辑?



多图层的发单问题
多周期不发单
无信号发单问题
如何解决重复发单问题
多数据源onbaropen问题
多数据源问题
A函数发单问题
BUY发单问题
A函数发单机制问题
多数据源问题

你是不是外面包range了

发代码就不要只发一部分,要发就发全文

如果担心隐私,那就删减代码,写一个能复现问题的完整demo,去掉隐私敏感部分