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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 是什么原因导致5分钟开盘价不在第一个1分钟开盘时取得

   

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


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

主题:是什么原因导致5分钟开盘价不在第一个1分钟开盘时取得

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


加好友 发短信
等级:黑侠 帖子:649 积分:1359 威望:0 精华:0 注册:2009/10/24 1:57:01
是什么原因导致5分钟开盘价不在第一个1分钟开盘时取得  发帖心情 Post By:2016/11/27 21:06:53 [显示全部帖子]

5分钟的开盘价,逻辑上应该等于组成它的5根1分钟k线的第一根1分钟k线的开盘价,

且应在第一根1分钟开盘价形成时取得,

可当我在1分钟周期上引用5分钟开盘价时,其图表开平仓信号显示是对的,但实盘开平仓往往在1分钟上会滞后几根k线,由持仓同步功能才能得到正确的仓位,

不知是什么原因造成的?

k线切分?5分钟与1分钟上加载的K线数不同?运行的效率导致5分钟计算后再引用时间上延后了?


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


加好友 发短信
等级:黑侠 帖子:649 积分:1359 威望:0 精华:0 注册:2009/10/24 1:57:01
  发帖心情 Post By:2016/11/28 17:11:00 [显示全部帖子]

是图表1分钟上轮循,

里面有引用5分钟的开盘价,理论上来说,5分钟的开盘价与组成5分钟的第一个1分钟k线的开盘价应相等,且在5根1分钟k线内不会闪烁值也不会变化,

图表信号显示是对的,它总是在第一根1分钟k线上显示开仓信号,但下单位置延后了几根k线,下单日志如下:

 

2016-11-28 14:47:45.790    【图表】RB01 运行完毕
2016-11-28 14:47:46.790    【图表】RB01 运行完毕
2016-11-28 14:47:47.790    【图表】RB01 运行完毕
2016-11-28 14:47:48.790    2016.11.28 14:47:48【图表】框架:Frame1 触发下单 BUY 品种 RB01 下单K线 2016.11.28 14:48:00 公式:两级期货滑点3221132 窗格ID:1 代码行:75
2016-11-28 14:47:48.790    【图表】模型下单 1
2016-11-28 14:47:48.790    【图表】下单系数调整后 手数:1
2016-11-28 14:47:48.790    【图表】直接下单
2016-11-28 14:47:48.790    【图表】RB01 运行完毕
2016-11-28 14:47:48.790    【下单】RB01 价0.000000 量1 买卖0 类型1 开平0 账户611394 Formula 1
2016-11-28 14:47:48.790    【下单】已提交,订单ID :1138350851
2016-11-28 14:47:49.133    【指令】收到回报指令 ID = 1138350851
2016-11-28 14:47:49.133    【回报】611394 : rb1701 - 已报单 1 价格:3215 开 买
2016-11-28 14:47:49.133    【指令】收到回报指令 ID = 1138350851
2016-11-28 14:47:49.133    【指令】收到回报指令 ID = 1138350851
2016-11-28 14:47:49.133    【指令】收到成交回报指令 ORDERID = 1138350851
2016-11-28 14:47:49.133    【回报】611394 : rb1701 - 已成交 1 价格:3212 开 买
2016-11-28 14:47:49.149    【回报】611394 : rb1701 - 全部成交 1
2016-11-28 14:47:49.790    【图表】RB01 运行完毕
2016-11-28 14:47:50.790    【图表】RB01 运行完毕
2016-11-28 14:47:51.790    【图表】RB01 运行完毕


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


加好友 发短信
等级:黑侠 帖子:649 积分:1359 威望:0 精华:0 注册:2009/10/24 1:57:01
  发帖心情 Post By:2016/11/28 17:16:15 [显示全部帖子]

这是图表信号显示及实际成交位置图

 


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

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


加好友 发短信
等级:黑侠 帖子:649 积分:1359 威望:0 精华:0 注册:2009/10/24 1:57:01
  发帖心情 Post By:2016/11/30 9:09:47 [显示全部帖子]

用的固定轮循1秒,引用的5分钟周期k线开盘价,图表信号,专业版本软件,最新4.0正式版,服务器32核,16G;

我用debugfile对值进行了跟踪,发现开盘价的值在2秒后才取得正确值,在第2秒(在其它情况下有可能是第10秒)之前一直延用的是前一根k线的开盘价,请确认下发生这种情况的原因?是否bug?

