金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
楼主: 100018957

现有公式只能开1手或2手,改变后就出问题请问如果改变公式里的手数在哪里

[复制链接]

20

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-7-1 10:15 | 显示全部楼层
我忘记说了。我把ss调整到前面了。你该不是改错了吧。

截图202107011015156989..png

你改第一个参数。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

3

主题

24

帖子

34

积分

Rank: 2

等级: 标准版

注册:
2021-5-31
曾用名:
 楼主| 发表于 2021-7-1 10:28 | 显示全部楼层
我就是改的前边的ss,在测试6个月的记录就不行了
回复

使用道具 举报

20

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-7-1 11:10 | 显示全部楼层
[PEL] 复制代码
//该策略适用日线周期、分钟周期
VARIABLE:A:=0;   
VARIABLE:MARK:=0;
ma37:=ma(c,n4)COLORMAGENTA;
CMI:=ABS(CLOSE-REF(CLOSE,29))/(HHV(HIGH,30)-LLV(L,30))*100;//0-100 取值越大,说明趋势越强,CMI<20震荡模式,反之为趋势
 
INPUT:SS(1,1,100,1),N1(30,1,1000,1),N2(150,1,1000,1),P5(12,3,100,10),M1(12,1,100,10),N3(1,1,100,1),n(20,1,100,10),N4(10,1,200,1),P1(45,10,100,8),S(25,5,40,4),M(9,2,60,6),P(20,10,100,8),ZS(0.990,0.900,0.999,0.001),zy(0.985,0.900,0.999,0.001),zy1(0.985,0.900,0.999,0.001);
PH3:=(CLOSE-OPEN)>=1*MINDIFF;
PH9:=(CLOSE-OPEN)>=10*MINDIFF;
PE9:=(OPEN-C)>=10*MINDIFF;
 
PE3:=(OPEN-CLOSE)>=1*MINDIFF;
DIFF : =EMA(CLOSE,S) - EMA(CLOSE,P1);
DEA  : =EMA(DIFF,M);
MACD1 := 2*(DIFF-DEA), COLORSTICK;  
PSY:=COUNT(CLOSE>REF(CLOSE,1),M1)/M1*100;
 
//中间变量
[color=Red]CD88:=OPENPROFITPER>=1;
CD66:=OPENPROFITPER<=-1;
CD300:=OPENPROFITPER>=2.50;
CD200:=OPENPROFITPER>=2.5;
CD600:=OPENPROFITPER>=2.5;
CD400:=OPENPROFITPER>=2;
 
 
H1:=IF(Low<ref(low,1) AND ref(low,1)<ref(low,2) and open>close,MAX(High,ref(High,1)),0);//创新低取最高价
L1:=IF(High>ref(High,1) and ref(High,1)>ref(High,2) and open<close,MIN(Low,ref(low,1)),0);//创新高取最低价
HR:=VALUEWHEN(H1>0,H1);//平空点
LR:=VALUEWHEN(L1>0,L1);//平多点
D1:=IF(C>HR,-1,IF(C<LR,1,0));//空头止损返回-1,多头止损返回1AND ISUP AND ISDOWN SLOPE(CLOSE,10  )
D2:=VALUEWHEN(D1<>0,D1);
BARSLAST(D1=-1);
G:=IF(D2=1,HR,LR);//如果多头止损画平空线,否则画平多线
多头止损线:=IF(D2<=0,G,drawnull),COLOR6633FF,LINETHICK1,COLORWHITE;
空头止损线:=IF(D2>0,G,drawnull),COLORFF9933,LINETHICK1,COLORGREEN;
MC:=TYPEBAR(holding>0,1);
MC2:=TYPEBAR(holding<0,3);
成交量H:=VOL=HHV(VOL,2);
成交量L:=VOL=LLV(VOL,2);
成交量L1:=VOL=LLV(VOL,2);
VAR2:=MA(C,N2)COLORWHITE;
VAR3:MA(VAR2,N1)COLORYELLOW;
VAR4:=IF((H+L)<=(REF(H,1)+REF(L,1)),0,MAX(ABS(H-REF(H,1)),ABS(L-REF(L,1))));
VAR5:=IF((H+L)>=(REF(H,1)+REF(L,1)),0,MAX(ABS(H-REF(H,1)),ABS(L-REF(L,1))));
VAR6:=SUM(VAR4,N1)/(SUM(VAR4,N1)+SUM(VAR5,N1));
VAR7:=SUM(VAR5,N1)/(SUM(VAR4,N1)+SUM(VAR5,N1));
VAR8:=VAR6-VAR7;
VAR9:=MA(VAR8,2*N1);
VAR10:=MA(VAR9,N1);
TR1:= EMA(EMA(EMA(CLOSE,P5),P5),P5);
TRIX : (TR1-REF(TR1,1))/REF(TR1,1)*100;
TRcd :  MA(TRIX,N);
TRx :=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR :=MA(TRx,20);
CDTT:= (C-VAR3)<=15*MINDIFF;
CDYY:= (VAR3-C)<=15*MINDIFF;
CDTT1:= (C-VAR2)<=15*MINDIFF;
CDYY1:= (VAR2-C)<=15*MINDIFF;
CDBB:=VAR2-VAR3<=2*MINDIFF;
CDXX:=VAR3-VAR2<=2*MINDIFF;
 
 
CONPD:C<VAR2 AND C>ENTERPRICE*(1+0.03*N3);
CONPK:C>VAR2 AND C<ENTERPRICE*(1-0.03*N3);
CONKD:BARPOS>N2 AND C>VAR2 AND VAR2>VAR3 AND VAR8>0 AND VAR9>VAR10;
CONKK:BARPOS>N2 AND C<VAR2 AND VAR2<VAR3 AND VAR8<0 AND VAR9<VAR10;
//交易条件:
平空条件:=ma37>VAR3 AND TRIX>TRCD  AND CDTT AND MARK>=0  and holding<=0;
开多条件:=ma37>VAR3 AND TRIX>TRCD  AND CDTT AND MARK>=0  and holding=0;
平多条件:=ma37<VAR3 AND TRIX<TRCD  AND CDYY AND MARK<=0  and holding>=0;
开空条件:=ma37<VAR3 AND TRIX<TRCD  AND CDYY AND MARK<=0  and holding=0;
 
