思路中含有止盈、止损等需要用到信号记录函数,
wh6是看盘软件,不支持这类程序化思路的函数,
需要在专业的程序化软件wh8中实现,给您改成适用wh8软件的公式?
不同软件函数机制处理不同,效果可能略有差异,改写参考:
//开仓资金:=30000;//单次开仓资金
//保证金比率:=0.1;
//定义参数
/*LENGTH:=200;
损幅:=3;//止损幅度,百分之
STARTPER1:=5; //1级跟踪止盈,盈利5%启动
STOPPER1:=100; //1级跟踪止盈,盈利回撤100%触发
STARTPER2:=10; //2级跟踪止盈,盈利10%启动
STOPPER2:=50; //2级跟踪止盈,盈利回撤50%触发
STARTPER3:=20; //3级跟踪止盈,盈利20%启动
STOPPER3:=20; //3级跟踪止盈,盈利回撤20%触发 */
//上下区间
手数:=INTPART(30000/(O*UNIT*MARGIN));
NN:=BARSLAST(DATE<>REF(DATE,1))+1;//今天开盘到目前为止的周期数
今开:=VALUEWHEN(NN=1,O);//当天的开盘价
今高:=HHV(H,NN);//今天全天的最高价
今低:=LLV(L,NN);//今天全天的最低价
昨高:=REF(今高,NN);//昨天全天的最高价
昨低:=REF(今低,NN);//昨天全天的最低价
BAND:=昨高-昨低;
UPPERLINE:=今开+BAND;
LOWERLINE:=今开-BAND;
//均线
均线:=MA(CLOSE,200);
//开平仓条件
C<LOWERLINE AND LOWERLINE<均线,SK(手数);
C>UPPERLINE AND UPPERLINE>均线,BK(手数);
C>UPPERLINE OR C>均线,BP(SKVOL);
C<LOWERLINE OR C<均线,SP(BKVOL);
HH1:=HHV(H,BARSBK+1);
LL2:=LLV(L,BARSSK+1);
//止损
BKVOL>0&&BARSBK>0&&L<BKPRICE*0.97,SP(BKVOL);
SKVOL>0&&BARSSK>0&&H>=SKPRICE*1.03,BP(SKVOL);
//止盈
//最大盈利达到"STARTPER1"%之后盈利回撤"STOPPER1"%,平空
SKVOL>0&&BARSSK>=1&&LL2<=SKPRICE*0.95&&H>LL2*(SKPRICE-LL2),BP(SKVOL);
//最大盈利达到"STARTPER1"%之后盈利回撤"STOPPER1"%,平多
BKVOL>0&&BARSBK>=1&&HH1>BKPRICE*1.05&&L<HH1*(HH1-BKPRICE),SP(BKVOL);
//最大盈利达到"STARTPER2"%之后盈利回撤"STOPPER2"%,平空
SKVOL>0&&BARSSK>=1&&LL2<=SKPRICE*0.9&&H>LL2*(SKPRICE-LL2)*0.5,BP(SKVOL);
//最大盈利达到"STARTPER2"%之后盈利回撤"STOPPER2"%,平多
BKVOL>0&&BARSBK>=1&&HH1>BKPRICE*1.1&&L<HH1*(HH1-BKPRICE)*0.5,SP(BKVOL);
//最大盈利达到"STARTPER3"%之后盈利回撤"STOPPER3"%,平空
SKVOL>0&&BARSSK>=1&&LL2<=SKPRICE*0.8&&H>LL2*(SKPRICE-LL2)*0.2,BP(SKVOL);
//最大盈利达到"STARTPER3"%之后盈利回撤"STOPPER3"%,平多
BKVOL>0&&BARSBK>=1&&HH1>BKPRICE*1.2&&L<HH1*(HH1-BKPRICE)*0.2,SP(BKVOL);
保证金比例在编写平台,点参数设置按钮如图设置
