INPUT:N(30,1,500,1),ss(1,1,100,1);//N是开仓条件里的点数设置,SS是下单手数
INPUT:M1(100,1,500,1),M2(10,1,500,1);//开仓后盈利M1个点回测M2个点止盈
INPUT:M3(100,1,500,1);
dcd1:=c>o+N*MINDIFF;//最新价/收盘价 大于开盘价N个点 多头开仓
dcd2:=all(c>o,3);//连续三个周期阳线 多头开仓
开多1:buy(dcd1 and holding=0,ss,marketr);
开多2:buy(dcd2 and holding=0,ss,marketr);
kcd1:=c<o-N*MINDIFF;
kcd2:=all(c<o,3);
开空1:buyshort(kcd1 and holding=0,ss,marketr);
开空2:buyshort(kcd2 and holding=0,ss,marketr);
//开仓后遇到反向开仓条件则止损平仓
if holding>0 and (kcd1 or kcd2) then 多平仓1:sell(holding>0,holding,market);
if holding<0 and (dcd1 or dcd2) then 空平仓1:sellshort(holding>0,holding,market);
//移动止损部分 最高盈利M1点 回撤M2点时候平仓
DTZY:=(HHV(H,ENTERBARS+1)-AVGENTERPRICE)>=M1*MINDIFF and (HHV(H,ENTERBARS+1)-CLOSE)>=M2*MINDIFF ;//开多以来最大盈利大于M1个点;当前从最高价点位置回落M2个点
KTZY:=(AVGENTERPRICE-LLV(L,ENTERBARS+1))>=M1*MINDIFF and (CLOSE-LLV(L,ENTERBARS+1))>=M2*MINDIFF;
多平仓2:SELL(DTZY,holding,MARKETr);
空平仓2:SELLSHORT(KTZY,holding,MARKETr);
//亏损平仓。亏损M3点直接平仓
if OPENPROFIT/MULTIPLIER<=-100*MINDIFF then
begin
多平仓3:SELL(1,holding,MARKETr);
空平仓3:SELLSHORT(1,holding,MARKETr);
end 代码没有时间周期调整,运行周期是1小时线, 目前默认的好像是日线,请调整下周期N可以做调整任何周期, 目前加载1小时上提示是公式在该周期已被禁用
主题最新回顾(发布时间:2021/3/16 11:36:10) |
---|
|