老师,请问这种编写思路如何实现? (文华财经WH8赢智V8.2)

投资者咨询:老师,请问这种编写思路如何实现? (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-7-2 9:55
 ①判断市场多头空头,通过均线金叉死叉;②再判断macd是否交叉值大于0;③前两条符合,再判断①和②是否在均线交叉后7根内
如果一般写,大概会写成这样(以多头信号为例)
DIFF:=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:=EMA(DIFF,9);
MACD:=2*(DIFF-DEA),COLORSTICK;
MA1:MA(C,10);
MA2:MA(C,30);
M:=BARSLAST(CROSSUP(MA1,MA2))+1;
TJ:=M>=2&&MACD>0&&M<=7&&MA10>MA20;

但这样判断会导致信号与我手动操作时出现时点有差异,我想修改成一环扣一环的判断,比如说其他语言中的if...elif..elif...这样的循环判断条件,请问麦语言中有办法实现吗?有的话应该如何实现?
5f39ae17-8c62-4a45-bc43-b32064c9388a:W3siYmxvY2tJZCI6IjcwOTEtMTUzMDE4Nzk3MjU2NCIsImJsb2NrVHlwZSI6InBhcmFncmFwaCIsInN0eWxlcyI6eyJhbGlnbiI6ImxlZnQiLCJpbmRlbnQiOjAsInRleHQtaW5kZW50IjowLCJsaW5lLWhlaWdodCI6MS43NX0sInR5cGUiOiJwYXJhZ3JhcGgiLCJyaWNoVGV4dCI6eyJkYXRhIjpbeyJjaGFyIjoiVCJ9LHsiY2hhciI6IkoifSx7ImNoYXIiOiI6In0seyJjaGFyIjoiPSJ9LHsiY2hhciI6IkIifSx7ImNoYXIiOiJLIn0seyJjaGFyIjoiViJ9LHsiY2hhciI6Ik8ifSx7ImNoYXIiOiJMIn0seyJjaGFyIjoiPCJ9LHsiY2hhciI6Ij0ifSx7ImNoYXIiOiIyIn0seyJjaGFyIjoiJiJ9LHsiY2hhciI6IiYifSx7ImNoYXIiOiJDIn0seyJjaGFyIjoiLSJ9LHsiY2hhciI6Ik0ifSx7ImNoYXIiOiJBIn0seyJjaGFyIjoiMiJ9LHsiY2hhciI6IjAifSx7ImNoYXIiOiI8In0seyJjaGFyIjoiMiJ9LHsiY2hhciI6IjAifSx7ImNoYXIiOiIqIn0seyJjaGFyIjoiTSJ9LHsiY2hhciI6IkkifSx7ImNoYXIiOiJOIn0seyJjaGFyIjoiUCJ9LHsiY2hhciI6IlIifSx7ImNoYXIiOiJJIn0seyJjaGFyIjoiQyJ9LHsiY2hhciI6IkUifSx7ImNoYXIiOiImIn0seyJjaGFyIjoiJiJ9LHsiY2hhciI6Ik4ifSx7ImNoYXIiOiI8In0seyJjaGFyIjoiMSJ9LHsiY2hhciI6IjQifSx7ImNoYXIiOiImIn0seyJjaGFyIjoiJiJ9LHsiY2hhciI6Ik0ifSx7ImNoYXIiOiJBIn0seyJjaGFyIjoiQyJ9LHsiY2hhciI6IkQifSx7ImNoYXIiOiI+In0seyJjaGFyIjoiMCJ9LHsiY2hhciI6IiYifSx7ImNoYXIiOiImIn0seyJjaGFyIjoiTSJ9LHsiY2hhciI6Ij4ifSx7ImNoYXIiOiI9In0seyJjaGFyIjoiMyJ9LHsiY2hhciI6IiYifSx7ImNoYXIiOiImIn0seyJjaGFyIjoiTSJ9LHsiY2hhciI6IjwifSx7ImNoYXIiOiI9In0seyJjaGFyIjoiNyJ9LHsiY2hhciI6IiYifSx7ImNoYXIiOiImIn0seyJjaGFyIjoiTSJ9LHsiY2hhciI6IkEifSx7ImNoYXIiOiIxIn0seyJjaGFyIjoiMCJ9LHsiY2hhciI6Ij4ifSx7ImNoYXIiOiJNIn0seyJjaGFyIjoiQSJ9LHsiY2hhciI6IjIifSx7ImNoYXIiOiIwIn0seyJjaGFyIjoiOyJ9XSwiaXNSaWNoVGV4dCI6dHJ1ZSwia2VlcExpbmVCcmVhayI6dHJ1ZX19XQ== 
技术人员回复
日期:2018-7-2 10:13

1楼的编写就可以实现多个条件同时满足判断成立的思路

 

因为盘中满足条件就会判断成立的,TJ立即返回值为1

 

核实一下“会导致信号与我手动操作时出现时点有差异” 是指什么呢?

投资者咨询:老师,请问这种编写思路如何实现? (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-7-2 9:55
 我回测时候,回测15分钟周期螺纹主连,发现14年-18年6月,信号只有七十余个,实际上我以前手动操作时,平均每天2个信号左右。这差异太大了,我认为是多个条件没有实现一层层判断,杂糅在一起导致的信号有问题?
技术人员回复
日期:2018-7-2 10:32

 不是的,信号是严格按照您编写执行的

 

如果盘中同时满足了以上多个条件就会执行的

 

此外,如果您是一开一平过滤模型,开仓后到未平仓前的开仓信号都会被过滤掉

 

所以信号也会较少,您了解一下

投资者咨询:老师,请问这种编写思路如何实现? (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-7-2 9:55
 实际上我并不是用的一开一平过滤模型,我用的是加减仓模型,信号还是那么少。
技术人员回复
日期:2018-7-2 10:38

 如果您还有疑问,可以具体截图一下您觉得符合而TJ返回值为0的位置

 

我们帮您分析一下

投资者咨询:老师,请问这种编写思路如何实现? (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-7-2 9:55
 好的,我举例说下。
 
投资者咨询:老师,请问这种编写思路如何实现? (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-7-2 9:55
 

请老师查看
   
技术人员回复
日期:2018-7-2 13:14

这里与您的编写有关

 

 

源码中只有首次开仓部分没有加仓部分的编写

 

所以在最后一个开仓信号后一路上涨不满足止损条件就没有平仓的

 

如果需要BK重复加仓参考这样的方式:

DIFF:=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:=EMA(DIFF,9);
MACD:=2*(DIFF-DEA),COLORSTICK;
MA7:EMA(C,7);
MA20:EMA(C,20);
N:=BARSLAST(CROSSUP(MACD,0))+1;//MACD信号交叉
BUY:=BARSLAST(CROSS(MA7,MA20))+1;//多头信号


Q:=BARSLAST(CROSS(BKVOL,0.5))+1;
Q1:=BARSLAST(CROSS(SKVOL,0.5))+1;


TJ:=N<14&&MACD>0&&BUY>=2&&BUY<=8&&MA7>MA20;
REF(TJ,1)&&ABS(C-O)<=3*MINPRICE,BK(1),ICON(0,'ICO8');//收盘价模型多信号开仓
C<=BKPRICE-30*MINPRICE&&BKVOL=1,SP(1);
TRADE_AGAIN(100);

投资者咨询:老师,请问这种编写思路如何实现? (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-7-2 9:55
 老师,实际上是有加仓信号的,我没添加上。您请看,加上这些就完整了。但还是那里没有信号,为之奈何?

 另,回帖请不要添加上我的全部源码,谢谢老师~