首先,我说明下我交易的要求:
(1)我交易的品种价格变化不是很剧烈,我的策略交易次数比较多,因此对滑点比较敏感;
(2)我期望最终能以我的挂单价成交,尽量不要去撮合成交,我在交易助手里面设置了,挂单一段时间后不成交就撤单。平仓单则是挂单一段时间不成交之后再按照现价重新挂单。
(3)因此我在策略单元设置里面:滑点为0跳,委托偏移为0跳。
我的开平仓代码很简单,条件满足的情况下,以Bar的open价报单委托:
OnBarOpen(ArrayRef<Integer> indexs)
{
//平仓
If( pd ) Sell(OpenSize,Open);
If( pk ) BuyToCover(OpenSize,Open);
//开仓
If( kd ) Buy(OpenSize,Open);
If( kk ) SellShort(OpenSize,Open);
}
按理说open价是当前bar的第一个成交价,我希望就以open价委托,但是我实盘成交价从来都不是,都是以对手价,这导致我的每一次开仓和平仓都损失掉一跳,因为我的交易次数比较多,这样的损失对我比较大。
我之前为这个问题问过在线客服,给我的解释是偷价,成交单要综合考虑委托时间和委托价格,你们这个解释我认可。
我想问下,Buy、sell图表交易系统能不能实现我的目的,就以我指定的open价委托,不成交就等等,等待超过一段时间就撤单,系统不要去撮合成交。或者还是必须使用A_sendorder。
委托偏移0跳的对钩 去掉
jiejue解决了吧?
委托偏移、交易助手都没找,价格出去的仍然是对手价,不知道楼主有没有碰到。
不可能
我开交易助手撤单,是想超过一定时间就委托不成功撤单,平仓单长时间不成交就得修改委托价格。所以交易助手还是很重要的。开仓单委托不成功无法成交没关系,可以撤单。现在的问题就是您所说的一直在追单,追单对我的损失更大。
一点浅见,不一定对,仅供参考:
委托偏移,就是在对手价的基础上去偏移,你设置偏移为0跳,意思就是“在对手价的基础上偏移0跳发单”,这就是“以对手价发单”。
所以,如果你不想以对手价发单,应该把这个功能关掉,而不是设置为0.
你把这个功能关掉,TB才会以你代码中指定的价格发送委托单。
代码里面的 SetOrderPriceOffset(0) 也要删除。
多谢这位兄台,您的解释很有道理啊,我尝试一下,非常感谢您。
委托偏移设置看一看
下单默认图标价格+偏移价格
如果你希望open挂单,则需要取消委托偏移
-----------------------------------------------
编辑一下,如果你委托偏移是0,那么在没有撤单下单子的情况,成交不可能比你挂单价格差。你的问题就该是追单导致的
所以如果你一定要用挂单成交,就不要开交易助手撤单
那么另一面的结果就是你可能不成交
我还在Oninit里面加上了:SetOrderPriceOffset(0);
SetSlippage(Enum_Rate_PointPerHand,0);
这是交易助手里面的设置,开仓单委托成功后240秒不成交就撤单;
平仓单185秒不成交按最新价重新委托。
我感觉就是每一单都在追单,这个交易助手好像根本没起作用。