经过一段时间的自动交易模拟,我发现有时候报价是成交不了的,而且下单不成交后(有些品种),就撤单,也不追价成交。还有一个问题是,有些时候,一直追价,但是报价都是按照限价报,也没有追价直接成交,而是不断的报单。
我不知道是否是设置的问题,在实际交易中应该怎么设置。
我想达到的效果是,如果第一笔报单没有成交,几秒钟后追价成交,追多少价格可以自己设定,但是保证第二次报价一定成交。多谢各位大侠,辛苦了,希望能解决!
(因为不能上传图片,我不能把金字塔,程序化的设置界面放上来,但是我设定是:1. 未成交单0秒后自动撤单;2. 未成交单3秒后在50个变动单位内主动追单,否则主动撤单)
在“下单设置->程式化交易”里,有:
(1)未成交单【S1】秒后不成交就主动撤单。
可以设置何种情况下撤单。
(2)未成交单【S2】秒后不成交在【m】个变动价位范围内主动追单,否则就主动撤单(此处的S2不能为0:设成0秒就表示该追单无效了,追单时间的最少设置是1秒。)
A.S1=0,S2不等于0
如果委托单在S2秒后未成交,且未成交单的委托价格跟当时的对手价的价差在m个变动价位范围内,则以当时的对手价委托继续追单;如果价差不在m个变动价位内则主动撤单。
这里的追单在满足条件的情况下会一直进行下去,直到成交。
示例:撤单S1=0,追单S2=4秒
如果到第4秒仍未成交,且未成交单的委托价格跟当时的对手价的价差在m个变动价位范围内,则先撤单然后追单(在委托价格满足范围的情况下,追单的时间为无限长),直到成交;如果不满足未成交单的委托价格跟当时的对手价的价差在m个变动价位范围内,则主动撤单。
B. S1和S2都不等于0(若要追单时,请设置S1>S2)
如果委托单在S2秒后未成交,且未成交单的委托价格跟当时的对手价的价差在m个变动价位范围内,则以当时的对手价委托继续追单;如果价差不在m个变动价位内则主动撤单。
这里的追单时间最长为S1秒,若S1秒后追单仍为成交,则主动撤单。
①示例:撤单S1=9秒,追单S2=4秒。
如果到第4秒仍未成交,且未成交单的委托价格跟当时的对手价的价差在m个变动价位范围内,则先撤单然后追单(在委托价格满足范围的情况下,追单的时间最长为9秒),如果在追单9秒后仍为成交,则主动撤单;如果不满足未成交单的委托价格跟当时的对手价的价差在m个变动价位范围内,则主动撤单。
②示例:撤单S1=3秒,追单S2=4秒。
追单选项不起作用,因为没等追单条件成立,单子就被撤了(撤单选项起作用),追单就不会发生了。
默认情况下,在同一个周期,同一个执行语句,例如TBUY,金字塔只会在本周期执行一次动作,在固定轮循模式下,下个轮循则不会再反复下单。加ALLOWREPEAT目的即为打破此限制,强制可以同一个周期反复下单,完成一些特殊的算法逻辑。
一般追单都会选定时轮询(如4秒间隔),而金字塔在同一个周期内只会发出一次交易指令,下个4秒间隔后不会再发出交易指令,除非你在指令后指定ALLOWREPEAT指令,故追单选项需要加上。