Не работают правила BestAskPriceMore и BestAskPriceLess

Не работают правила BestAskPriceMore и BestAskPriceLess
Atom
02.03.2012
vader


Не работают правила BestAskPriceMore и BestAskPriceLess. Создал их относительно одной цены - ни одно из них не сработало. При этом MarketDepthChanged.

Версия S# - исправленная версия 4.0.20.


Теги:


Спасибо:


< 1 2 3 4  >
vader

Фотография
Дата: 05.03.2012
Ответить


"и чему равно BestBid что вы распечатали?" С BestBid тоже все в порядке.

"по стакану - получите через метод, далее можете хоть через дебагер показать аски \ биды." Сделано так - сначала стакан я получаю стакан через метод Trader.GetMarketDepth(security), сохраняю ссылку на него и когда мне нужно я поучаю его таким образом - _marketDepth.GetTopQuotes(20) В дебаге видно что стакан заполнен бидами и асками.

Спасибо:

Alexander

Фотография
Дата: 09.03.2012
Ответить


В 4.0.21 будет фикс

Спасибо:

vader

Фотография
Дата: 11.03.2012
Ответить


К сожалению правила BestBidPriceMore и BestAskPriceLess не работают.

Спасибо:

Alexander

Фотография
Дата: 11.03.2012
Ответить


Security.Trader.SecuritiesChanged вызывается? И посмотрите по этому событию последовательно как у вас меняется BestAsk \ BestBid

Спасибо:

vader

Фотография
Дата: 11.03.2012
Ответить


С некотрой периодичностью такой код говорит, что BestAsk и BestBid одновременно являются null.


TraderWorker.GetInstance().Trader.SecuritiesChanged +=(Trader_SecuritiesChanged);

private void Trader_SecuritiesChanged(IEnumerable<StockSharp.BusinessEntities.Security> securitys)
        {
            foreach(Security p in securitys) {
                if(p == null) {
                    Log.WriteGeneralDiagnostics("p == null");
                }
                if(p.BestAsk == null) {
                    Log.WriteGeneralDiagnostics("p.BestAsk == null");
                }
                if(p.BestBid == null) {
                    Log.WriteGeneralDiagnostics("p.BestBid == null");
                }
                Log.WriteGeneralDiagnostics("securitys " + p.BestAsk.Price.ToString() + " " + p.BestBid.Price.ToString());
            }
        }

