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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 程序出现问题,求指导

   

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


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

主题:程序出现问题,求指导

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


加好友 发短信
等级:论坛游侠 帖子:133 积分:0 威望:0 精华:0 注册:2018/8/8 10:11:50
程序出现问题,求指导  发帖心情 Post By:2019/1/16 13:58:15 [只看该作者]

这个图标策略我写的,有点问题,多次出现空转多时候刚转了多,同一时间再次翻空,甚至我已经在策略中限制了开仓次数,为什么会这样呢?

 

代码如下,同时附图表信号,和回测交易明细,如果方便您可以 本地测试一下,谢谢

 

n:=270;n1:=0.2;n2:=1;n3:=0.2;n4:=1080;n5:=0;n6:=270;n7:=0;
P:="T00$CLOSE",COLORCYAN;
p0:=(hhv(p,n)+llv(p,n)+2*p)/4,COLORMAGENTA;
p00:=(hhv(p0,n)+llv(p0,n)+2*p0)/4,COLORwhite;
p01:(hhv(p00,n)+llv(p00,n)+2*p00)/4,colormagenta;
//p01:(hhv(p001,n)+llv(p001,n)+p001)/3,COLORwhite;
p14:ma(p01,810),coloryellow;

t1:ref(BARSLAST(p01>p14),enterbars)+enterbars,linethick0;
t2:ref(barslast(p01<p14),enterbars)+enterbars,linethick0;
p33:=ref(p01,t1);
p34:=ref(p01,t2);
t3:enterbars,linethick0;

p16:p01-p14,linethick0;
p28:=ref(p01,enterbars);
p24:p01-p28,linethick0;
p25:=p01-(p28+p33)/2;
p35:=p01-(p28+p34)/2;
p26:=hhv(p01,t2)-(p28+p34)/2;
p27:=llv(p01,t1)-(p28+p33)/2;
p29:p35/p26,linethick0;
p30:=p24>=0.3 and p24<=n2 and p16<-n7 and p29<0.7;
p36:=p24>n2 and p16<-n7;
p37:=p24<0.3 and p24>0.1 and p16<-n7;
p31:p25/p27,linethick0;
p38:=p24>=-n2 and p24<=-0.3 and p16>n7 and p31<0.7;
p39:=p24<-n2 and p16>n7;
p40:=p24>-0.3 and p24<-0.1 and p16>n7;

P4:=CALLSTOCK('T00',VTCLOSE,6,-1);
b:=0;s:=0;X:=10;

IF STRCMP(STKLABEL,'T00') = 0  THEN BEGIN
   IF p38 AND HOLDING<0 AND OPENMINUTES(TIME)>=3 AND TOTALDAYTRADE<=1 THEN s:=2;
   IF p39 AND HOLDING<0 AND OPENMINUTES(TIME)>=3 AND TOTALDAYTRADE<=1 THEN s:=2;
   IF p40 AND HOLDING<0 AND OPENMINUTES(TIME)>=3 AND TOTALDAYTRADE<=1 THEN s:=2;
   IF p24>n1 AND HOLDING<0 AND OPENMINUTES(TIME)>=3 AND TOTALDAYTRADE<=1 THEN s:=2;
   SELLSHORT(s=2,X,THISCLOSE);
   IF p38 AND HOLDING=0 AND OPENMINUTES(TIME)>=3 THEN b:=1;
   IF p39 AND HOLDING=0 AND OPENMINUTES(TIME)>=3 THEN b:=1;
   IF p40 AND HOLDING=0 AND OPENMINUTES(TIME)>=3 THEN b:=1;
   IF p24>n1 AND HOLDING=0 AND OPENMINUTES(TIME)>=3 THEN b:=1;
   BUY(b=1,X,THISCLOSE);
   IF p30 and HOLDING>0 AND OPENMINUTES(TIME)>=3 AND TOTALDAYTRADE<=1 THEN S:=1;
   IF p36 and HOLDING>0 AND OPENMINUTES(TIME)>=3 AND TOTALDAYTRADE<=1 THEN S:=1;
   IF p37 and HOLDING>0 AND OPENMINUTES(TIME)>=3 AND TOTALDAYTRADE<=1 THEN S:=1;
   IF p24<-n1 and HOLDING>0 AND OPENMINUTES(TIME)>=3 AND TOTALDAYTRADE<=1 THEN S:=1;
   SELL(s=1,X,THISCLOSE);
   IF p30 and HOLDING=0 AND OPENMINUTES(TIME)>=3 THEN b:=2;
   IF p36 and HOLDING=0 AND OPENMINUTES(TIME)>=3 THEN b:=2;
   IF p37 and HOLDING=0 AND OPENMINUTES(TIME)>=3 THEN b:=2;
   IF p24<-n1 and HOLDING=0 AND OPENMINUTES(TIME)>=3 THEN b:=2;
   IF p16<0 and type(1)=0 and HOLDING=0 AND OPENMINUTES(TIME)>=3 THEN b:=2;
   BUYSHORT(b=2,X,THISCLOSE);

END

DI:round(netprofit),noaxis,COLORyellow;

 


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/1/16 14:14:52 [只看该作者]

 你这个是信号闪烁导致的吧。你开平仓条件如果出现闪烁就会出现这种反转的情况的。

另外这几个变量你是想用他们限制交易次数?
b:=0;s:=0;X:=10;


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


加好友 发短信
等级:论坛游侠 帖子:133 积分:0 威望:0 精华:0 注册:2018/8/8 10:11:50
  发帖心情 Post By:2019/1/16 14:42:21 [只看该作者]

B和S不是用来限制次数的,用totaldaytrade来限制交易次数,开平条件如果出现闪烁什么意思?我这里的开平条件是不同的,这个我已经避免了,理论上说不可能出现闪烁才对,您能帮我分析一下吗?谢谢多空没有重复闪烁信号的

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/1/16 14:53:45 [只看该作者]

 totaldaytrade  不行的。这个函数也是对图表上信号统计来获取交易次数情况的,并不是实际下单情况。信号的闪烁是指行情变化导致你开平仓条件变化反转。你开平条件肯定是不同的,但是你不能保证行情的变化会不会导致前一秒开多成立下一秒就又变成了开空成立。图表系统本身是按照行情变化刷新计算的结果的,它无法知道你实际下单的情况的,它在最新K上会不断计算最新的行情下的信号的。

建议你使用走完K的下单模式。


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


加好友 发短信
等级:论坛游侠 帖子:133 积分:0 威望:0 精华:0 注册:2018/8/8 10:11:50
  发帖心情 Post By:2019/1/16 15:04:33 [只看该作者]

图表信号我也附图了,您看还是多次交易啊

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


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

 图没上来啊。 你用IE浏览器传下试下呢.


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


加好友 发短信
等级:论坛游侠 帖子:133 积分:0 威望:0 精华:0 注册:2018/8/8 10:11:50
  发帖心情 Post By:2019/1/16 15:59:29 [只看该作者]

总是显示要‘’正确显示要上传的附件‘’,这是为什么,大小没有超过10000K,才几百K,png格式,之前这格式没问题啊,然后主图是T00连续合约,您本地测试一下也可以的

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/1/16 16:04:07 [只看该作者]

 你说的是这种情况?

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


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


加好友 发短信
等级:论坛游侠 帖子:133 积分:0 威望:0 精华:0 注册:2018/8/8 10:11:50
  发帖心情 Post By:2019/1/16 16:26:00 [只看该作者]

对的

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/1/16 16:50:31 [只看该作者]



上图里面你代码中几个数值的判断条件都满足条件了。并且TOTALDAYTRADE在第一次平仓之后是1,而后面的判断则是TOTALDAYTRADE<=1,这种情况下等于是没限制到后面继续开平仓。

    BUY(b=1,X,THISCLOSE);
   IF p30 and HOLDING>0 AND OPENMINUTES(TIME)>=3 AND TOTALDAYTRADE<1 THEN S:=1;
   IF p36 and HOLDING>0 AND OPENMINUTES(TIME)>=3 AND TOTALDAYTRADE<1 THEN S:=1;
   IF p37 and HOLDING>0 AND OPENMINUTES(TIME)>=3 AND TOTALDAYTRADE<1 THEN S:=1;
   IF p24<-n1 and HOLDING>0 AND OPENMINUTES(TIME)>=3 AND TOTALDAYTRADE<1 THEN S:=1;

这里改下试下呢。


命数如织,当如磐石。
 回到顶部