X0Leon / XQuant

Simple backtester for human.
MIT License
75 stars 39 forks source link

Signal事件接连两次入queue,执行顺序错误 #1

Closed X0Leon closed 8 years ago

X0Leon commented 8 years ago

两个SignalEvent put到queue后,我们设想的应该是等第一个SignalEvent引发的order和fill执行完,再处理第二个signal,但是并不是,第二个signal事件排在了第一个order和fill事件的前面,导致次序不一致。

X0Leon commented 8 years ago

暂时采用每次calculate_signals调用中(每个k bar周期都会调用一次)只允许put SignalEvent一次,通过对SignalEvent属性扩展来解决,在Version 0.2.2中已修改。说明:因为这里只使用了一个队列,每个证券的每个预测按理说都应该是market->signal->order->fill顺利处理,但是signal一下子来多次,则次序就破坏了。