以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://weistock.com/bbs/list.asp?boardid=2) ---- tenterprice取值,以及ignorecheckprice (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=97646) |
-- 作者:a141027 -- 发布时间:2016/5/20 12:18:48 -- tenterprice取值,以及ignorecheckprice 两个问题 1、我想取得上次下单价格并以此为基础计算下次下单价格,但tenterprice似乎没有起作用,语句如下: ... tbuyshort(1,1,mkt);//第一次下单 tbuyshort(1,1,lmt,max(close-mindiff,tenterprice+mindiff*3),0);//第二次下单 ... 以上语句已被限制在同一个周期内执行,且只执行一次。交易日志的记录如下: ... 2016-05-20 xx:xx:xx.xxx 【后台】XXXX TBuyShort 第 xxx 行出现信号 2016-05-20 xx:xx:xx.xxx 【后台】XXXX TBuyShort 已成功触发下单操作 价格:0.000000 数量:1 类型:1 账户: 品种:XXXX 2016-05-20 xx:xx:xx.xxx 【后台】XXXX TBuyShort 第 xxx 行出现信号 2016-05-20 xx:xx:xx.xxx 【后台】XXXX TBuyShort 已成功触发下单操作 价格:2066.000000 数量:1 类型:0 账户: 品种:XXXX ... 2016-05-20 xx:xx:xx.xxx 【回报】xxxxxxxxxxxx : XXXX - 正在申报 1 价格:2070.0000 开仓 卖出 2016-05-20 xx:xx:xx.xxx 【回报】xxxxxxxxxxxx : XXXX 全部成交 1 价格:2071 开 卖 2016-05-20 xx:xx:xx.xxx 【回报】xxxxxxxxxxxx : XXXX - 正在申报 1 价格:2071.0000 开仓 卖出 2016-05-20 xx:xx:xx.xxx 【回报】xxxxxxxxxxxx : XXXX 全部成交 1 价格:2071 开 卖 ... 从回报可见,第一次实际下单价格是2070,问题是我公式触发的第二次下单价格为什么是2066,而不是2073? 是否用mkt指令下单,就会导致tenterprice取得下单价格为0?如果用mkt指令,是否要等到下一个周期/下一次刷新,甚至要收到回报后tenterprice才能取得正确的结果?触发下单所在的周期里最低价格是2067,似乎公式认为那时的tenterprice是0,因此max(close-mindiff,tenterprice+mindiff*3)的计算结果为2066。 2、后台下单用lmt指令时,系统会否像图表那样,先检验价格是否在本周期价格区间内,然后再下单?是否需要用ignorecheckprice跳过价格检验? 谢谢。
|
-- 作者:yukizzc -- 发布时间:2016/5/20 12:40:48 -- 1、你的代码是同时进行的,这个间隔相比报单-回报,来的快的太多了,所以导致这个报单价格没取到,市价报出去先是0,然后已报单后才会有具体价格 2、不会,后台没有这个价格检验,图表上的价格检验也仅仅用于历史测评上,对当前盘中的k是不会执行的 |
-- 作者:a141027 -- 发布时间:2016/5/20 13:04:32 -- 嗯,我看其他周期里tenterprice可以正常取值,也猜到这个函数应该在同一次刷新里无法更新,只要取到上次价格,系统可以正确按照公式在指定价格下单,即使价格在该周期的价格区间之外。 |