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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [求助]使用图标程序化交易,就是不执行,这是我的源码,麻烦帮忙看看

   

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


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

主题:[求助]使用图标程序化交易,就是不执行,这是我的源码,麻烦帮忙看看

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


加好友 发短信
等级:新手上路 帖子:17 积分:0 威望:0 精华:0 注册:2021/1/24 11:39:11
[求助]使用图标程序化交易,就是不执行,这是我的源码,麻烦帮忙看看  发帖心情 Post By:2021/1/26 15:46:37    Post IP:180.166.190.138[显示全部帖子]

各位大神,我写的策略就是不能实现图标程序化是怎么回事呢?


信号是有的,我回测过,都执行了,就是在使用图标程序化的时候不执行,编程的代码之中有显示持仓holding,持仓都显示开仓了,就是不执行。


参数设置:

N1=20,n2=40 ,n3=20,m1=2,m2=2

 

 

variable:最近1次盈亏数额=0,c1=0;

MA5:MA(CLOSE,n2);

MA10:MA(CLOSE,n3);

CONDBUY:=CROSS(MA5,MA10);

CONDSELL:=CROSS(MA10,MA5);

 

平多开空:=CONDSELL and HOLDING>=0;

平空开多:=CONDBUY and HOLDING<=0;

 

持仓:HOLDING;

上次开仓量:=ENTERVOL;

 

d:=date+19000000;

 

日期条件:=if(d>20200101,1,0);

 

loss_num:=0;

win_num:=0;

 

if HOLDING=0  and 日期条件 then begin

 if condbuy then BUY(CONDBUY ,n1,NEXTOPEN);

 if condsell then BUYSHORT(CONDSELL,n1,NEXTOPEN);

END

 

开仓价格:=ENTERPRICE;

if CONDBUY =1 then 平仓价格:=c;

if CONDSELL=1 then 平仓价格:=c;

pc:=平仓价格;

 

 

if 持仓<0 and condbuy=1 and (PC-开仓价格)>0 then 最近1次盈亏数额:=1;

if 持仓<0 and condbuy=1 and (PC-开仓价格)>0 then 最近1次盈亏数额:=-1;

if 持仓>0 and condsell=1 and (PC-开仓价格)<0 then 最近1次盈亏数额:=-1;

if 持仓>0 and condsell=1 and (PC-开仓价格)>0 then 最近1次盈亏数额:=1;

 

dd:=最近1次盈亏数额;

最近2次盈亏数额:=NUMPROFIT(1);

最近3次盈亏数额:=NUMPROFIT(2);

最近4次盈亏数额:=NUMPROFIT(3);

 

3连亏:= 最近1次盈亏数额<0 and 最近2次盈亏数额<0 and 最近3次盈亏数额<0

and  最近4次盈亏数额>0;

 

3连盈:=最近1次盈亏数额>0 and 最近2次盈亏数额>0 and 最近3次盈亏数额>0

and  最近4次盈亏数额<0;

 

 

if HOLDING>0 and condsell  and 日期条件 then SELL(CONDsell,holding,THISCLOSE);

 

if HOLDING=0 and condsell and 3连亏  and 日期条件 then BEGIN

BUYSHORT( 1, 上次开仓量*m1,NEXTOPEN );

END

 

if HOLDING=0 and condsell and 3连盈  and 日期条件 then BEGIN

BUYSHORT( 1, 上次开仓量/m2,NEXTOPEN );

END

 

if HOLDING=0 and condsell and not(3连亏) and not(3连盈)  and 日期条件

 then BEGIN

BUYSHORT( 1, 上次开仓量,NEXTOPEN );

END

 

 

if HOLDING<0 and condbuy  and 日期条件 then SELLshort(condbuy,holding,THISCLOSE);

 

if HOLDING=0 and condbuy and 3连盈  and 日期条件 then BEGIN

BUY( 1, (-1)*上次开仓量/m2,NEXTOPEN );

END

 

if HOLDING=0 and condbuy and 3连亏  and 日期条件 then BEGIN

BUY( 1, (-1)*上次开仓量*m1,NEXTOPEN );

END

 

if HOLDING=0 and condbuy and not(3连亏) and not(3连盈)  and 日期条件

 then BEGIN

BUY( 1, (-1)*上次开仓量,NEXTOPEN );

END


 回到顶部