平空条件1:= DEA>0 AND TRIX>TRCD AND MARK>=0 AND CDTT  and holding<=0;
开多条件1:= DEA>0 AND TRIX>TRCD AND MARK>=0 AND CDTT  and holding=0;
平多条件1:= DEA<0 AND TRIX<TRCD AND MARK<=0 AND CDYY  and holding>=0;
开空条件1:= DEA<0 AND TRIX<TRCD AND MARK<=0 AND CDYY  and holding=0;
 
平空条件2:=ma37>VAR3 and DEA>0  AND MARK>=0    AND TRIX>TRCD AND CDTT and c>VAR3  and holding<=0;
开多条件2:=ma37>VAR3   AND MARK>=0  and DEA>0  AND TRIX>TRCD AND CDTT and c>VAR3      and holding=0;
平多条件2:=ma37<VAR3 and DEA<0  AND MARK<=0   AND TRIX<TRCD  AND CDYY and c<VAR3  and holding>=0;
开空条件2:=ma37<VAR3   AND MARK<=0  and DEA<0 AND TRIX<TRCD  AND CDYY and c<VAR3      and holding=0;
 
IF ma37>VAR3 AND ISDOWN AND C>=MA37 AND CMI>15 AND PE3 THEN BEGIN
 
A:=0;
 
IF 平空条件 AND ISDOWN  THEN BEGIN
平空1:sellshort( holding=-2*ss, 2*ss,MARKETR);
平空2:sellshort( holding=-ss, ss,MARKETR);
//MARK:=0;
//END
//IF 开多条件 AND ISDOWN AND PE3  THEN BEGIN
开多1:=buy( holding=0, ss*1,MARKETR);
MARK:=-1;
END
IF 平空条件 AND ISDOWN THEN BEGIN
平空3:sellshort( holding=-2*ss, 2*ss,MARKETR);
平空4:sellshort( holding=-ss, ss,MARKETR);
//MARK:=0;
//END
//IF 开多条件 AND ISDOWN AND PE3  THEN BEGIN
开多2:=buy( holding=0, ss*1,MARKETR);
MARK:=-1;
END
END
{ IF 平空条件 AND  ISUP and cdtt THEN BEGIN
平空5:sellshort( holding=-2*ss, 2*ss,MARKETR);
平空6:sellshort( holding=-ss, ss,limitr,c);
//MARK:=0;
//END
//IF 开多条件 AND ISDOWN AND PE3  THEN BEGIN
开多3:=buy( holding=0, ss*2,limitr,c);
MARK:=0;
END}
 
 
IF MC>=5  AND CD200  and  ss*1  AND ISUP  THEN BEGIN
波幅止盈Ag350:SELL(holding=ss,ss,MARKETR);
  mark:=-1;
  END
    
