就一个品种图表工作区信号与系统信号不一致

2个数据单元,一个15分钟周期,一个120分钟周期;   2小时周期,2线大于100线,15分钟周期金叉,做多,反之做空,

这样写为什么信号会和委托不一致,是信号闪烁导致的吗?这样写信号会闪烁吗? 2026年1月08日,白糖指数在13:30:01分后出现情况,图表中未出现信号,但是还是发出了委托。看图形是白糖指数在2小时线上有上下的问题,但是我这样写应该是看前一根2小时确定的吧?为什么还是会出现闪烁呢?

还请大神帮忙看下代码,代码如下:

Params

//此处添加参数

Numeric LongNum1(2);

Numeric LongNum2(100);

Numeric ShortNum1(2);

Numeric ShortNum2(15);



Vars

//此处添加变量

Series<Numeric> AvgLong1;

Series<Numeric> AvgLong2;

Series<Numeric> AvgShort1;

Series<Numeric> AvgShort2;

Bool con1(False);

Bool con2(False);

Bool con3(False);

Bool con4(False);




//Bar更新事件函数,参数indexs表示变化的数据源图层ID数组

OnBar(ArrayRef<Integer> indexs)

{


AvgLong1 = Data1.AverageFC(Data1.Close,LongNum1);

AvgLong2 = Data1.AverageFC(Data1.Close,LongNum2);

AvgShort1 = AverageFC(Close,ShortNum1);

AvgShort2 = AverageFC(Close,ShortNum2);

con1 = CrossOver(AvgShort1[1],AvgShort2[1]);

con2 = CrossUnder(AvgShort1[1],AvgShort2[1]);

con3 = CrossOver(AvgLong1[1],AvgLong2[1]);

con4 = CrossUnder(AvgLong1[1],AvgLong2[1]);



//开仓


If(MarketPosition == 0 && AvgLong1[1]>AvgLong2[1] && con1)

{

Buy(lots,Open);



}


If(MarketPosition == 0 && AvgLong1[1]<AvgLong2[1] && con2)

{

SellShort(lots,Open);


}


//平仓



if(MarketPosition > 0 && con4   && BarsSinceEntry > 0 )

{

Sell(0,Open);



}


If(MarketPosition < 0 && (con3  && BarsSinceEntry > 0)

{

BuyToCover(0,Open);


}

  }



工作区与图表信号不一致
工作区信号与图表信号不一致
图标工作区信号与系统信号不一致
图表信号与自动交易委托不一致
请问如果交易的品种比较多 ,信号执行理论上是放在一个工作区速度快还是多个工作区比较快
监控器与图表信号不一致的问题
工作区的盈亏与账户透视的盈亏不一致
K线信号与策略交易工作区不一致,什么原因?怎么解决?
下单与信号不一致
模拟交易图表信号与交易记录不一致问题

常规的情况

先用range计算完所有图层的技术指标

再进行条件判断

---------------------------------------

然后你这里处理方法,最快的就是

AvgLong1 = Data1.AverageFC(Data1.Close,LongNum1);

AvgLong2 = Data1.AverageFC(Data1.Close,LongNum2);

你里面data1.close没有回溯

AvgLong1 = Data1.AverageFC(Data1.Close[1],LongNum1);

但是我在con3和con4里面有回溯

con3 = CrossOver(AvgLong1[1],AvgLong2[1]);

con4 = CrossUnder(AvgLong1[1],AvgLong2[1]);

你的意思是,我取的是实时的Data1数据,没取到回溯的吗?

嗯

你这种写法  AvgLong1  是在data0上的。   你只是在data0上回溯的一格,data1的close大概率是没有回溯