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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [原创]螺纹钢10点开多平多的错在那里?

   

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


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

主题:[原创]螺纹钢10点开多平多的错在那里?

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


加好友 发短信
等级:新手上路 帖子:55 积分:0 威望:0 精华:0 注册:2020/5/14 22:15:46
[原创]螺纹钢10点开多平多的错在那里?  发帖心情 Post By:2021/4/25 10:32:13    Post IP:223.104.64.145[只看该作者]

这个公式用在螺纹钢,当符合开多条件时,开多,盈利10点平仓,策略测试时没有按照信号开仓。

KD:=DK1>8&&CROSS(F,S)&&F<50&&S<50&&BC<50;          //开多条件
PD:=(C-ENTERPRICE)>10;          //平多条件


开多:BUY(KD AND HOLDING=0,1,MARKET);          //开多信号
平多:SELL(PD,1,MARKET);                       //平多信号

但是实际在公式中是有信号的,DRAWICON(DK1>8&&CROSS(F,S)&&F<50&&S<50&&BC<50 ,50 ,1 );

我用图标标记出来了。



 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/4/25 10:35:03    Post IP:58.246.57.26[只看该作者]

 KD AND HOLDING=0这个才算你完整的开多条件。你把这个作为条件输出下。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
tonyzhu
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:55 积分:0 威望:0 精华:0 注册:2020/5/14 22:15:46
  发帖心情 Post By:2021/4/25 11:01:24    Post IP:223.104.64.145[只看该作者]

还是和之前一样。


 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/4/25 11:02:01    Post IP:58.246.57.26[只看该作者]

 发下完整代码 我本地调试下。

另外你也要看下测试和加载在图表上的数据量是不是不一致。如果不一致,信号可能也会不一致。
[此贴子已经被作者于2021/4/25 11:04:59编辑过]


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
tonyzhu
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:55 积分:0 威望:0 精华:0 注册:2020/5/14 22:15:46
  发帖心情 Post By:2021/4/25 11:15:43    Post IP:223.104.64.145[只看该作者]

//日内强度
AA:=(2*C-H-L)/(H-L);
BB:=AA*VOL;
R:=SUM(BB,20)/SUM(VOL,20);

//中期方向线
MA1:=EMA(CLOSE,12);
MA2:=EMA(CLOSE,47);
B11:=(MA1-MA2);


//穿叉短周期
N:=34;
VAR1:=LLV(CLOSE,10);//10日最低
VAR2:=HHV(CLOSE,10);//10日最大
F: EMA((CLOSE-VAR1)/(VAR2-VAR1)*100,10), COLORGREEN;//价差
S: EMA(0.667*REF(F,1)+0.333*F,2) , COLORYELLOW;
FS:=(F+S)/2;

//穿叉长周期
VAR3:=(2*CLOSE+HHV(CLOSE,2)+LLV(CLOSE,2))/4;//化解
VAR4:=LLV(CLOSE,N);//34日最低
VARA:=HHV(CLOSE,N);
VARB:=EMA((VAR3-VAR4)/(VARA-VAR4)*100,13);//价差
VARC:=EMA(0.667*REF(VARB,1)+0.333*VARB,2);
FJ:=VARB-VARC;
BC:(VARB+VARC)/2;

//XDIKK1中期方向线换向

//3分钟

A3:=STKINDI('','XDIK4.A',0,17,0);
//10分钟
A10:=STKINDI('','XDIK4.A',0,18,0);;
//30分钟
A30:=STKINDI('','XDIK4.A',0,4,0);;

//1小时
AHOUR:=STKINDI('','XDIK4.A',0,5,0);;

//2小时
A240:=STKINDI('','XDIK4.A',0,24,2);;

//日

ADAY:=STKINDI('','XDIK4.A',0,6,0);

//日线颜色
D5:=IFELSE(ADAY>=0 , 1,0);
//2小时颜色
D6:=IFELSE(A240>=0 , 1,0);
//1小时
D7:=IFELSE(AHOUR>=0 , 1,0);
//30分钟
D8:=IFELSE(A30>=0 , 1,0);
//10分钟
D9:=IFELSE(A10>=0 , 1,0);
//3分钟
D10:=IFELSE(A3>=0 , 1,0);

//CCD短周期CC交叉
//3分钟

B3:=STKINDI('','CCD1.B',0,17,0);

//10分钟
B10:=STKINDI('','CCD1.B',0,18,0);;

//30分钟
B30:=STKINDI('','CCD1.B',0,4,0);;

//1小时
BHOUR:=STKINDI('','CCD1.B',0,5,0);;

//2小时
B240:=STKINDI('','CCD1.B',0,24,2);;


//日

BDAY:=STKINDI('','CCD1.B',0,6,0);;



//日线颜色
D11:=IFELSE(BDAY>=0 , 1,0);
//2小时颜色
D12:=IFELSE(B240>=0 , 1,0);
//1小时
D13:=IFELSE(BHOUR>=0 , 1,0);
//30分钟
D14:=IFELSE(B30>=0 , 1,0);
//10分钟
D15:=IFELSE(B10>=0 , 1,0);
//3分钟
D16:=IFELSE(B3>=0 , 1,0);

