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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → N周期内 限制重复开仓平仓次数

   

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


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

主题:N周期内 限制重复开仓平仓次数

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
N周期内 限制重复开平仓  发帖心情 Post By:2021/1/11 13:12:11    Post IP:58.246.57.26[显示全部帖子]

你这个限制次数是 开多+开空 总的,还是说单独方向N周期内限制次数?
[此贴子已经被作者于2021/1/11 13:25:36编辑过]


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/1/11 13:45:42    Post IP:58.246.57.26[显示全部帖子]


那可以用TYPEBAR函数来处理

M 下单次数
N 是周期限制
分别把下面几个加入到对应操作的条件里面去
NOT(TYPEBAR(M,1)>N) 开多
NOT(TYPEBAR(M,2)>N) 平多

NOT(TYPEBAR(M,3)>N) 开空
NOT(TYPEBAR(M,4)>N) 平空



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


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

 1.是的 前M1个平多信号 在五周期之外的意思。
2.原本加not是因为TYPEBAR 在信号数量不足的时候返回无效值。
不过好像搞反了。
需要改这样:

NOT(TYPEBAR(M1,2)<5)


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/1/11 17:52:50    Post IP:58.246.57.26[显示全部帖子]

 能看到。不过没啥用,你贴那么点点看不出来啥的。另外代码你不要贴图啊。你直接复制粘贴上来嘛。


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/1/12 8:56:04    Post IP:58.246.57.26[显示全部帖子]

我给你的代码要放到限制条件里面去。你为什么放到下单指令后面去了。

你帖下完整代码,否则我不知道代码上下文情况下 根本不知道有啥问题。
[此贴子已经被作者于2021/1/12 9:01:44编辑过]


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/1/12 10:46:17    Post IP:58.246.57.26[显示全部帖子]

 M1:=2;N1:=5;

//止损

开多全止损2:SELL((C<ENTERPRICE AND C<MA1 AND C<MA2 AND HOLDING>0),手数,MARKETR);

开空全止损2:SELLSHORT((C>ENTERPRICE AND C>MA1 AND C>MA2 AND HOLDING<0),手数,MARKETR);

 

开多止损1:SELL((C<MA1 AND HOLDING>0 and NOT(TYPEBAR(M1,2)>=N1),手数/2,MARKETR);

开空止损1:SELLSHORT(( C>MA1 AND HOLDING<0 and NOT(TYPEBAR(M1,4)>=N1)),手数/2,MARKETR);

条件是要放在第一个参数里的。然后TFILTER 在这里是无效的。


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


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

 开多止损1:SELL((C<MA1 AND HOLDING>0 and NOT(TYPEBAR(M1,2)>=N1)),手数/2,MARKETR);
这里少了个括号。

至于你上面说的报错 我就不知道了,和我改的代码没关系。是其他地方报错的吧。或者你自己复制过去修改时候出错了。
[此贴子已经被作者于2021/1/12 12:18:31编辑过]


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