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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 后台预警价格问题

   

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


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

主题:后台预警价格问题

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


加好友 发短信
等级:新手上路 帖子:12 积分:0 威望:0 精华:0 注册:2019/2/19 11:09:13
后台预警价格问题  发帖心情 Post By:2019/2/19 11:15:34 [显示全部帖子]

后台程序中, 我用限价100策略报了一个委托单,  但是预警记录里面记录的却是当时的成交价格, 可能是99
这样导致我用TORDERPRICE(D,1)取上次委托价格的时候, 取的是99, 不是100

怎么才能取到我上次委托的100?
[此贴子已经被作者于2019/2/19 11:16:14编辑过]

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


加好友 发短信
等级:新手上路 帖子:12 积分:0 威望:0 精华:0 注册:2019/2/19 11:09:13
  发帖心情 Post By:2019/2/19 12:42:17 [显示全部帖子]

不是的, 我测试的结果是这样的, 按时间顺序
1, 按限价100元报单, 未成交
2, 预警记录中记录此时的市价是99, 注意此时还没成交
此时用TORDERPRICE(D,1)取到的是99, 函数说明中是说"未成交时为委托价", 那取到的就应该是委托价100, 而不是当时的市价99
3, 报单成交, 因为限价所以成交价为100
此时用TORDERPRICE(D,1)取到的还是99, 也不是函数说明中的"成交后为成交价"

=====================
取前N次的下单价格。未成交时为委托价,成交后为成交价

用法:TORDERPRICE(D,N)
表示取前N次的下单委托价格
D表示取委托方向:0所有方向;1开多;2平多;3开空;4平空
若执行失败则返回-1.
该函数的计算依赖于后台交易记录。任何交易记录的删减、增加都会导致返回值的变化。
该函数返回常数

注意:
该函数依赖TBUY等交易语句或者在交易监控中的手工干预的成交记录。
所属函数组:后台程式化交易(专业版)




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


加好友 发短信
等级:新手上路 帖子:12 积分:0 威望:0 精华:0 注册:2019/2/19 11:09:13
  发帖心情 Post By:2019/2/19 15:24:46 [显示全部帖子]

好的, 我再试试

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


加好友 发短信
等级:新手上路 帖子:12 积分:0 威望:0 精华:0 注册:2019/2/19 11:09:13
  发帖心情 Post By:2019/2/20 6:19:13 [显示全部帖子]

再次核对日志, 还是有问题
是这样的, 我的代码和你的测试的不一样, 要复杂一些:
1. 我监控了2个品种ZN04,ZN05, 监控周期1分钟, 1秒刷新一次, 同时勾选了tick级别刷新
2. 根据监控记录, 大多是ZN04触发的时候, 对ZN05进行了限价委托
3. 然后在ZN05触发的时候, 我调用TORDERPRICE目的是取步骤2中的ZN05委托价(此时ZN05未成交), 但每次取出的都不对

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


加好友 发短信
等级:新手上路 帖子:12 积分:0 威望:0 精华:0 注册:2019/2/19 11:09:13
  发帖心情 Post By:2019/2/21 10:50:09 [显示全部帖子]

代码:

当前品种:=STKLABEL();
ZN05跌停价:=dynainfo2(55,'ZN05');
if 当前品种 = 'ZN04' AND MOD(CURRENTTIME,5)=0 then BEGIN
Tbuy(1,1,LMT,ZN05跌停价,0,'','ZN05'),allowrepeat;
MSGOUT(ISLASTBAR , 'ZN05下单限价'+' '+ NUMTOSTR(ZN05跌停价,1));
end
MSGOUT(ISLASTBAR , 当前品种+' '+ NUMTOSTR(TORDERPRICE(0,1),1));

后台设置:
监控ZN04,ZN05, 一秒执行一次

实测打印出的日志:
2019/02/21 10:37:10  ZN05下单限价 19975.0
2019/02/21 10:37:10  ZN04 19975.0
2019/02/21 10:37:10  ZN05 -1.0
2019/02/21 10:37:11  ZN04 19975.0
2019/02/21 10:37:11  ZN05 -1.0
2019/02/21 10:37:12  ZN04 19975.0
2019/02/21 10:37:12  ZN05 -1.0
2019/02/21 10:37:13  ZN04 19975.0
2019/02/21 10:37:13  ZN05 -1.0
2019/02/21 10:37:14  ZN04 19975.0
2019/02/21 10:37:14  ZN05 -1.0

结论:
当前品种为ZN04的时候, 为ZN05下单, 当前品种是ZN05的时候取不到委托价



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


加好友 发短信
等级:新手上路 帖子:12 积分:0 威望:0 精华:0 注册:2019/2/19 11:09:13
  发帖心情 Post By:2019/2/21 23:16:43 [显示全部帖子]

那我怎么才能达到目的

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


加好友 发短信
等级:新手上路 帖子:12 积分:0 威望:0 精华:0 注册:2019/2/19 11:09:13
  发帖心情 Post By:2019/2/21 23:19:28 [显示全部帖子]

我想通过超全局变量实现也是类似的问题, 同一个策略多品种不能共享超全局变量.

这种细节问题, 希望能在文档中说明, 免得大家走弯路

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


加好友 发短信
等级:新手上路 帖子:12 积分:0 威望:0 精华:0 注册:2019/2/19 11:09:13
  发帖心情 Post By:2019/3/15 12:14:26 [显示全部帖子]

extgbdata 范围过大,有潜在冲突危险, 不放心。
目前改用只监控一个品种实现了, 建议增加一个真正可以在策略内共享的方案

 回到顶部