以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://www.weistock.com/bbs/list.asp?boardid=4) ---- 求版主看看,这个策略真是吗?是否编写有问题 (http://www.weistock.com/bbs/dispbbs.asp?boardid=4&id=136436) |
-- 作者:zengxing -- 发布时间:2016/7/21 21:14:18 -- 求版主看看,这个策略真是吗?是否编写有问题 求版主看看,这个策略真是吗?是否编写有问题 Input : 固定手数(1,1,100,1),p(8,1,15,1),p1(25,5,30,1); //声明变量 A00:= 0 ;
VARIABLE : A01=0 ;
VARIABLE : A02=0 ;
VARIABLE : A03=0 ;
VARIABLE : A04=0 ;
VARIABLE : A05=1; VARIABLE : A06=0; VARIABLE : A07=0; VARIABLE : A08=0; VARIABLE : A09=0; VARIABLE : A10=0; VARIABLE : A11=0; VARIABLE : A12=0; VARIABLE : A13=0; VARIABLE : A14=0; VARIABLE : A15=0; VARIABLE : A16:=0; VARIABLE : A17:=0; VARIABLE : A18:=0; VARIABLE : A19:=0; VARIABLE : A20:=0; VARIABLE : A21:=0; VARIABLE : A22=0; VARIABLE : A23=0; VARIABLE : A24=0; VARIABLE : A25=0; VARIABLE : A26=0; VARIABLE : A27=0; VARIABLE : A28=0; VARIABLE : A29=0; VARIABLE : A30=0; VARIABLE : A31=0; VARIABLE : A32=0; VARIABLE : A33=0; VARIABLE : A34=0; VARIABLE : A35=0; VARIABLE : A37=0; VARIABLE : A38=0; VARIABLE : A39=0; VARIABLE : A40=0; VARIABLE : A41=0; VARIABLE : A42=0 ;
VARIABLE : A43=0 ; VARIABLE : A44=high ;
VARIABLE : A45=low ;
VARIABLE : jz=open ;
//当日开盘价 VARIABLE : zxjz=0 ;
//转换条件 VARIABLE : nn=0; //开仓历时 VARIABLE : fdxs=1; //放大系数 kxs:=todaybar,linethick0; dayopen:=valuewhen(date<>ref(date,1),open); jz:=ref(dayopen,kxs-1),linethick0; gd:=ma(high,1); dd:=ma(low,1); zxtj0:=count(gd-jz>4 or jz-dd>=14,3)>=3,linethick0; zxtj:=count(zxtj0,kxs)>=1,linethick0; 参数转换:=zxtj,linethick0; tzzq:=2; B03 := ref(ma(tr,18),1); C01 :=date; B04 :=固定手数; A16 :=10*10*10*5; A03:=8; A04:=1; B09:=60; A21:=0; C02:=if(zxtj,1.55,1.95); //信号参数 A19:=0.6; C03:=if(zxtj,11.95,9.95); //止损系数 A17:=6; A28:=4000; A29:=3300; A30:=19000; A31:=10000; //当日最大亏损 A34:=12000; A35:=10000; A37:=3300; //限制模块 //周期绑定 nn:=enterbars; fdyk:=ref(openprofit,1); fdds:=intpart(fdyk/300)/B04; Otime:=Opentime(1)+A21*100; Ctime:=Closetime(0)-A03*100; C05:=Time>=Otime and Time<=Ctime; C06:=Time>=Closetime(0)-A04*100 and Time<=Closetime(0)-(A04+1)*100+A16; Zhkx:=if(islastbar,dynainfo(207),time); Tqxd:=time0-timetot0(Zhkx); kxsj:=B09-Tqxd; D02:=EMA(H,11)-EMA(H,24); D03:=EMA(D02,8); D04:=2*(D02-D03); D07:=EMA(L,11)-EMA(L,24); D08:=EMA(D07,8); D09:=2*(D07-D08); D10:=Ma(D04*2+D02,1); D11:=Ma(D10,2); D12:=Ma(D09*2+D07,1); D13:=Ma(D12,2); E01:=slope(high,2)*5; E02:=slope(low,2)*5; jycs:=totaldaytrade,linethick0; E12:=asset-ref(asset,barslast(date<>ref(date,1))+1); E14:=ref(E12,1); if E12=0 then begin A14:=0; end if zxtj=0 then begin drawtextex(1,1,120,940,\'\'),colorwhite; end if zxtj=1 then begin drawtextex(1,1,120,940,\'\' ),colorwhite; end if E12<=-A31*B04 then begin A14:=-1; C06l:=1; drawtextex(1,1,120,990,\'\' ),colorwhite; end if E12>=A35*B04 then begin C02:=C02*0.75; drawtextex(1,1,120,900,\'\' ),colorwhite; end 倒计时:=tqxd,linethick0; xdsj:=B09; A46 :=(ma(high,3)+(ref(high,1)+(1.4/C02+A19)))/2; A47 :=(ma(low,3)+(ref(low,1)-(1.4/C02+A19)))/2; fdxs:=if(nn<=tzzq,2,1+(fdds*0.015)); F01:=(D10-D11)*C02; F02:=(D12-D13)*C02; B01:D10>D11 and F01>=fdxs,linethick0; B02:D12<D13 and F02<=-fdxs,linethick0; B011:IF(B01,O,0),linethick0; B022:IF(B02,O,0),linethick0; If Barpos=1 Then Begin
A43 := 0 ; End A07:=if(islastbar,0,1); A08:=if(islastbar,0,1); en:=enterbars; //开仓历来的周期数 enlv:=LLv(l,en+1); //开仓以来的最低值 enhv:=hhv(h,en+1); //开仓以来的最高值 //设变量 持仓状态下的最大盈利 win:=0; //最大获利 win2:=0; //最大获利幅度 win3:=0; //最大获利后的最大回调幅度 if holding > 0 and enterbars > 0 then begin win:=(enhv-enterprice); win2:=(enhv-enterprice)/enterprice*100; win3:=(enhv-c)/win*100; end if holding < 0 and enterbars > 0 then begin win1:=(enterprice- enlv),linethick0; win21:=(enterprice-enlv)/enterprice*100; win31:=(c-enlv)/win*100,linethick0; end If A43=0 and Barpos>1 and h>l Then Begin
Jgk:=A47;
Short :=low<=jgk+0.2;
Jgd:=A46;
Long :=high>=jgd-0.2 ;
Longzs :=A17*B03;
if Long AND Short=0 And A14>=0 and C05 and holding=0 and (A15>=0 or exitbars>=3) then begin
A01 := IF(Open>Jgd,Open+A07*Mindiff ,Jgd+A07*Mindiff);
buy(1,B04,limitr,A01),ignorecheckprice;
Playsound(1,\'D:\\Weisoft Stock\\WAV\\开多1.wav\' );
DRAWICON( 1,A01,8);
A43 := 1 ;
N := B03 ;
A00:= 1;
A09:=enterprice;
A06:=A09-Longzs;
end //if
Jgk:=A47;
Short :=low<=jgk+0.2;
Shortzs :=A17*B03{+A07*Mindiff};
if Short and A14>=0 and C05 and A43=0 and holding=0 and (A15<=0 or exitbars>=3) then begin
A01:= If(Open<jgk,Open-A07*Mindiff ,jgk-A07*Mindiff);
buyshort(1,B04,limitr,A01),ignorecheckprice;
Playsound(1,\'D:\\Weisoft Stock\\WAV\\开空1.wav\' );
DRAWICON( 1,A01,9);
A43 := -1 ;
N := B03 ;
A00:= 1; A09:=enterprice;
A06:=A09+Shortzs;
end
goto ContinueLine; End //If If A43=1 and Barpos>1 and h>l Then Begin
Drlc:=MIN(A47,B022);
LongX1 :=low<Drlc+0 ;
if LongX1 and A00=0 and B02 then begin
A02 := IF(Open<drlc,Open-A07*Mindiff ,drlc-A07*Mindiff) ;
sell(1,B04,limitr,A02),orderqueue,ignorecheckprice;
Playsound(1,\'D:\\Weisoft Stock\\WAV\\做空.wav\' );
DRAWICON( 1,A02,9);
A43 := 0 ;
A15:=0;
Jgk:=MIN(A47,B022);
Short1:=low<Jgk ;
if Short1 and A15<=0 and A14>=0 and C05 and A43=0 and holding>=0 and A15<=0 then begin
A01 := If(Open<if(A15=0,drlc,A06),Open-A07*Mindiff,if(A15=0,drlc,A06)-A07*Mindiff);
buyshort(1,B04,limitr,A01),orderqueue,ignorecheckprice;
DRAWICON( 1,A02,9);
A43 := -1 ;
A00:= 1 ;
N := B03 ; A09:=enterprice;
A06:=A09+A17*N;
end
end
LongX2 :=low<A06;
if LongX2 and holding>=0 and A00=0 then begin
A02 :=min(open,A06)-A08*Mindiff;
平多S:sell(1 ,B04,limitr,A02),ignorecheckprice;
Playsound(1,\'D:\\Weisoft Stock\\WAV\\平多Y.wav\' );
A43 := 0 ;
A15:=-1;
Jgk:=A47;
Short1:=low<=Jgk ;
if Short1 and A15<=0 and A14>=0 and C05 and A43=0 and holding>=0 and A15<=0 then begin
A01 := If(Open<if(A15=0,drlc,A06),Open-A07*Mindiff,if(A15=0,drlc,A06)-A07*Mindiff);
buyshort(1,B04,limitr,A01),orderqueue,ignorecheckprice;
DRAWICON( 1,A01,9);
A43 := -1 ;
A00:= 1 ;
N := B03 ; A09:=enterprice;
A06:=A09+A17*N;
end
end if C06l and holding>=0 and A14<0 Then begin 平多z:SELL(1,B04,marketr); Playsound(1 ,\'D:\\Weisoft Stock\\WAV\\停盘.wav\' ); A43 := 0 ;
A14 :=-1;
end if C06 and tqxd<=xdsj Then begin 平多t:SELL(1,B04,marketr); Playsound(1 ,\'D:\\Weisoft Stock\\WAV\\平多t.wav\' );
A43 := 0 ;
A14:=0;
A15:=0; end if A43=1 and high>A09 then begin A09:=high; A06:=A09-C03*N; end End //If If A43 = -1 and Barpos>1 and h>l Then Begin
Ktlc:=MAX(A46,B011);
ShortX1 :=high>Ktlc-0;
if ShortX1 and A00=0 and B01 then begin
A02 := If(Open>ktlc,Open+A07*Mindiff ,ktlc+A07*Mindiff) ;
sellshort(1,B04,limitr,A02),orderqueue,ignorecheckprice;
Playsound(1,\'D:\\Weisoft Stock\\WAV\\做多.wav\' );
DRAWICON( 1,A02,8);
A43 := 0;
A15:=0;
Jgd:=MAX(A46,B011);
Long1:=high>Jgd ;
if Long1 and A15>=0 and A14>=0 and C05 and holding<=0 and A15>=0 and A43=0 then begin
A01 := IF(Open>if(A15=0,ktlc,A06),Open+A07*Mindiff,if(A15=0,ktlc,A06)+A07*Mindiff);
buy(1,B04,limitr,A01),orderqueue,ignorecheckprice;
DRAWICON( 1,A01,8);
A43 := 1 ;
A00:= 1 ;
N := B03 ;
A09:=enterprice;
A06:=A09-A17*N;
end //if
end
ShortX2 := high>A06 ;
if ShortX2 and holding<=0 and A00=0 then begin
A02 :=max(open,A06)+A08*Mindiff;
平空S:sellshort(1,B04,limitr,A02),ignorecheckprice;
Playsound(1,\'D:\\Weisoft Stock\\WAV\\平空Y.wav\' );
A43 := 0 ;
A15:=1;
Jgd:=A46;
Long1:=high>=Jgd ;
if Long1 and A15>=0 and A14>=0 and C05 and holding<=0 and A15>=0 and A43=0 then begin
A01 := IF(Open>if(A15=0,ktlc,A06),Open+A07*Mindiff,if(A15=0,ktlc,A06)+A07*Mindiff);
buy(1,B04,limitr,A01),orderqueue,ignorecheckprice;
A43 := 1 ;
A00:= 1 ;
N := B03 ;
A09:=enterprice;
A06:=A09-A17*N;
end //if
end
if C06l and holding<=0 and A14<0 Then begin 平空z:sellshort(1 ,B04,marketr); Playsound(1,\'D:\\Weisoft Stock\\WAV\\停盘.wav\' ); A43 := 0 ;
A14 :=-1;
end
if C06 and tqxd<=xdsj Then begin 平空t:sellshort(1 ,B04,marketr); Playsound(1,\'D:\\Weisoft Stock\\WAV\\平空t.wav\' ); A43 := 0 ;
A14:=0;
A15:=0; end if A43=-1 and low<A09 then begin A09:=low; A06:=A09+C03*N; end End //If ContinueLine@ 资产:=asset,noaxis,COLORGREEN; 持仓:holding,linethick0; 交易次数:totaldaytrade,linethick0; 正确率:percentwin,linethick0; STICKLINE((HOLDING>0),LOW,HIGH,0.1,1,COLORYELLOW); STICKLINE(((HOLDING>0) and (CLOSE>OPEN)),CLOSE,OPEN,8,1,COLORYELLOW); STICKLINE(((HOLDING>0) and (CLOSE<=OPEN)),CLOSE,OPEN,8,0,COLORYELLOW); STICKLINE((HOLDING<0),LOW,HIGH,0.1,1,COLORCYAN); STICKLINE(((HOLDING<0) and (CLOSE>OPEN)),CLOSE,OPEN,8,1,COLORCYAN); STICKLINE(((HOLDING<0) and (CLOSE<=OPEN)),CLOSE,OPEN,8,0,COLORCYAN); [此贴子已经被作者于2016-7-21 21:14:41编辑过]
|
-- 作者:jinzhe -- 发布时间:2016/7/22 9:12:36 -- 用户自行编译一下,就能解答这个问题了 |