欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 求版主看看,这个策略真是吗?是否编写有问题

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有3086人关注过本帖树形打印复制链接

主题:求版主看看,这个策略真是吗?是否编写有问题

帅哥哟,离线,有人找我吗?
zengxing
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:505 积分:0 威望:0 精华:0 注册:2014/10/15 13:12:08
求版主看看,这个策略真是吗?是否编写有问题  发帖心情 Post By:2016/7/21 21:14:18    Post IP:123.116.99.197[只看该作者]

求版主看看,这个策略真是吗?是否编写有问题

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
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/7/22 9:12:36    Post IP:180.169.30.6[只看该作者]

用户自行编译一下,就能解答这个问题了


金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部