IF MC>=50  AND CD600  and  ss*1  AND ISUP  THEN BEGIN
波幅止盈A600:SELL(holding=ss,ss,MARKETR);
  mark:=-1;
  END
IF MC>=2  AND PH9 and  ss*1  AND ISUP  THEN BEGIN
波幅止盈PH9:SELL(holding=ss,ss,MARKETR);
  mark:=-1;
  END
 
IF ma37<VAR3  AND CMI>15 AND C<MA37 AND  ISUP AND PH3 THEN BEGIN
 
A:=0;
 
IF 平多条件  AND  ISUP   THEN BEGIN
sell( holding=2*ss,2*ss,MARKETR);
sell( holding=ss,ss,MARKETR);
// mark:=1;
// END
//IF  开空条件  AND  ISUP   THEN BEGIN
    开空1:BUYSHORT( HOLDING=0 ,ss,MARKETR);
    mark:=1;
      END
  IF 平多条件  AND  ISUP  THEN BEGIN
sell( holding=2*ss,2*ss,MARKETR);
sell( holding=ss,ss,MARKETR);
// mark:=0;
// END
//IF  开空条件  AND  ISUP    THEN BEGIN
    开空2:BUYSHORT( HOLDING=0 ,ss,MARKETR);
    mark:=1;
      END
IF 平多条件   AND ISDOWN  THEN BEGIN
sell( holding=2*ss,2*ss,MARKETR);
sell( holding=ss,ss,MARKETR);
//  mark:=1;
// END
//IF  开空条件  AND  ISUP    THEN BEGIN
    开空3:BUYSHORT( HOLDING=0 ,ss,MARKETR);
    mark:=1;
   END  
   END  
IF MC2>=5     AND CD300 and  ss*1  THEN BEGIN
  波幅止盈By100:SELLSHORT(holding=-1,1,MARKETR);
// 开多B1:=buy( holding=0, ss*2,MARKETR);
mark:=1;
  END       
IF MC2<=10   AND ISDOWN  AND CD400 and  ss*1  THEN BEGIN
  波幅止盈B40:SELLSHORT(holding=-1,1,MARKETR);
mark:=1;
  END       
{ IF MC2>=2   AND ISDOWN  AND PH9 and  ss*2  THEN BEGIN
  波幅止盈PE10:SELLSHORT(holding=-2,1,MARKETR);
mark:=1;
  END }     
 
 
IF DEA>0 AND CDXX AND C>MA37  AND CMI>15 AND PE3 THEN BEGIN
 
A:=1;
  IF 平空条件1 AND ISDOWN  THEN BEGIN
平空7:sellshort( holding=-2*ss, 2*ss,MARKETR);
平空8:sellshort( holding=-ss, ss,MARKETR);
//MARK:=0;
//END
//IF 开多条件 AND ISDOWN AND PE3  THEN BEGIN
开多1:=buy( holding=0, ss*1,MARKETR);
MARK:=-1;
END
IF 平空条件1 AND ISDOWN  THEN BEGIN
平空9:sellshort( holding=-2*ss, 2*ss,MARKETR);
平空10:sellshort( holding=-ss, ss,MARKETR);
//MARK:=0;
//END
//IF 开多条件 AND ISDOWN AND PE3  THEN BEGIN
开多2:=buy( holding=0, ss*1,MARKETR);
MARK:=-1;
END
END
 
IF DEA<0  AND  ISUP AND C<MA37  AND TRIX<TRCD AND CMI>15 AND PH3 THEN BEGIN
 
A:=1;
 
IF 平多条件1  AND  ISUP AND C<=MA37 AND CDBB AND TRIX<TRCD THEN BEGIN
平多x6:sell( holding=2*ss,2*ss,MARKETR);
平多y6:sell( holding=ss,ss,MARKETR);
// mark:=1;
// END
//IF  开空条件1  AND  ISUP  THEN BEGIN
    开空A1:BUYSHORT( HOLDING=0 ,ss,MARKETR);
    mark:=1;
      END
  IF 平多条件1  AND  ISUP  THEN BEGIN
平多x7:sell( holding=2*ss,2*ss,MARKETR);
平多y7:sell( holding=ss,ss,MARKETR);
// mark:=1;
// END
//IF  开空条件1  AND  ISUP    THEN BEGIN
    开空A2:BUYSHORT( HOLDING=0 ,ss,MARKETR);
    mark:=1;
      END
   IF 平多条件1  AND ISDOWN  THEN BEGIN
