请老师帮助编写;我是5分钟周期模型,
卖开仓以来的最低价始终大于mm4,当15分钟周期KDJ和30分钟周期KDJ,只要两个指标中的一个出现卖开仓以来的第一个金叉(如果第一个出现的是死叉则忽略不计,只要第一个金叉信号)平空开多。
买开仓以来的最高价始终小于mm4,当15分钟周期KDJ和30分钟周期KDJ,只要两个指标中的一个出现买开仓以来的第一个死叉(如果第一个出现的是金叉则忽略不计,只要第一个死叉信号)平多开空。
谢谢
在系统自带的KDJ公式里面加入下面两句代码:
JC:CROSS(K,D);
SC:CROSS(D,K);
具体的操作公式这样写:
JC15:=STKINDI('','KDJ.JC',0,3);
SC15:=STKINDI('','KDJ.SC',0,3);
JC30:=STKINDI('','KDJ.JC',0,4);
SC30:=STKINDI('','KDJ.SC',0,4);
IF HOLDING<0 AND ALL(LOW>MM4,ENTERBARS+1) AND (JC15 OR JC30) THEN BEGIN
SELLSHORT(1,0,MARKET);
BUY(HOLDING=0,1,MARKET);
END
IF HOLDING>0 AND ALL(HIGH<MM4,ENTERBARS+1) AND (SC15 OR SC30) THEN BEGIN
SELL(1,0,MARKET);
BUYSHORT(HOLDING=0,1,MARKET);
END
老师您好;您在昨天为我编写的这两句程序,和我的要求不一致,有很多该出信号的地方不出信号,请老师看看是什么问题?
我昨天发的;
(我是5分钟周期模型,
卖开仓以来的最低价始终大于mm4,当15分钟周期KDJ和30分钟周期KDJ,只要两个指标中的一个出现卖开仓以来的第一个金叉(如果第一个出现的是死叉则忽略不计,只要第一个金叉信号)平空开多。
买开仓以来的最高价始终小于mm4,当15分钟周期KDJ和30分钟周期KDJ,只要两个指标中的一个出现买开仓以来的第一个死叉(如果第一个出现的是金叉则忽略不计,只要第一个死叉信号)平多开空。)
老师帮助编写的;
在系统自带的KDJ公式里面加入下面两句代码:
JC:CROSS(K,D);
SC:CROSS(D,K);
具体的操作公式这样写:
JC15:=STKINDI('','KDJ.JC',0,3);
SC15:=STKINDI('','KDJ.SC',0,3);
JC30:=STKINDI('','KDJ.JC',0,4);
SC30:=STKINDI('','KDJ.SC',0,4);
IF HOLDING<0 AND ALL(LOW>MM4,ENTERBARS+1) AND (JC15 OR JC30) THEN BEGIN
SELLSHORT(1,0,MARKET);
BUY(HOLDING=0,1,MARKET);
END
IF HOLDING>0 AND ALL(HIGH<MM4,ENTERBARS+1) AND (SC15 OR SC30) THEN BEGIN
SELL(1,0,MARKET);
BUYSHORT(HOLDING=0,1,MARKET);
END
老师可以编一个开仓信号测试一下看看,给老师添麻烦了,谢谢!
老师在吗?
你没有把自己的开仓加进去吗?
mm4:stkindi('','boll.mid',0,5,2),LINETHICK2,COLORYELLOW;
ss4:stkindi('','boll.upper',0,5,2),LINETHICK1,COLORGREEN;
xx4:stkindi('','boll.lower',0,5,2),LINETHICK1,COLORGREEN;
RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
K:=SMA(RSV,3,1);
D:=SMA(K,3,1);
J:=3*K-2*D;
JC:CROSS(K,D);
SC:CROSS(D,K);
JC15:=STKINDI('','KDJ.JC',0,3);
SC15:=STKINDI('','KDJ.SC',0,3);
JC30:=STKINDI('','KDJ.JC',0,4);
SC30:=STKINDI('','KDJ.SC',0,4);
n:=10;
sc:=cross(k,j);
jc:=cross(j,k);
n1:=barslast(h>ss4)+1;
n2:=barslast(l<xx4)+1;
if n1<=n and sc and c>mm4 then begin
平多a:sell(holding>0,holding,market);
开空a:buyshort(holding=0,1,market);
end
if n2<=n and jc and c<mm4 then begin
平空a:sellshort(holding<0,holding,market);
开多a:buy(holding=0,1,market);
end
IF HOLDING<0 AND ALL(LOW>MM4,ENTERBARS+1) AND (JC15 OR JC30) THEN BEGIN
平空b:SELLSHORT(1,0,MARKET);
开多b: BUY(HOLDING=0,1,MARKET);
END
IF HOLDING>0 AND ALL(HIGH<MM4,ENTERBARS+1) AND (SC15 OR SC30) THEN BEGIN
平多b: SELL(1,0,MARKET);
开空b: BUYSHORT(HOLDING=0,1,MARKET);
END
//止损
if l-enterprice>=5 then
多损:sell(holding>0,holding,market);
if enterprice-h>=5 then
空损:sellshort(holding<0,holding,market);