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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 平仓条件的书写

   

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


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

主题:平仓条件的书写

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/10/8 14:03:54    Post IP:124.74.133.114[显示全部帖子]

 maxProfit:(hhv(h,ENTERBARS+2)-c)/AVGENTERPRICE;//最大盈利
currentProfit:(c-AVGENTERPRICE)/AVGENTERPRICE;//当前盈利

cd1:c<REF(llv(l,5),ENTERBARS+2) and holding>0;//开仓进去价格低于开仓前5日最低价
cd2:maxProfit>=0.02 and currentProfit<=0 and holding>0; //盈利达到2%且回撤到成本价位
cd3:maxProfit>0.1 and (hhv(h,ENTERBARS+2)-c)/hhv(h,ENTERBARS+2)>=0.1 and holding>0;//最大盈利幅度自行设置,这里暂设10%

if cd1 or cd2 or cd3 then sell(1,holding,market);


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/10/8 15:00:26    Post IP:124.74.133.114[显示全部帖子]

你直接在图表上输出下enterbars,先搞清楚输出值情况,尤其是在开仓K上的输出值。


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

enterbars在开仓K返回值是-1,在开仓之后第二个K,返回值是0,第三个K返回值是1.  其实你就理解成有一个错位的在这里就可以了。

假设我要调用开仓K收盘价,ref(c,enterbars) 在上图这个K上相当于 ref(c,0)调用的其实是当前K收盘价。 所以为了正确引用需要做一个偏移。也就是enterbars+1.,来确保正确的引用。

上面那个enterbars+2也是类似的原理。如果是 hhv(l,enterbars),你在开仓K上相当于运算 hhv(l,-1)肯定不对的。在第二个K上就相当于 hhv(l,0),这个含义就完全变了,是统计所有K最低价。因此也要做一个偏移来确保正确的统计。





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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/10/9 10:01:51    Post IP:124.74.133.114[显示全部帖子]

 +1 和+2 区别是后者是按照包含开仓K在内进行最大值统计的,前者不保本开仓K本身。


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