以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  金字塔软件问题提交  (http://222.73.7.161/bbs/list.asp?boardid=2)
----  是什么原因导致5分钟开盘价不在第一个1分钟开盘时取得  (http://222.73.7.161/bbs/dispbbs.asp?boardid=2&id=143450)

--  作者:lcgs005
--  发布时间:2016/11/27 21:06:53
--  是什么原因导致5分钟开盘价不在第一个1分钟开盘时取得

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

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

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

不知是什么原因造成的?

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


--  作者:pyd
--  发布时间:2016/11/28 9:15:39
--  

用的走完k线吗?指出什么时间出信号,什么时间下单,然后贴下下单日志

交易下单-》下单设置-》程序化交易里勾选下单日志,勾选时有提示日志保存路径。

[此贴子已经被作者于2016/11/28 9:42:20编辑过]

--  作者:lcgs005
--  发布时间: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
--  发布时间:2016/11/28 17:16:15
--  

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

 


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

--  作者:pyd
--  发布时间:2016/11/29 9:05:10
--  

1,用的走完k还是固定轮询?

2,把你本地电脑时间和分笔行情时间对比下慢多少还是快多少?

3,十字光标放在开多那个k线上看下那根k线时间


--  作者:lcgs005
--  发布时间: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

--  作者:wenarm
--  发布时间:2016/11/30 9:36:59
--  
你使用的是STKINDI还是CALLSTOCK
--  作者:lcgs005
--  发布时间:2016/11/30 10:06:45
--  
新建了开盘价公式后,直接引用"公式.开盘价#min5";
STKINDI引用方式也试了,结果是一样的
[此贴子已经被作者于2016-11-30 10:07:19编辑过]

--  作者:pyd
--  发布时间:2016/11/30 10:47:16
--  
除了图上这个,其他时间下单实际成交显示位置延迟两根k线吗?
[此贴子已经被作者于2016-11-30 10:47:32编辑过]

--  作者:wenarm
--  发布时间:2016/11/30 10:48:00
--  

测试并没有问题。应该是你图表策略造成的,图表策略运行是第一次完才会刷第二次,如果第一次需要的时间是2秒,而设置的间隔是1秒。这种情况下,就会等待,知道第一次完成,接着刷第二次,也就会造成一个延迟