在 老师好 想在开仓后 在开仓的这一根k线的最高点 最低点 立马形成止损单 谢谢老师
那不行的。图表模型必须有开有平,需要这样一个闭环的逻辑才行。
无法手工开仓,然后实现这种半自动的止盈止损的。你这个必须开平都在图表上操作才行。
图表程序化 只写平仓的是不行的。要么纯自动化,要么纯手工,半自动是不行的。只有平仓的代码,图表上是出不了信号的。
MA150:Ma(C,150);
input:SS(1,1,100,1),M(12,1,100,10),LL(-6,-40,-1,4),LH(6,1,40,4);
BIAS :=(CLOSE-MA(CLOSE,M))/MA(CLOSE,M)*100;
手数:=SS;
//交易条件
开多平空条件:=CROSS(LL,BIAS*100);//开多平空条件
开空平多条件:=CROSS(BIAS*100,LH);//开空平多条件
手数:=SS;
KD:= CROSS (LL,BIAS*100); //开多条件
PD:= CROSS (BIAS*100,LH);//平多条件
KK:= CROSS (BIAS*100,LH);//开空条件
PK:= CROSS (LL,BIAS*100); //平空条件
Dir:=MA150>REF(MA150,1);
平空:SELLSHORT(PK,1,THISCLOSE); //平空信号
开多:BUY(Dir>0 and KD AND HOLDING=0,1,THISCLOSE); //开多信号
平多:SELL(PD,1,THISCLOSE); //平多信号
开空:BUYSHORT(Dir=0 and KK AND HOLDING=0,1,THISCLOSE); //开空信号
持仓:holding,linethick0;
资产:asset,noaxis;
可用现金:cash(0),linethick0;
老师 在这个程序中 加入 自动止损是最高价和最低价 就是开仓的这根k线 走完后 开仓 然后 直接挂止损
平空:SELLSHORT(PK,1,THISCLOSE); //平空信号
DTZS:VALUEWHEN(Dir>0 and KD AND HOLDING=0,L);
开多:BUY(Dir>0 and KD AND HOLDING=0,1,THISCLOSE); //开多信号
平多:SELL(PD,1,THISCLOSE); //平多信号
KTZS:VALUEWHEN(Dir=0 and KK AND HOLDING=0,H);
开空:BUYSHORT(Dir=0 and KK AND HOLDING=0,1,THISCLOSE); //开空信号
IF Holding>0 and c<DTZS then sell(1,holding,market);//多头止损,最新价小于开仓K的最低价
IF Holding<0 and c>KTZS then sellshort(1,holding,market);//空头止损,最新价大于开仓K的最高价
走完K开仓不是在代码里面设置,你自己选走完K的程序化交易模式即可。