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

Не работают правила BestAskPriceMore и BestAskPriceLess
Atom
3/2/2012
vader


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

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


Tags:


Thanks:


< 1 2 3 4  >
Alexander

Avatar
Date: 3/11/2012
Reply


Что у вас сейчас в обработчике правила? Если есть какая-то распечатка при вызове его - ок. Если идут какие-то if вначале - вставьте распечатку до них.

Thanks:

vader

Avatar
Date: 3/11/2012
Reply


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

"Что у вас сейчас в обработчике правила? Если есть какая-то распечатка при вызове его - ок. Если идут какие-то if вначале - вставьте распечатку до них." Обработчик правила сейчас выглядит так -


private void DoBestBidPriceMore()
        {
            WriteDiagnostics("DoBestBidPriceMore " + Security.BestAsk.Price.ToString());
        }

Он не был ни раз вызван.

Само правило создается так


this.When(Security.BestBidPriceMore(GetCurPrice()))
                    .Do(DoBestBidPriceMore);
            WriteDiagnostics("Создали правило BestBidPriceMore с ценой " + GetCurPrice().ToString());

Лог Log securitys 171245 171235 Log securitys 171245 171235 Log securitys 171245 171235 Log p.BestAsk == null Log p.BestBid == null Log securitys 171245 171235 Log System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта. в BSPB.Partizan.Robot.Trader_SecuritiesChanged(IEnumerable1 securitys) в C:\vb\General\PartizanV2\source\v.2.0\Robot.xaml.cs:строка 1943 в 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 171245 171235 Log securitys 171245 171235 Log securitys 171245 171235 Log securitys 171245 171235 Log securitys 171245 171235 Log securitys 171245 171235 Log securitys 171245 171235 ARBR Buy RIH2 11.03.2012 17:21:13 Создали правило BestBidPriceMore с ценой 171200 Log p.BestAsk == null Log p.BestBid == null Log securitys 171245 171235 Log System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта. в BSPB.Partizan.Robot.Trader_SecuritiesChanged(IEnumerable1 securitys) в C:\vb\General\PartizanV2\source\v.2.0\Robot.xaml.cs:строка 1943 в 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 171245 171235 Log securitys 171245 171240 Log securitys 171245 171240 Log securitys 171245 171240 Log securitys 171260 171240 Log securitys 171260 171245 Log securitys 171260 171240 Log securitys 171260 171240 Log securitys 171260 171240 Log securitys 171260 171240 Log securitys 171260 171240 Log securitys 171260 171240 Log securitys 171260 171240 Log securitys 171260 171240 Log p.BestAsk == null Log p.BestBid == null Log securitys 171260 171240 Log System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта. в BSPB.Partizan.Robot.Trader_SecuritiesChanged(IEnumerable1 securitys) в C:\vb\General\PartizanV2\source\v.2.0\Robot.xaml.cs:строка 1943 в 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 171255 171240 Log securitys 171255 171240

Thanks:

Alexander

Avatar
Date: 3/11/2012
Reply


Покажите свой квик. Дополнительные колонки из таблицы инструментов экспортируются?

Thanks:

vader

Avatar
Date: 3/11/2012
Reply


Показать Квик - в плане? Вас интересует как настроены таблицы? Настройка таблиц произведена загреузкой Вашего wnd.

"Дополнительные колонки из таблицы инструментов экспортируются?" Да - DdeSecurityColumns.MinStepPrice.

Thanks:

vader

Avatar
Date: 3/11/2012
Reply


Не могу прикрепить скрин.

<a href='http://www.pictureshack.ru/view_9937Novyi_tochechnyi_risunok.jpg'><img src='http://www.pictureshack.ru/thumbs/9937Novyi_tochechnyi_risunok.jpg' border='0'></a>

Thanks:

Alexander

Avatar
Date: 3/11/2012
Reply


Вы сами нигде не обнуляете BestBid\BestAsk случайно? А то мягко говоря что-то странное происходит.

