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

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


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

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

Теги:


Спасибо:


< 1 2 3 4  >
Alexander

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


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

vader

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


"Сделайте правило без наследника от 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(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
Спасибо:

Alexander

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


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

vader

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


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

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

vader

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


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

<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>
Спасибо:

Alexander

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


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


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

Alexander

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


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

vader

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


Сделал как Вы сказали - увы.
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
Спасибо:

vader

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


Сделал как Вы сказали - результат тот же
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==)

Картинка
Спасибо:

Alexander

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


Quik\Sample попробовали?
И что у вас на 167 строке что он так ругается? :)
Спасибо:
< 1 2 3 4  >

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

loading
clippy