老师,你好,图表策略,第一个策略没有盈利不卖,想转换为第二个策略开仓,如果第二个策略没有盈利,想转换为第三个策略开仓,请老师帮忙尽快写一下。没有盈利不卖转换为第二个策略开仓,
第一个策略:
MA1:=MA(CLOSE,5);
MA2:=MA(CLOSE,20);
手数:=ss;
//交易条件
开多平空条件:=CROSS(MA1,MA2);//开多平空条件
开空平多条件:=CROSS(MA2,MA1);//开空平多条件
//交易系统
平空:SELLSHORT(开多平空条件,手数,MARKET);
平多:SELL(开空平多条件,手数,MARKET);
开多:BUY(开多平空条件,手数,MARKET);
开空:BUYSHORT(开空平多条件,手数,MARKET);
第二个策略:
DIFF :=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA :=EMA(DIFF,9);
MACD :=2*(DIFF-DEA);
手数:=ss;
//交易条件
开多平空条件:=CROSS(MACD,0);//开多平空条件
开空平多条件:=CROSS(0,MACD);//开空平多条件
//交易系统
平空:SELLSHORT(开多平空条件,手数,MARKET);
平多:SELL(开空平多条件,手数,MARKET);
开多:BUY(开多平空条件,手数,MARKET);
开空:BUYSHORT(开空平多条件,手数,MARKET);
第三个策略:
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:=SMA(RSV,P1,1);
D:=SMA(K,P2,1);
J:=3*K-2*D;
手数:=SS;
//交易条件
开多平空条件:=CROSS(K,D);//开多平空条件
开空平多条件:=CROSS(D,K);//开空平多条件
//交易系统
平空:SELLSHORT(开多平空条件,手数,MARKET);
平多:SELL(开空平多条件,手数,MARKET);
开多:BUY(开多平空条件,手数,MARKET);
开空:BUYSHORT(开空平多条件,手数,MARKET);
请老师帮忙改一下策略或写一个转换开关语言。
INPUT:ss(1,1,100,1);
input:a1(5,0,40,1),a2(6,1,100,1),a3(12,1,200,1),a4(5,1,200,1),P(4,1,2000,1),W(2000,1,2000,1);
Var1:=(C+L+H)/3;
Var2:=EMA(Var1,a1);
Var3:=EMA(Var2,a2);
Var4:=eMA(Var3,a3);
Var5:=eMA(Var4,a4);
生命线:=eMA(Var3,2),COLORRED,POINTDOT;
手数:=ss;
//交易条件:
sellcond:=(C+5)<生命线;
buycond:=(C-5)>生命线;
//交易系统
if buycond then
begin
1平空: sellshort(holding<0 and OPENPROFIT>10,HOLDING,MARKETR,(H+L)/2)IGNORECHECKPRICE;
1开多: buy(holding=0,ss,LIMITR,(H+L)/2)IGNORECHECKPRICE;
end
if sellcond then
begin
1平多: sell(holding>0 and OPENPROFIT>10 ,HOLDING,MARKETR,(H+L)/2)IGNORECHECKPRICE;
1开空: buyshort(holding=0,ss,LIMITR,(H+L)/2)IGNORECHECKPRICE;
end
//第二个策略
//中间变量
MA1:=MA(CLOSE,5);
MA2:=MA(CLOSE,20);
//交易条件
开多平空条件1:=CROSS(MA1,MA2);//开多平空条件
开空平多条件1:=CROSS(MA2,MA1);//开空平多条件
//交易系统
2平空:SELLSHORT(开多平空条件1 and HOLDING<0 and OPENPROFIT>100,HOLDING,MARKET);
2平多:SELL(开空平多条件1 and HOLDING>0 and OPENPROFIT>100,HOLDING,MARKET);
2开多:BUY(开多平空条件1 ,手数,MARKET);
2开空:BUYSHORT(开空平多条件1,手数,MARKET);
//第三策略
//没有盈利不卖
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;
//交易条件
开多平空条件2:=CROSS(K,D);//开多平空条件
开空平多条件2:=CROSS(D,K);//开空平多条件
//交易系统
3平空:SELLSHORT(开多平空条件2 and OPENPROFIT>100,HOLDING,MARKET);
3平多:SELL(开空平多条件2 and OPENPROFIT>100 ,HOLDING,MARKET);
3开多:BUY(开多平空条件2 and HOLDING=0,手数,MARKET);
3开空:BUYSHORT(开空平多条件2 and HOLDING=0 ,手数,MARKET);
老师,你好,这三个策略不能同时开仓,只能是第一个策略开仓后没有盈利,不平仓,转换为第二个策略才开仓,第二个策略没有盈利,不平仓,转换为第三个策略才开仓,第三个策略没有盈利,不平仓,转换为第一策略或第二策略开仓。
有人在吗
1、总仓位有盈利,平仓,任意一个策略出平仓信号就平仓。
2、不管哪个策略有盈利,各平各的仓。
三个策略是,第一个策略没有盈利不卖,转为第二个策略,有盈利,就卖,没有盈利就不卖,转为第三个策略,第三个策略有盈利,就卖,没有盈利就不卖,转为第一个策略;第三策略不能同时开仓,必须是前一个策略没有盈利,第二个策略才开仓,