Log securitys 171230 171165 Log securitys 171230 171165 Log securitys 171230 171165 Log securitys 171230 171165 Log securitys 171195 171180 Log securitys 171220 171165 Log securitys 171220 171180 Log securitys 171220 171165 Log securitys 171220 171175 Log securitys 171220 171175 Log securitys 171220 171165 Log securitys 171220 171175 Log p.BestAsk == null Log p.BestBid == null Log System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта. в BSPB.Partizan.Robot.Trader_SecuritiesChanged(IEnumerable1 securitys) в C:\vb\General\PartizanV2\source\v.2.0\Robot.xaml.cs:строка 1944 в System.Action1.Invoke(T obj) в Ecng.Common.DelegateHelper.SafeInvoke(Action1 handler, T arg) в StockSharp.Algo.BaseTrader.#=qepDkskvfBznv_TxRF4yrHrSmn6GO3w$xqR1CIq0ckKQ=.#=qA2uCed6RkDY$ALG9UmQnSg==(IEnumerable1 #=qPGXNlOeGBVUabNWOLh_DvA==) Log securitys 171220 171180 Log p.BestAsk == null Log securitys 171220 171180 Log p.BestBid == null Log securitys 171220 171180 Log System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта. в BSPB.Partizan.Robot.Trader_SecuritiesChanged(IEnumerable1 securitys) в C:\vb\General\PartizanV2\source\v.2.0\Robot.xaml.cs:строка 1944 в System.Action1.Invoke(T obj) в Ecng.Common.DelegateHelper.SafeInvoke(Action1 handler, T arg) в StockSharp.Algo.BaseTrader.#=qepDkskvfBznv_TxRF4yrHrSmn6GO3w$xqR1CIq0ckKQ=.#=qA2uCed6RkDY$ALG9UmQnSg==(IEnumerable1 #=qPGXNlOeGBVUabNWOLh_DvA==) Log securitys 171200 171180 Log p.BestAsk == null Log p.BestBid == null Log System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта. в BSPB.Partizan.Robot.Trader_SecuritiesChanged(IEnumerable1 securitys) в C:\vb\General\PartizanV2\source\v.2.0\Robot.xaml.cs:строка 1944 в System.Action1.Invoke(T obj) в Ecng.Common.DelegateHelper.SafeInvoke(Action1 handler, T arg) в StockSharp.Algo.BaseTrader.#=qepDkskvfBznv_TxRF4yrHrSmn6GO3w$xqR1CIq0ckKQ=.#=qA2uCed6RkDY$ALG9UmQnSg==(IEnumerable1 #=qPGXNlOeGBVUabNWOLh_DvA==) Log securitys 171200 171180 Log securitys 171200 171180 Log securitys 171200 171180 Log securitys 171200 171180 Log securitys 171200 171180 Log securitys 171200 171180 Log securitys 171200 171175 Log securitys 171195 171175 Log securitys 171195 171175 Log securitys 171195 171175 Log securitys 171190 171160 Log securitys 171190 171165 Log securitys 171190 171180 Log securitys 171190 171180 Log p.BestAsk == null Log p.BestBid == null Log securitys 171190 171180 Log System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта. в BSPB.Partizan.Robot.Trader_SecuritiesChanged(IEnumerable1 securitys) в C:\vb\General\PartizanV2\source\v.2.0\Robot.xaml.cs:строка 1944 в System.Action1.Invoke(T obj) в Ecng.Common.DelegateHelper.SafeInvoke(Action1 handler, T arg) в StockSharp.Algo.BaseTrader.#=qepDkskvfBznv_TxRF4yrHrSmn6GO3w$xqR1CIq0ckKQ=.#=qA2uCed6RkDY$ALG9UmQnSg==(IEnumerable1 #=qPGXNlOeGBVUabNWOLh_DvA==) Log securitys 171195 171180 Log securitys 171195 171180 Log securitys 171195 171180 Log securitys 171195 171180 Log securitys 171195 171180 Log securitys 171195 171180 Log securitys 171190 171180 Log securitys 171190 171180 Log securitys 171190 171180 Log securitys 171190 171180 Log securitys 171190 171180 Log securitys 171190 171180 Log securitys 171190 171180 Log p.BestAsk == null Log p.BestBid == null

Спасибо:

Alexander

Фотография
Дата: 11.03.2012
Ответить


И с какой ценой вы запускаете правило BestBidPriceMore что оно у вас ни разу не срабатывает?

Спасибо:

Mikhail Sukhov

Фотография
Дата: 11.03.2012
Ответить


Что-то вы с QuikTrader плохое понаделали в своем коде.

Спасибо:

vader

Фотография
Дата: 11.03.2012
Ответить


"И с какой ценой вы запускаете правило BestBidPriceMore что оно у вас ни разу не срабатывает?"

Log securitys 171255 171250 Log securitys 171255 171250 ARBR Buy RIH2 11.03.2012 13:33:19 Создали правило BestBidPriceMore с ценой 171240 ARBR Buy RIH2 11.03.2012 13:33:19 OnStarting1 Log securitys 171255 171250 Log securitys 171255 171250

"Что-то вы с QuikTrader плохое понаделали в своем коде." отнаследовался от него.

Спасибо:

Alexander

Фотография
Дата: 11.03.2012
Ответить


Сделайте правило без наследника от QuikTrader, стандартный Trader. По срабатыванию правила добавьте просто распечатку что правило сработало.

Спасибо:

vader

Фотография
Дата: 11.03.2012
Ответить


"Сделайте правило без наследника от QuikTrader, стандартный Trader." Сделаю. "По срабатыванию правила добавьте просто распечатку что правило сработало." Правило то не срабатывает. Как я по нему распечатку дам?

Спасибо:
< 1 2 3 4  >

Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy