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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [讨论]关于减少滑点问题

   

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


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

主题:[讨论]关于减少滑点问题

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


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

 这个不行。至少在下单函数上无法直接实现。

但是可以这样做。你是走完K模式。如果要实现这个,就只能改成固定轮询模式。
在实盘上:
我们假设你开仓条件是A,走完K模式

原先是当前K满足A,次周期开始就开仓。


现在改成固定轮询模式:
buy(ref(a,1),1,LIMITr,O-2*MINDIFF);

这样就相当于在满足A的那个K之后的 新K上直接按照新K的O-2*MINDIFF 限价下单。这是常用的固定轮询下实现走完K的方式。


只是这样改是适应了实际交易时候情况。 历史回测就没有照顾到了。因为历史回测其实是相当于走完K模式的。



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


加好友 发短信
等级:论坛游侠 帖子:139 积分:0 威望:0 精华:0 注册:2016/12/13 9:40:24
  发帖心情 Post By:2020/12/17 14:12:42    Post IP:121.232.12.225[只看该作者]

1.如果这样改,用固定轮询模式,实盘运行中会不会出现信号闪烁的问题??(开仓时图表有信号,K线走完信号又消失)

2.我回测用market指令回测,这样改之后,实盘过程中,是不是比用market回测的理论数据要优2跳??



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


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

 1.因为是调用上一个K的判断结果。所以就还好。但是如果有什么跨周期调用之类的,闪烁可能就无法避免。所以总体影响还是存在的。

2.“我回测用market指令回测,这样改之后,实盘过程中,是不是比用market回测的理论数据要优2跳??”
上面那样改 其实没办法在回测里体现 和实盘中一致的思路的。
回测里用上面那个代码 下单位置变成了满足条件A后面的第二个K的位置。因为回测相当于走完K的嘛。

总之你这个思路是没办法兼顾回测和实盘交易的。而且因为改了交易模式,也可能带来一些未知影响,总体上建议你自行斟酌这个影响吧。 


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


加好友 发短信
等级:论坛游侠 帖子:139 积分:0 威望:0 精华:0 注册:2016/12/13 9:40:24
  发帖心情 Post By:2021/1/5 15:14:01    Post IP:121.232.12.225[只看该作者]

‘’现在改成固定轮询模式:
buy(ref(a,1),1,LIMITr,O-2*MINDIFF);
这样就相当于在满足A的那个K之后的 新K上直接按照新K的O-2*MINDIFF 限价下单。这是常用的固定轮询下实现走完K的方式。‘’


按照这种方式修改,开仓,止盈,多头止损都正常,但是空头止损不正常,开仓和止损在一根K线上体现,不知道是什么原因。

此主题相关图片如下:111.png
按此在新窗口浏览图片

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


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

 看下代码是怎样的。


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


加好友 发短信
等级:论坛游侠 帖子:139 积分:0 威望:0 精华:0 注册:2016/12/13 9:40:24
  发帖心情 Post By:2021/1/5 15:37:48    Post IP:121.232.12.225[只看该作者]

DZS:=(avgenterprice-c)>avgenterprice*ZS;
KZS:=(c-avgenterprice)>avgenterprice*ZS;
IF REF(DZS,1) AND HOLDING>0 THEN BEGIN
 SELL(1,0,LIMITR,O);
END

IF REF(KZS,1) AND HOLDING<0 THEN BEGIN
 SELLSHORT(1,0,LIMITR,O);
END


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


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

 看不出问题 。你好歹给个能加载出信号的代码 。那么几句代码看不出上下逻辑的 啊。


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


加好友 发短信
等级:论坛游侠 帖子:139 积分:0 威望:0 精华:0 注册:2016/12/13 9:40:24
  发帖心情 Post By:2021/1/5 16:12:11    Post IP:121.232.12.225[只看该作者]

input:ZS(0.009,0.001,0.02,0.001),CW(10,2,100,1);
MA2:MA(C,10);
MA3:=MA(C,60);

bcond:=cross(ma2,ma3);
scond:=cross(ma3,ma2);
SELLSHORT(REF(BCOND,1)AND HOLDING<0,0,LIMITR,O);
BUY(REF(BCOND,1) AND HOLDING=0,CW%,LIMITR,O);
SELL(REF(SCOND,1) AND HOLDING>0,0,LIMITR,O);
BUYSHORT(REF(SCOND,1) AND HOLDING=0,CW%,LIMITR,O);


DZS:=(avgenterprice-c)>avgenterprice*ZS;
KZS:=(c-avgenterprice)>avgenterprice*ZS;
IF REF(DZS,1) AND HOLDING>0 THEN BEGIN
 SELL(1,0,LIMITR,O);
END

IF REF(KZS,1) AND HOLDING<0 THEN BEGIN
 SELLSHORT(1,0,LIMITR,O);
END


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


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

 试着把平仓语句写在前面:
input:ZS(0.009,0.001,0.02,0.001),CW(10,2,100,1);
MA2:MA(C,10);
MA3:=MA(C,60);

DZS:=(avgenterprice-c)>avgenterprice*ZS;
KZS:=(c-avgenterprice)>avgenterprice*ZS;
IF REF(DZS,1) AND HOLDING>0 THEN BEGIN
 SELL(1,0,LIMITR,O);
END

IF REF(KZS,1) AND HOLDING<0 THEN BEGIN
 SELLSHORT(1,0,LIMITR,O);
END


bcond:cross(ma2,ma3);
scond:cross(ma3,ma2);
SELLSHORT(REF(BCOND,1)AND HOLDING<0,0,LIMITR,O);
BUY(REF(BCOND,1) AND HOLDING=0,CW%,LIMITR,O);
SELL(REF(SCOND,1) AND HOLDING>0,0,LIMITR,O);
BUYSHORT(REF(SCOND,1) AND HOLDING=0,CW%,LIMITR,O);





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


加好友 发短信
等级:论坛游侠 帖子:139 积分:0 威望:0 精华:0 注册:2016/12/13 9:40:24
  发帖心情 Post By:2021/1/5 16:33:32    Post IP:121.232.12.225[只看该作者]

试过的,应该不是代码顺序的问题,不然不可能多单没问题,空单有问题。


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


 回到顶部
总数 23 上一页 1 2 3 下一页