请教:帮我 加一个 ,当策略赚到 1000元时候 ,自动 强行 平仓。
input:n(1,1,100,1),nmin(10,1,100,1),K1(20,1,999,0.1),k2(130,1,999,0.1);
CYC:=barslast(date<>ref(date,1))+1;
TR1 := SUM(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(h,1))),ABS(LOW-REF(l,1))),14);
HD := HIGH-REF(HIGH,1);
LD := REF(LOW,1)-LOW;
DMP:= SUM(IF(HD>0 AND HD>LD,HD,0),14);
DMM:= SUM(IF(LD>0 AND LD>HD,LD,0),14);
PDI:= DMP*100/TR1;
MDI:= DMM*100/TR1;
ADX: =MA(ABS(MDI-PDI)/(MDI+PDI)*100,6);
ADXR:=(ADX+REF(ADX,6))/2;
上轨1:REF(HHV(H,k1),1);
下轨1:REF(LLV(L,k1),1);
上轨2:REF(HHV(H,k2),1);
下轨2:REF(LLV(L,k2),1);
PosNum:=1;
t1:=time>opentime(1) and time<143000 ;
t2:=time>=closetime(0)-nmin*100;
//交易条件 价格大于130周期高点,动向指标》..,开,价格小于20周期低点平。用dmi过滤
开多条件:=H >=上轨2 and adxr>g and holding=0;
开空条件:=L<=下轨2 and adxr>g and holding=0;
平多条件1:= L<=下轨1;
平空条件1:=h>=上轨1;
//交易系统
开多:buy(开多条件 and t1 and cyc>1 ,PosNum,LIMITR,上轨2);
开空:buyshort(开空条件 and t1 and cyc>1 ,-PosNum,LIMITR,下轨2);
平多1:sell(平多条件1 and holding=PosNum ,0,LIMITR,下轨1);
平空1:sellshort(平空条件1 and holding=-PosNum ,0,LIMITR,上轨1);
收盘平多:sell(t2 ,0,MARKET);
收盘平空:sellshort(t2 ,0,MARKET);
加一点代码就可以了。
if holding<>0 and OPENPROFIT>=1000 then
begin
sell(holding>0,holding,market);
sellshort(holding<0,holding,market);
end
老师 好,刚才 计算机 识别的是,策略 的 开仓 点。 我想 调整 下,就是 从 持仓 成本线 ,开始 计算 ,赚到 1000 元 ,强行平仓。感谢了。
“持仓 成本线 ” 这个怎么定义的。前面我写的是按照浮动盈亏算的。
老师 好,持仓成本 就是 4000点 买入 ,就从 4000点 计算. ,就穿策略 开仓 点 是 ,3800点 ,也是 安 ,实际 买入 4000 点算
感谢