平多x8:sell( holding=2*ss,2*ss,MARKETR);
平多y8:sell( holding=ss,ss,MARKETR);
// mark:=1;
//  END
//IF  开空条件1  AND  ISUP     THEN BEGIN
    开空A3:BUYSHORT( HOLDING=0 ,ss,MARKETR);
    mark:=1;
   END  
   END  
 
  IF DEA>0 AND ma37>VAR3 AND C>MA37 AND CMI>15 AND PE3 THEN BEGIN
 
A:=-1;
 
IF 平空条件2 AND ISDOWN THEN BEGIN
平空11:sellshort( holding=-2*ss, 2*ss,MARKETR);
平空12:sellshort( holding=-ss, ss,MARKETR);
//MARK:=0;
//END
//IF 开多条件 AND ISDOWN AND PE3  THEN BEGIN
开多B1:=buy( holding=0, ss*1,MARKETR);
MARK:=-1;
END
IF 平空条件 AND ISDOWN  THEN BEGIN
平空13:sellshort( holding=-2*ss, 2*ss,MARKETR);
平空14:sellshort( holding=-ss, ss,MARKETR);
//MARK:=0;
//END
//IF 开多条件 AND ISDOWN AND PE3  THEN BEGIN
开多B2:=buy( holding=0, ss*1,MARKETR);
MARK:=-1;
END
END
  IF DEA<0 AND ma37<VAR3  AND  CMI>15 AND PH3 THEN BEGIN
 
A:=-1;  
IF 平多条件  AND  ISUP   THEN BEGIN
平多x1:sell( holding=2*ss,2*ss,MARKETR);
平多y1:sell( holding=ss,ss,MARKETR);
// mark:=1;
// END
//IF  开空条件  AND  ISUP    THEN BEGIN
    开空B1:BUYSHORT( HOLDING=0 ,ss,MARKETR);
    mark:=1;
      END
  IF 平多条件  AND  ISUP  THEN BEGIN
平多x2:sell( holding=2*ss,2*ss,MARKETR);
平多y2:sell( holding=ss,ss,MARKETR);
//  mark:=0;
// END
//IF  开空条件  AND  ISUP    THEN BEGIN
    开空B2:BUYSHORT( HOLDING=0 ,ss,MARKETR);
    mark:=1;
      END
   IF 平多条件   AND ISDOWN  THEN BEGIN
平多x3:sell( holding=2*ss,2*ss,MARKETR);
平多y3:sell( holding=ss,ss,MARKETR);
// mark:=1;
// END
//IF  开空条件  AND  ISUP    THEN BEGIN
    开空B3:BUYSHORT( HOLDING=0 ,ss,MARKETR);
    mark:=1;
   END  
   END  
 
多头止损条件:=C<=ZS*AVGENTERPRICE;
   空头止损条件:=C>=(2-ZS)*AVGENTERPRICE;
//*********************************************************************************************
   IF HOLDING>0 AND 多头止损条件    THEN
   BEGIN
   多头止损:=SELL(多头止损条件,0,MARKETR);
   反手开空:buyshort(holding=0 ,ss,MARKETR);
  // MARK:=-1;//重置全局变量为-1
   END
 
  IF HOLDING<0 AND 空头止损条件   THEN 
   BEGIN
   空头止损:=SELLSHORT(空头止损条件,0,MARKETR);
  反手开多D:buy(holding=0 ,SS,MARKETR);
  // MARK:=1;//重置全局变量为1
   END
 
多头波段止盈条件:c>=(2-zy)*AVGENTERPRICE   AND DIFF>15 AND  成交量L AND  MARK>=0 ;
  空头波段止盈条件:c<=zy*AVGENTERPRICE   AND DIFF<-12 AND  成交量L  AND MARK<=0;
 
多头波段止盈条件1:c>=(2-zy1)*AVGENTERPRICE  AND DIFF>20  AND MARK>=0;
空头波段止盈条件1:c<=zy1*AVGENTERPRICE AND DIFF<-20  AND  MARK<=0;
 
  IF mc<=25  THEN BEGIN
  A:=1;
  if  多头波段止盈条件 AND ss*1  then
begin
多头波段止盈:sell(holding=ss,1,MARKETR);
//反手开空5A:buyshort(holding=0,ss*2,MARKETR);
//mark:=-1;//重置全局变量为1
end
end
IF   mc2<=25  THEN BEGIN
A:=-1;  
if 空头波段止盈条件 AND ss*1    AND ISDOWN   then
begin
空头波段止盈:sellshort( holding=-ss, 1,MARKETR);
//反手开多E:buy(holding=0 ,ss*1,MARKETR);
//mark:=1;//重置全局变量为1
 