//XRVKK
//3分钟

E3:=STKINDI('','XRVK1.E',0,17,0);

//10分钟
E10:=STKINDI('','XRVK1.E',0,18,0);;


//30分钟
E30:=STKINDI('','XRVK1.E',0,4,0);;


//1小时
EHOUR:=STKINDI('','XRVK1.E',0,5,0);;

//2小时
E240:=STKINDI('','XRVK1.E',0,24,2);;

//日

EDAY:=STKINDI('','XRVK1.E',0,6,0);;

//日线颜色
D17:=IFELSE(EDAY>=0 , 1,0);
//2小时颜色
D18:=IFELSE(E240>=0 , 1,0);
//1小时
D19:=IFELSE(EHOUR>=0 , 1,0);
//30分钟
D20:=IFELSE(E30>=0 , 1,0);
//10分钟
D21:=IFELSE(E10>=0 , 1,0);
//3分钟
D22:=IFELSE(E3>=0 , 1,0);

//3分钟中期方向线变色

F3:=STKINDI('','XDIK5.F',0,17,0);

//10分钟
F10:=STKINDI('','XDIK5.F',0,18,0);;


//30分钟
F30:=STKINDI('','XDIK5.F',0,4,0);;


//1小时
FHOUR:=STKINDI('','XDIK5.F',0,5,0);;

//2小时
F240:=STKINDI('','XDIK5.F',0,24,2);;



FDAY:=STKINDI('','XDIK5.F',0,6,0);;

//日线颜色
D23:=IFELSE(FDAY>=0 , 1,0);
//2小时颜色
D24:=IFELSE(F240>=0 , 1,0);
//1小时
D25:=IFELSE(FHOUR>=0 , 1,0);
//30分钟
D26:=IFELSE(F30>=0 , 1,0);
//10分钟
D27:=IFELSE(F10>=0 , 1,0);
//3分钟
D28:=IFELSE(F3>=0 , 1,0);


D1:=IFELSE(R>REF(R,1), 1,0);
D2:=IFELSE(B11>REF(B11,1), 1,0);
D3:=IFELSE(FS>REF(FS,1), 1,0);
D4:=IFELSE(BC>REF(BC,1), 1,0);

DK:=D1+D2+D3+D4+D5+D6+D7+D8+D9+D10+D11+D12+D13+D14+D15+D16+D17+D18+D19+D20+D21+D22+D23+D24+D25+D26+D27+D28;
DK1:=D11+D12+D13+D17+D18+D19+D23+D24+D25;
TOP: 90,COLORGREEN,LINETHICK1;
BOT2:12,COLORRED,LINETHICK1;


LIU2:80,COLORGREEN,LINETHICK2;

SI:20,COLORRED,LINETHICK2;
SI2:50,COLOryellow,LINETHICK3;


STICKLINE(FJ>0,VARB,VARC,8,0,colorred);
STICKLINE(FJ<0,VARB,VARC,8,0,colorgreen);

DRAWICON(DK1>8&&CROSS(F,S)&&F<50&&S<50&&BC<50 ,50 ,1 );

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/4/25 11:17:32    Post IP:58.246.57.26[只看该作者]

 被调用的指标也提供下。否则加载不出效果的。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
tonyzhu
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:55 积分:0 威望:0 精华:0 注册:2020/5/14 22:15:46
  发帖心情 Post By:2021/4/25 12:06:27    Post IP:223.104.64.145[只看该作者]

上面那个引用的太多了,我简化一下如下:

//穿叉短周期
N:=34;
VAR1:=LLV(CLOSE,10);//10日最低
VAR2:=HHV(CLOSE,10);//10日最大
F: EMA((CLOSE-VAR1)/(VAR2-VAR1)*100,10), COLORGREEN;//价差
S: EMA(0.667*REF(F,1)+0.333*F,2) , COLORYELLOW;
FS:=(F+S)/2;

//穿叉长周期
VAR3:=(2*CLOSE+HHV(CLOSE,2)+LLV(CLOSE,2))/4;//化解
VAR4:=LLV(CLOSE,N);//34日最低
VARA:=HHV(CLOSE,N);
VARB:=EMA((VAR3-VAR4)/(VARA-VAR4)*100,13);//价差
VARC:=EMA(0.667*REF(VARB,1)+0.333*VARB,2);
FJ:=VARB-VARC;
BC:(VARB+VARC)/2;


//CCC短周期交叉

//1小时
BHOUR:=STKINDI('','CCD1.B',0,5,0);
//2小时
B240:=STKINDI('','CCD1.B',0,24,2);
//日
BDAY:=STKINDI('','CCD1.B',0,6,0);


//日线颜色
D11:=IFELSE(BDAY>=0 , 1,0);
//2小时颜色
D12:=IFELSE(B240>=0 , 1,0);
//1小时
D13:=IFELSE(BHOUR>=0 , 1,0);





DK1:=D11+D12+D13;


