买卖前, if 两个判断条件,顺序改变,回测结果差别比较大,到底什么原因?


If(MarketPosition<>1 And High>=highline And

Time>=0.0001*tradBegin And Time<=0.0001*tradEnd //时间限制

And  Close[1] > AverageD(1,20)     // 日线

)

{

Buy(lots,Max(Open,highline + minMovePrice));

}

If(MarketPosition<>1

And  Close[1] > AverageD(1,20)     // 日线

Time>=0.0001*tradBegin And Time<=0.0001*tradEnd //时间限制

And High>=highline

)

{

Buy(lots,Max(Open,highline + minMovePrice));

}


这两个判断条件,顺序改变,回测结果差别比较大,到底什么原因?

if条件里,有分钟级别条件,也有日线条件, 顺序如何排,效果好?

  条件判断次数少的,放在前面,还是多的放在前面?

  或者有什么通用规则

tbq回测结果与tbq3对比
怎么没有回测结果呢?
问题反馈/求助:多个条件判断的连续且运算的结果不同
OnBar与OnBarOpen两个事件的执行顺序是什么?
不同波动性品种滑点1元/手、1跳/每手对计算结果影响较大,该如何选择?
请问Close[1]与Close有何区别?为何买卖结果相差甚远?
回测能否实现指数判断信号,主力下单
判断结果返回问题
按脉冲次数取前10名进行回测
智大领峰软件升级条件单界面改变问题

https://www.bilibili.com/video/BV1BV411A7eo/?spm_id_from=333.999.0.0&vd_source=148cb1d807933f47bb50c46ed69d3c82

data-href=

 

bool buy_ma_gl;

buy_ma_gl = Close[1] > AverageD(1,20)    // 日线20日

   and Close[1]>ma  

       

buy_ma_gl =    Close[1]>ma    

   and Close[1] > AverageD(1,20)    // 日线20日    

写成变量,条件顺序 改变,回测结果也不一样,不知为什么?

你这个应该会提醒警告的吧,

averaged是序列对象,是不能这样放在分支结构或者多列bool条件里的