end
end 
  IF mc>25  THEN BEGIN
  A:=-1;       
    if  多头波段止盈条件1 AND ss*1 AND MC>25 then
begin
多头趋势止盈高1:sell(holding=ss,1,MARKETR);
//反手开空5A:buyshort(holding=0,ss*2,MARKETR);
//mark:=-1;//重置全局变量为1
end
    if  多头波段止盈条件1 AND ss*1 AND MC>25 then
begin
多头趋势止盈高1A:sell(holding=ss,1,MARKETR);
//反手开空5A:buyshort(holding=0,ss*2,MARKETR);
mark:=-1;//重置全局变量为1
end
 
 
end
IF   mc2>25    THEN BEGIN
A:=1;  
if 空头波段止盈条件1  AND ss*1 AND MC2>25    then
begin
空头趋势止盈高2:sellshort( holding=-ss, 1,MARKETR);
//反手开多E:buy(holding=0 ,ss*1,MARKETR);
//mark:=1;//重置全局变量为1
end
 
if 空头波段止盈条件1  AND ss*1 AND MC2>25    then
begin
空头趋势止盈高2A:sellshort( holding=-ss, 1,MARKETR);
//反手开多E:buy(holding=0 ,ss*1,MARKETR);
//mark:=1;//重置全局变量为1
end
end
 
 

//收盘前1分钟平仓模块}
abb1:=(timetot0(CLOSETIME(1))-timetot0(time));//夜盘收盘距离现在K的秒数AND TIME <145500
abb2:=(timetot0(CLOSETIME(0))-timetot0(time));//白盘收盘距离现在K的秒数
cd6:=(abb1<0.5*60 and abb1>=0);
cd7:=(abb2<1.2*60 and abb2>=0);
//*********************************************************************************************     
if cd7  then
begin
收盘平多8:sell(holding=2*ss,2*ss,MARKETR);
收盘平空8:sellshort(holding=-2,2,marketr);
MARK:=0;//普通平仓情况下全局变量重置为0
end
if cd7  then
begin
收盘平多88:sell(holding=ss,1,MARKETR);
收盘平空88:sellshort(holding=-1,1,marketr);
MARK:=0;//普通平仓情况下全局变量重置为0
end
 


再试下  我本地正常了。你这个几百行代码,找都要找半天。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

3

主题

24

帖子

34

积分

Rank: 2

等级: 标准版

注册:
2021-5-31
曾用名:
 楼主| 发表于 2021-7-1 11:56 | 显示全部楼层
技术009 发表于 2021-7-1 11:10
[mw_shl_code=pel,true]//该策略适用日线周期、分钟周期
VARIABLE:A:=0;   
VARIABLE:MARK:=0;

回测还是不一样。。。。
回复

使用道具 举报

20

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-7-1 13:39 | 显示全部楼层
你回测设置是不是有问题。修改参数后 加载在图表上 都一模一样不可能回测不一样的。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

3

主题

24

帖子

34

积分

Rank: 2

等级: 标准版

注册:
2021-5-31
曾用名:
 楼主| 发表于 2021-7-1 14:17 | 显示全部楼层
技术009 发表于 2021-7-1 13:39
你回测设置是不是有问题。修改参数后 加载在图表上 都一模一样不可能回测不一样的。

图表确实没问题,但是用策略测试半年的就差距很大
回复

使用道具 举报

20

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-7-1 15:21 | 显示全部楼层
资金还是交易的位置?就交易位置而言这个应该都是完全一样的。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

3

主题

24

帖子

34

积分

Rank: 2

等级: 标准版

注册:
2021-5-31
曾用名:
 楼主| 发表于 2021-7-1 15:41 | 显示全部楼层
技术009 发表于 2021-7-1 15:21
资金还是交易的位置?就交易位置而言这个应该都是完全一样的。

好像前段可以,后边就不出现交易信号了
回复

使用道具 举报

20

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-7-1 15:44 | 显示全部楼层
你什么周期,测试的品种,时间段说下 我本地试下看看吧。以及手数参数是多少。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

3

主题

24

帖子

34

积分

Rank: 2

等级: 标准版

注册:
2021-5-31
曾用名:
 楼主| 发表于 2021-7-1 16:02 | 显示全部楼层
技术009 发表于 2021-7-1 15:44
你什么周期,测试的品种,时间段说下 我本地试下看看吧。以及手数参数是多少。

1分钟周期,加了5手
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2024-12-23 04:19 , Processed in 0.231749 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表