STICKLINE(FJ>0,VARB,VARC,8,0,colorred);
STICKLINE(FJ<0,VARB,VARC,8,0,colorgreen);
TOP: 90,COLORGREEN,LINETHICK1;
BOT2:12,COLORRED,LINETHICK1;


LIU2:80,COLORGREEN,LINETHICK2;

SI:20,COLORRED,LINETHICK2;
SI2:50,COLOryellow,LINETHICK3;


STICKLINE(FJ>0,VARB,VARC,8,0,colorred);
STICKLINE(FJ<0,VARB,VARC,8,0,colorgreen);

DRAWICON(DK1=3&&CROSS(F,S)&&F<50&&S<50&&BC<50 ,50 ,1 );


KD:=DK1=3&&CROSS(F,S)&&F<50&&S<50&&BC<50 AND HOLDING=0 ;          //开多条件
PD:=(C-ENTERPRICE)>10*MINDIFF;          //平多条件

SELL(PD and HOLDING>0,HOLDING,THISCLOSE); //平多
BUY(KD and  HOLDING=0,1,THISCLOSE);//开多1手

引用的CCD1如下:
N:=34;
VAR1:=LLV(CLOSE,10);//10日最低
VAR2:=HHV(CLOSE,10);//10日最大
F: EMA((CLOSE-VAR1)/(VAR2-VAR1)*100,10), COLORGREEN;//价差
S: EMA(0.667*REF(F,1)+0.333*F,2) , COLORYELLOW;
B:REF(F,1)-REF(S,1);


 回到顶部
帅哥哟,离线,有人找我吗?
tonyzhu
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:55 积分:0 威望:0 精华:0 注册:2020/5/14 22:15:46
  发帖心情 Post By:2021/4/25 12:07:50    Post IP:223.104.64.145[只看该作者]

带信号图标的公式如下:
//穿叉短周期
N:=34;
VAR1:=LLV(CLOSE,10);//10日最低
VAR2:=HHV(CLOSE,10);//10日最大
F: EMA((CLOSE-VAR1)/(VAR2-VAR1)*100,10), COLORGREEN;//价差
S: EMA(0.667*REF(F,1)+0.333*F,2) , COLORYELLOW;
FS:=(F+S)/2;

//穿叉长周期
VAR3:=(2*CLOSE+HHV(CLOSE,2)+LLV(CLOSE,2))/4;//化解
VAR4:=LLV(CLOSE,N);//34日最低
VARA:=HHV(CLOSE,N);
VARB:=EMA((VAR3-VAR4)/(VARA-VAR4)*100,13);//价差
VARC:=EMA(0.667*REF(VARB,1)+0.333*VARB,2);
FJ:=VARB-VARC;
BC:(VARB+VARC)/2;


//CCC短周期交叉

//1小时
BHOUR:=STKINDI('','CCD1.B',0,5,0);
//2小时
B240:=STKINDI('','CCD1.B',0,24,2);
//日
BDAY:=STKINDI('','CCD1.B',0,6,0);


//日线颜色
D11:=IFELSE(BDAY>=0 , 1,0);
//2小时颜色
D12:=IFELSE(B240>=0 , 1,0);
//1小时
D13:=IFELSE(BHOUR>=0 , 1,0);





DK1:=D11+D12+D13;


STICKLINE(FJ>0,VARB,VARC,8,0,colorred);
STICKLINE(FJ<0,VARB,VARC,8,0,colorgreen);
TOP: 90,COLORGREEN,LINETHICK1;
BOT2:12,COLORRED,LINETHICK1;


LIU2:80,COLORGREEN,LINETHICK2;

SI:20,COLORRED,LINETHICK2;
SI2:50,COLOryellow,LINETHICK3;


STICKLINE(FJ>0,VARB,VARC,8,0,colorred);
STICKLINE(FJ<0,VARB,VARC,8,0,colorgreen);

DRAWICON(DK1=3&&CROSS(F,S)&&F<50&&S<50&&BC<50 ,50 ,1 );


 回到顶部
帅哥哟,离线,有人找我吗?
tonyzhu
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:55 积分:0 威望:0 精华:0 注册:2020/5/14 22:15:46
  发帖心情 Post By:2021/4/25 12:14:33    Post IP:223.104.64.145[只看该作者]

测试成交明细与信号不一致。

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/4/25 13:30:58    Post IP:58.246.57.26[只看该作者]

 你这个估计是数据不一致导致的计算会有差异。 如果计算的起点不一样,那么它产生的影响是会迭代下去的。

你可以先将指标加载到图表上,然后直接右键-回测:


图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看

调整下周期 然后这样回测采用的数据就是一样的了。我本地这样做回测明细和图表信号就是一致的了。

另外
DRAWICON(DK1=3&&CROSS(F,S)&&F<50&&S<50&&BC<50,50 ,1);
你这里输出位置是在价格50 的地方。如果于正常价格偏离太大是看不到输出的图标的。
[此贴子已经被作者于2021/4/25 13:31:13编辑过]


命数如织,当如磐石。
 回到顶部
总数 11 1 2 下一页