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


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

   

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


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

主题:平仓k的问题

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


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

 这个函数值从-1开始。次根K是0.


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


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

 1.不是的。这个和你调用这个函数值的位置有关系。
这种它这里的返回值就是-1。

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

2.参考用这种方式处理下试下。
EXITBARS的问题是前面没有平仓或者当前K就是平仓K 都会导致返回值是-1.这样区分不开了就。

buy(TODAYBAR=1,1,market);
sell(TODAYBAR=10,1,market);

cd:TYPEBAR(1,2)>3 or  (not(TYPEBAR(1,2)) and TYPEBAR(1,2)<>0) and holding=0 ;//不包含开仓K在内的3个K不平

稍微麻烦的地方是,这个的话 多和空必须分开写。
这个就只在这里满足了就:

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


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


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

 是因为这个函数如果前面没有相应信号是返回无效值的。所以用not判断下。又因为 它在满足条件K上的初始值是0,这样的话。not返回值也是1.所以就再判断下是不是0. 


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


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

 你贴下完整代码。我本地调试下。前面我截图你也看到了,简单代码里面这个逻辑这样是OK的。就是不知道你本地具体如何应用上面这个逻辑的了。


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


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

 你代码可以论坛内私信我的。


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


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

 
 可以了。
GL61:TYPEBAR(1,2)>3 or (VALID(TYPEBAR(1,2))=0) ;//平仓后三根K不开仓
GL62:TYPEBAR(1,4)>3 or (VALID(TYPEBAR(1,4))=0) ;//平仓后三根K不开仓

前面的方式还是有些漏洞。这样就OK了。信号也有了。




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


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

 1.另外 我看你这2个变量是在平仓语句之前定义的。这样的话,中间如果平仓了的话 是可能判断不到的。最好能放到平仓语句后面

2.然后就是虽然多和空是分开判断的。但是你这里平仓后3个K 不开仓。应该是不区分多空的吧。就是开多前无论是平空还是平多 都要3个K。

综上:

//开仓3---突破开仓
GL61:TYPEBAR(1,2)>3 or (VALID(TYPEBAR(1,2))=0) ;//平仓后三根K不开仓
GL62:TYPEBAR(1,4)>3 or (VALID(TYPEBAR(1,4))=0) ;//平仓后三根K不开仓

IF KDTJ AND HOLDING=0 and GL61 and GL62 THEN 开多:BUY(HOLDING=0,TN,THISCLOSE);
IF KKTJ AND HOLDING=0 and GL62 and GL61 THEN 开空:BUYSHORT(HOLDING=0,TN,THISCLOSE);



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


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

 17楼又更新了你看下。


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