关于代码逻辑执行问题 (文华财经WH8赢智V8.2)

投资者咨询:关于代码逻辑执行问题 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-8-29 9:51
写了一个简单的策略,发现,最后一行代码没有执行过,我看也是存在满足条件的。

 

MA5:MA(C,5);//定义5周期均线
MA10:MA(C,10);//定义10周期均线
MA20:MA(C,20);//定义20周期均线
MA40:MA(C,40);//定义40周期均线
MA60:MA(C,60);//定义60周期均线

 

CON:=IF(MA5>MA10 && MA10>MA20 && MA20>MA40 && MA40>MA60 && ISUP && C >=MA5,1,NULL);
CON=1,BPK;

//------下面代码没执行过------------------------------

COM:=IF(CON=1 && CROSSDOWN(C,MA20) && ISDOWN,1,NULL);

技术人员回复
日期:2018-8-29 10:21
 因为没有k线满足COM中IF条件的

CON=1 && CROSSDOWN(C,MA20)  这2条件是冲突的,CROSSDOWN(C,MA20) 中C一定小于MA20

但CON1中C>MA5 MA5>MA20,不可能同时成立的

这是您思路问题,请您自行核实下
投资者咨询:关于代码逻辑执行问题 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-8-29 9:51
 我理解了,这个CON=1 实际代表的是 开仓的时候的条件情况,我想的逻辑是,在CON=1的前提下,捕捉到CROSSDOWN(C,MA20),请问这样如何写代码?
技术人员回复
日期:2018-8-29 11:33
 这么试试

COM:=IF(REF(CON,1) && CROSSDOWN(C,MA20) && ISDOWN,1,NULL);