跟踪变量值记录如下:

2016-11-29 14:39:59.550    最后k开盘价o=3061.00
22016-11-29 14:40:00.535  最后k开盘价o=3061.00
2016-11-29 14:40:01.066    最后k开盘价o=3061.00
2016-11-29 14:40:02.144    最后k开盘价o=3055.00
2016-11-29 14:40:06.550    最后k开盘价o=3055.00
2016-11-29 14:40:08.253    最后k开盘价o=3055.00

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


加好友 发短信
等级:黑侠 帖子:649 积分:1359 威望:0 精华:0 注册:2009/10/24 1:57:01
  发帖心情 Post By:2016/11/30 10:06:45 [显示全部帖子]

新建了开盘价公式后,直接引用"公式.开盘价#min5";
STKINDI引用方式也试了,结果是一样的
[此贴子已经被作者于2016-11-30 10:07:19编辑过]

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


加好友 发短信
等级:黑侠 帖子:649 积分:1359 威望:0 精华:0 注册:2009/10/24 1:57:01
  发帖心情 Post By:2016/11/30 10:55:43 [显示全部帖子]

所有的开盘价,都是在至少第三个分笔取得的

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


加好友 发短信
等级:黑侠 帖子:649 积分:1359 威望:0 精华:0 注册:2009/10/24 1:57:01
  发帖心情 Post By:2016/11/30 11:05:50 [显示全部帖子]

请发一下你所用的测试公式与跟踪数据,谢谢,
我用下式来做的测试

1-新建一个文件名为oo的文件,内容为:
oo:open;
cc:close;
hh:high;
LL:low;
2-新建一个引用文件命名为开盘价测试,内容为:
wo:="oo.oo#min5";
DEBUGFILE('c:\TESTddo.TXT','5分钟o=%.2f',sjbo);//测试跨周期数据的引用是否有延迟
DEBUGFILE('c:\TESTddo.TXT','1分钟o=%.2f',open);//测试本级别数据直接取值是否有延迟
DEBUGFILE('c:\TESTddo.TXT','当前价=%.0f',close);

3-将2的公式加载到1分钟周期上,然后找出测试文件内数据,重点看5分钟开始时的分笔取值情况

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


加好友 发短信
等级:黑侠 帖子:649 积分:1359 威望:0 精华:0 注册:2009/10/24 1:57:01
  发帖心情 Post By:2016/11/30 11:25:33 [显示全部帖子]

这是对白银品种测试的数据:
2016-11-30 11:19:59.611    5分钟o=4155.00
2016-11-30 11:19:59.611    1分钟o=4150.00
2016-11-30 11:19:59.611    当前价=4146

2016-11-30 11:20:00.049    5分钟o=4155.00
2016-11-30 11:20:00.049    1分钟o=4150.00
2016-11-30 11:20:00.049    当前价=4146

2016-11-30 11:20:00.486    5分钟o=4155.00
2016-11-30 11:20:00.486    1分钟o=4150.00
2016-11-30 11:20:00.486    当前价=4146

2016-11-30 11:20:00.924    5分钟o=4145.00
2016-11-30 11:20:00.924    1分钟o=4145.00
2016-11-30 11:20:00.924    当前价=4145



第一段为上一根k线尾部的数据,后两段为5分钟k线开始的数据取值,
从图上可以看到,在第三笔才取到正确的开盘价值4145
[此贴子已经被作者于2016-11-30 11:26:17编辑过]

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


加好友 发短信
等级:黑侠 帖子:649 积分:1359 威望:0 精华:0 注册:2009/10/24 1:57:01
  发帖心情 Post By:2016/11/30 18:36:45 [显示全部帖子]

有问题吧,1分钟与5分钟的开盘价都是在第三笔才取得,前面两笔用的是上一根k线的值,如果策略需要由开盘价来计算得出交易信号,这种时间上的延迟必然产生严重后果,我用模拟帐号来测试时就出现信号与开平仓经常都不在一个k线上,滑点达10多跳,是很严重的问题。

如果是交易所时间与本地时间的问题,要如何处理才行?
或者,不管交易所或本地时间,我只要在5分钟k线开始的第一个分笔数据传过来时,就取到正确的值就行,从逻辑上来说这也是合理的需求吧

 回到顶部