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条件里,有分钟级别条件,也有日线条件, 顺序如何排,效果好?
条件判断次数少的,放在前面,还是多的放在前面?
或者有什么通用规则
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条件里的