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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请教开仓语句

   

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


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

主题:请教开仓语句

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


加好友 发短信
等级:论坛游侠 帖子:219 积分:0 威望:0 精华:0 注册:2016/1/2 17:57:34
请教开仓语句  发帖心情 Post By:2021/5/27 10:41:09    Post IP:1.193.79.30[只看该作者]

开盘那两分钟不确定性太大,想避开开仓,是否有个“不等于"的函数,用来避开一定的时间
在期货上怎么写时间呢,用金字塔时间还是北京时间,因为有日盘夜盘。

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


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

 你设置的是金字塔时间还是北京时间,默认应该是金字塔时间。还有就是这个代码用到了time函数,所以需要知道你交易周期是什么周期。



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


加好友 发短信
等级:论坛游侠 帖子:219 积分:0 威望:0 精华:0 注册:2016/1/2 17:57:34
  发帖心情 Post By:2021/5/27 11:03:41    Post IP:1.193.79.30[只看该作者]

金字塔时间。
周期的话,之后应该会有很多不同的吧,包括tick在内。不能指定一个时间不开仓吗,比如090000-090300不开仓

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


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

能做时间判断。但是time函数返回的是K线时间。所以和周期挂钩。
比如 1分钟周期下,判断是否在白盘开盘2分钟后。
tcd:time>130200;

如果是五分钟周期,则是无法精确判断是否在开盘2分钟之后了,因为你五分钟一个K就是五分钟。time返回的又是K线结束时间。所以最多能判断是否开盘5分钟,10分钟,15分钟。其他周期以此类推。

所以使用time函数可以判断时间范围,但是这个和周期选择是关联的。


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


加好友 发短信
等级:论坛游侠 帖子:219 积分:0 威望:0 精华:0 注册:2016/1/2 17:57:34
  发帖心情 Post By:2021/5/27 13:25:12    Post IP:1.193.79.30[只看该作者]

应该没问题啊,比如5分钟,今天收盘最后一根k有信号,根据逐k机制,会在明早一开盘下单,明早的k线肯定在090300之内啊,所以可以禁止开仓不对吗,换成15,30一样的,即便tick应该也行啊,准备开仓k的时间在090300之内就不开


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


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

先纠正下这里:“明早的k线肯定在090300” 五分钟周期下K线时间没有和9点03分对应的K的。没有的。你判断不了,你只能判断当前K时间在9点05分之前,是否在9点03之前,根本不知道。   图表上进行时间判断都是依赖于K线时间,而K线时间又是和周期挂钩的

另外就是你这个信号是在前一个收盘K上,这个信号已经出来了,你在次根K上信号执行的时候,你再也无法用代码逻辑限制它了。

所以你这个需求,我还是建议你用后台程序化做比较好。 用后台程序化,直接用北京时间判断,不用管其他的。



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


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

“应该没问题啊,比如5分钟,今天收盘最后一根k有信号,根据逐k机制,会在明早一开盘下单,明早的k线肯定在090300之内啊,所以可以禁止开仓不对吗,换成15,30一样的,即便tick应该也行啊,准备开仓k的时间在090300之内就不开”

你说的是走完K的机制和逐K模式没关系的。

你这个需求呢,用固定轮训模式,是可以尝试下的。方法就是原本走完K下单模式先改成固定轮训模式。

原先是当前K满足条件A则下单,现在改成判断上一个K是否满足条件A。

tcd:(CURRENTTIME>=090300 and ISLASTBAR) or (not(ISLASTBAR));//时间判断。最新K和历史K 区分处理。

if tcd and ref(a,1) then buy(holding=0,1,market);

但是也有不好的地方,回测和之前不太一样了,因为信号位置偏移了。纯指标的开平仓几乎没区别,一旦有涉及止盈止损之类的,就不行了,信号可能会有些偏移。


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