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


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

   

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


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

主题:平仓条件的书写

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


加好友 发短信
等级:新手上路 帖子:64 积分:0 威望:0 精华:0 注册:2018/8/27 9:21:02
平仓条件的书写  发帖心情 Post By:2018/10/8 13:41:57    Post IP:124.74.133.114[只看该作者]

我的平常条件是1,以开多为例,开仓进去价格低于开仓前5日最低价为止损价格2有一定盈利后,比如说2%盈利回落到成本时,也止损,3有比较大盈利,后从高点回车10%止盈,这个要怎么写?

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


加好友 发短信
等级:新手上路 帖子:64 积分:0 威望:0 精华:0 注册:2018/8/27 9:21:02
  发帖心情 Post By:2018/10/8 13:43:41    Post IP:27.154.210.17[只看该作者]

开仓前5日 最低点止损点这个是固定止损,不是移动止损

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | 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);


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


加好友 发短信
等级:新手上路 帖子:64 积分:0 威望:0 精华:0 注册:2018/8/27 9:21:02
  发帖心情 Post By:2018/10/8 14:32:47    Post IP:27.154.210.17[只看该作者]

还是么有高清楚enterbars+2到底是什么意思?能解释一下吗?

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | 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最低价。因此也要做一个偏移来确保正确的统计。





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


加好友 发短信
等级:新手上路 帖子:64 积分:0 威望:0 精华:0 注册:2018/8/27 9:21:02
  发帖心情 Post By:2018/10/8 17:08:13    Post IP:27.154.210.17[只看该作者]

那当调用开仓以来第2跟的值的时候,相当于是hhv(L,2),那么开仓以来第二跟enterbars=1,那么只需要hhv(l,enterbars+1)来表示是吗?

 回到顶部
帅哥哟,离线,有人找我吗?
陈志海11
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:64 积分:0 威望:0 精华:0 注册:2018/8/27 9:21:02
  发帖心情 Post By:2018/10/8 17:09:54    Post IP:27.154.210.17[只看该作者]

是不是可以这样理解,当调用周期是开仓当天的时候只需要enterbars+1,当调用周期大于当根k线就是enterbars+2,,

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


加好友 发短信
等级:管理员 帖子:26631 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2018/10/8 19:30:32    Post IP:180.164.116.137[只看该作者]

你自己写一个只开一次仓的条件,然后去看enterbars函数的返回值,它是从多少开始算的就知道了,至于加多少是受本周期指令和次周期指令的影响。例如
buy(BARPOS=20,1,MARKET);//buy(BARPOS=20,1,MARKETr)
aa:enterbars;


编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
陈志海11
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:64 积分:0 威望:0 精华:0 注册:2018/8/27 9:21:02
  发帖心情 Post By:2018/10/9 9:57:02    Post IP:27.154.208.2[只看该作者]

那在次周期开仓的情况下,开仓的那根k线还回值是-1,开仓以来第一根k还回值是0,第二根k还回值是1,第三根还回值是2,实际上是开仓那根的0,开仓以来第一根所跨的周期数应该是1,第二根所跨的周期数是2,第三根所跨的周期数是3,比如说我要取开仓以来三天(所跨周期数为3)最高价,那么就是这么表示 hhv(h,enterbars+1)的是吗?怎么会表示成hhv(h,enterbars+2)?

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | 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本身。


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