请问:
以日线收盘价是否站上20日均线为多空条件,然后在日内周期(比如15分钟)上设置程序化交易,如何编程?
需要引用
日线收盘价:callstock(stklabel,vtclose,6);
日线20均线:stkindi('','ma.ma1(20)',0,6);
老师:请您帮我修改以下交易系统,十分感谢!
INPUT:SS(1,1,100,1),X(),Y();
手数:=SS;
DKX:=stkindi('','EMA.EMA1(22)',0,4);
CXQEMA:EMA(C,22);
S:CXQEMA*(1000+X)/1000;
B:CXQEMA*(1000-Y)/1000;
DIFF :=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA := EMA(DIFF,9);
MACD := 2*(DIFF-DEA) ;
D:=H>DKX AND H<CXQEMA AND REF(MACD,2)<REF(MACD,1) AND REF(MACD,1)<0;
K:=L<DKX AND L>CXQEMA AND REF(MACD,2)>REF(MACD,1) AND REF(MACD,1)>0; ;
//交易条件:
平空条件1:=L<=B and holding<0 ;
平空条件2:=TIME=145500 and holding<0;
开多条件:=D and holding<=0;
平多条件1:=H>=S and holding>0;
平多条件2:=TIME=145500 and holding>0;
开空条件:=K and holding>=0;
//交易系统:
平空:sellshort(平空条件1 and holding<0,手数,limitr,B);
赢空:sellshort(平空条件2 and holding<0,手数,limitr,C);
开多:buy(开多条件 and holding<=0,手数,limitr,B);
平多:sell(平多条件1 and holding>0,手数,limitr,S);
赢多:sell(平多条件2 and holding>0,手数,limitr,C);
开空:buyshort(开空条件 and holding>=0,手数,limitr,S);
我就是要这个编写,能够实现自动的程序化交易。我想按照30分钟的均线情况,决定在5分钟上的买卖。
我发给您的这个编写,测试结果是没有交易,在图表上也没有买卖信号,不知道是哪里写错
平空:sellshort(平空条件1 and holding<0,手数,limitr,B),IGNORECHECKPRICE;
赢空:sellshort(平空条件2 and holding<0,手数,limitr,C);
开多:buy(开多条件 and holding<=0,手数,limitr,B),IGNORECHECKPRICE;
平多:sell(平多条件1 and holding>0,手数,limitr,S),IGNORECHECKPRICE;
赢多:sell(平多条件2 and holding>0,手数,limitr,C);
开空:buyshort(开空条件 and holding>=0,手数,limitr,S),IGNORECHECKPRICE;
你的下单价格不能成交,导致出现了表示不能成交信号的白色箭头,加了忽视价格的函数就有信号了
我按照您修改的,图表上还是没有信号呀,没有成交哩。