Предлагаю сделать следующее. Берёте Quik\Sample, в котором точно не будет изменений. Далее подписываетесь на событие Trader.SecuritiesChanged и выводите BestBid \ BestAsk

Thanks:

Alexander

Avatar
Date: 3/11/2012
Reply


По прикреплённому скриншоту:

  1. У вас дополнительные колонки в стакане. Как вы их экспортируете? Создайте стандартный стакан, без доп. колонок, как по документации. Попробуйте с ним.
  2. В документации сказано про стакан что внизу офера, вверху биды. У вас наоборот. Сделайте согласно документации.
  3. Вы дополнительно экспортируете DdeSecurityColumns.MinStepPrice. Где оно у вас на скриншоте?
Thanks:

vader

Avatar
Date: 3/11/2012
Reply


Сделал как Вы сказали - увы. p.BestAsk == null p.BestBid == null System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта. в Sample.MainWindow.Trader_SecuritiesChanged(IEnumerable1 securitys) в C:\Lib StockSharp\StockSharp_4.0.21_Sources\Samples\Quik\Sample\MainWindow.xaml.cs:строка 167 в Ecng.Common.DelegateHelper.SafeInvoke(Action1 handler, T arg) в StockSharp.Algo.BaseTrader.#=qepDkskvfBznv_TxRF4yrHrSmn6GO3w$xqR1CIq0ckKQ=.#=qA2uCed6RkDY$ALG9UmQnSg==(IEnumerable1 #=qPGXNlOeGBVUabNWOLh_DvA==) p.BestAsk == null p.BestBid == null System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта. в Sample.MainWindow.Trader_SecuritiesChanged(IEnumerable1 securitys) в C:\Lib StockSharp\StockSharp_4.0.21_Sources\Samples\Quik\Sample\MainWindow.xaml.cs:строка 167 в Ecng.Common.DelegateHelper.SafeInvoke(Action1 handler, T arg) в StockSharp.Algo.BaseTrader.#=qepDkskvfBznv_TxRF4yrHrSmn6GO3w$xqR1CIq0ckKQ=.#=qA2uCed6RkDY$ALG9UmQnSg==(IEnumerable1 #=qPGXNlOeGBVUabNWOLh_DvA==) p.BestAsk == null p.BestBid == null

Thanks:

vader

Avatar
Date: 3/11/2012
Reply


Сделал как Вы сказали - результат тот же p.BestAsk == null p.BestAsk == null p.BestBid == null p.BestBid == null System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта. в Sample.MainWindow.Trader_SecuritiesChanged(IEnumerable1 securitys) в C:\Lib StockSharp\StockSharp_4.0.21_Sources\Samples\Quik\Sample\MainWindow.xaml.cs:строка 167 в Ecng.Common.DelegateHelper.SafeInvoke(Action1 handler, T arg) в StockSharp.Algo.BaseTrader.#=qepDkskvfBznv_TxRF4yrHrSmn6GO3w$xqR1CIq0ckKQ=.#=qA2uCed6RkDY$ALG9UmQnSg==(IEnumerable1 #=qPGXNlOeGBVUabNWOLh_DvA==) System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта. в Sample.MainWindow.Trader_SecuritiesChanged(IEnumerable1 securitys) в C:\Lib StockSharp\StockSharp_4.0.21_Sources\Samples\Quik\Sample\MainWindow.xaml.cs:строка 167 в Ecng.Common.DelegateHelper.SafeInvoke(Action1 handler, T arg) в StockSharp.Algo.BaseTrader.#=qepDkskvfBznv_TxRF4yrHrSmn6GO3w$xqR1CIq0ckKQ=.#=qA2uCed6RkDY$ALG9UmQnSg==(IEnumerable1 #=qPGXNlOeGBVUabNWOLh_DvA==)

Картинка

Thanks:

Alexander

Avatar
Date: 3/11/2012
Reply


Quik\Sample попробовали? И что у вас на 167 строке что он так ругается? :)

Thanks:
< 1 2 3 4  >

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy