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

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


Не работают правила 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 вначале - вставьте распечатку до них."
Обработчик правила сейчас выглядит так -
Code

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

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

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

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(IEnumerable`1 securitys) в C:\vb\General\PartizanV2\source\v.2.0\Robot.xaml.cs:строка 1943
в System.Action`1.Invoke(T obj)
в Ecng.Common.DelegateHelper.SafeInvoke[T](Action`1 handler, T arg)
в StockSharp.Algo.BaseTrader.#=qepDkskvfBznv_TxRF4yrHrSmn6GO3w$xqR1CIq0ckKQ=.#=qA2uCed6RkDY$ALG9UmQnSg==(IEnumerable`1 #=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(IEnumerable`1 securitys) в C:\vb\General\PartizanV2\source\v.2.0\Robot.xaml.cs:строка 1943
в System.Action`1.Invoke(T obj)
в Ecng.Common.DelegateHelper.SafeInvoke[T](Action`1 handler, T arg)
в StockSharp.Algo.BaseTrader.#=qepDkskvfBznv_TxRF4yrHrSmn6GO3w$xqR1CIq0ckKQ=.#=qA2uCed6RkDY$ALG9UmQnSg==(IEnumerable`1 #=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(IEnumerable`1 securitys) в C:\vb\General\PartizanV2\source\v.2.0\Robot.xaml.cs:строка 1943
в System.Action`1.Invoke(T obj)
в Ecng.Common.DelegateHelper.SafeInvoke[T](Action`1 handler, T arg)
в StockSharp.Algo.BaseTrader.#=qepDkskvfBznv_TxRF4yrHrSmn6GO3w$xqR1CIq0ckKQ=.#=qA2uCed6RkDY$ALG9UmQnSg==(IEnumerable`1 #=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(IEnumerable`1 securitys) в C:\Lib StockSharp\StockSharp_4.0.21_Sources\Samples\Quik\Sample\MainWindow.xaml.cs:строка 167
в Ecng.Common.DelegateHelper.SafeInvoke[T](Action`1 handler, T arg)
в StockSharp.Algo.BaseTrader.#=qepDkskvfBznv_TxRF4yrHrSmn6GO3w$xqR1CIq0ckKQ=.#=qA2uCed6RkDY$ALG9UmQnSg==(IEnumerable`1 #=qPGXNlOeGBVUabNWOLh_DvA==)
p.BestAsk == null
p.BestBid == null
System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
в Sample.MainWindow.Trader_SecuritiesChanged(IEnumerable`1 securitys) в C:\Lib StockSharp\StockSharp_4.0.21_Sources\Samples\Quik\Sample\MainWindow.xaml.cs:строка 167
в Ecng.Common.DelegateHelper.SafeInvoke[T](Action`1 handler, T arg)
в StockSharp.Algo.BaseTrader.#=qepDkskvfBznv_TxRF4yrHrSmn6GO3w$xqR1CIq0ckKQ=.#=qA2uCed6RkDY$ALG9UmQnSg==(IEnumerable`1 #=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(IEnumerable`1 securitys) в C:\Lib StockSharp\StockSharp_4.0.21_Sources\Samples\Quik\Sample\MainWindow.xaml.cs:строка 167
в Ecng.Common.DelegateHelper.SafeInvoke[T](Action`1 handler, T arg)
в StockSharp.Algo.BaseTrader.#=qepDkskvfBznv_TxRF4yrHrSmn6GO3w$xqR1CIq0ckKQ=.#=qA2uCed6RkDY$ALG9UmQnSg==(IEnumerable`1 #=qPGXNlOeGBVUabNWOLh_DvA==)
System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
в Sample.MainWindow.Trader_SecuritiesChanged(IEnumerable`1 securitys) в C:\Lib StockSharp\StockSharp_4.0.21_Sources\Samples\Quik\Sample\MainWindow.xaml.cs:строка 167
в Ecng.Common.DelegateHelper.SafeInvoke[T](Action`1 handler, T arg)
в StockSharp.Algo.BaseTrader.#=qepDkskvfBznv_TxRF4yrHrSmn6GO3w$xqR1CIq0ckKQ=.#=qA2uCed6RkDY$ALG9UmQnSg==(IEnumerable`1 #=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