Что сие значит: #=qvz7eit8pxNUvraHaSr ...
Atom Ответить
01.10.2012


Переведите, плиз, с бусурманского хотя бы на английский, что означают эти много букв:

в System.Collections.Generic.Dictionary`2.get_Item(TKey key)
в Ecng.Collections.SynchronizedDictionary`2.get_Item(TKey key)
в StockSharp.Algo.Slippage.SlippageManager.#=qOdlOKYT7COgmqPX1tHXuEHbYAnvT834W6E6FOHURMcE=.#=qu2S$T40ImoiVKUxmYxNKqSNnpOcC2Gb1ab6h0c$CUCg=(CachedSynchronizedDictionary`2 #=q7cXFnd6TaxjCq8_SWcxE0w==)
в Ecng.Collections.CollectionHelper.SyncDo[TCollection](TCollection collection, Action`1 action)
в StockSharp.Algo.Slippage.SlippageManager.ReRegister(Order oldOrder, Order newOrder)
в StockSharp.Algo.Strategies.Strategy.#=qvz7eit8pxNUvraHaSroAfj5kI$J4SOZSa1OpNlmEebA=.#=qcGGdy5HGGyKT93RSQXkZ52LdTK4diyndWokNNDOQi5k=()
в StockSharp.Algo.Strategies.Strategy.#=q1z2_O1i2I6iBdwEbxAkKh1osVBgYzjMHQe3L5Nv5Euc=.#=qAdqcopAjDpR6VdVGil1jqAnNM_j68vMTvX0BJxTSRj0=()
в StockSharp.Algo.Strategies.Strategy.#=qEX_8L11P$MLYMk4kVxKAu7vVJZwAnY0R_winjcvGdyY=.#=qEgq5EsI$8yFLeWdf0XqNEA==(Action #=qyaY09V6QJlHsZBhBBylGnA==)
в StockSharp.Algo.Strategies.Strategy.#=q4hdKU5fePTKLCzx017mjgQ==(Action #=qoLtbGp5xIWnRL$3_yGkKCQ==)
в StockSharp.Algo.Strategies.Strategy.AddOrder(Order order)
в Ecng.Collections.CollectionHelper.ForEach[T](IEnumerable`1 source, Action`1 action)
в StockSharp.Algo.Strategies.Strategy.#=qdLN0rw1J6Fd1aeZySh4dRWtFlpk7T6cSgMkfR3IAaYQ=(IEnumerable`1 #=qOdkYLMiLGDQTkKTW9MyoVQ==)
в System.Action`1.Invoke(T obj)
в Ecng.Common.DelegateHelper.SafeInvoke[T](Action`1 handler, T arg)
в Ecng.ComponentModel.EventsContainer`1.Raise(IEnumerable`1 items)

А то замуровали демоны.

Теги:


Спасибо:




11 Ответов
Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 01.10.2012
Ответить


BigBen Перейти
Переведите, плиз, с бусурманского хотя бы на английский, что означают эти много букв:


Что-то с перерегистрацией. Старая заявка не найдена, а по ней уже идет замена.
Спасибо:

BigBen

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


"в System.Collections.Generic.Dictionary`2.get_Item(TKey key)
в Ecng.Collections.SynchronizedDictionary`2.get_Item(TKey key)
................................................................................................. "

А что это за словарь и как он формируется?
Автор топика
Спасибо:

BigBen

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


Молчат.
Как-то баг всё равно надо отловить.
Ладно, тогда попробую так.
С# 4.1.4
Робот ставит две заявки - buy & sell. Сопровождает их через Move до исполнения.
В логах то, что по умолчанию выводит сама библиотека:

..............................................................................................................................................
2012.10.09 19:55:34.699| |QuikTrader|New order: TrId=82465719, Id=1839315405, Dir=Buy, Price=9295, Bal=1, Sec=SRZ2@RTS, State=Active
2012.10.09 19:55:34.795| |QuikTrader|New order: TrId=82465720, Id=1839315407, Dir=Sell, Price=9299, Bal=1, Sec=SRZ2@RTS, State=Active
2012.10.09 19:55:34.968| |QuikTrader|Order changed: TrId=82465718, Id=1839315358, Dir=Buy, Price=9296, Bal=1, Sec=SRZ2@RTS, State=Done
2012.10.09 19:55:34.969| |Strategy2 |Заявка 82465718 больше не активна.
2012.10.09 19:55:35.044| |QuikTrader|Order changed: TrId=82465719, Id=1839315405, Dir=Buy, Price=9295, Bal=1, Sec=SRZ2@RTS, State=Active
2012.10.09 19:55:43.562| |QuikTrader|Order changed: TrId=82465716, Id=1839315336, Dir=Sell, Price=9300, Bal=1, Sec=SRZ2@RTS, State=Done
2012.10.09 19:55:43.627| |Strategy2 |Заявка 82465716 больше не активна.

2012.10.09 19:55:43.629| |QuikTrader|Order changed: TrId=82465720, Id=1839315407, Dir=Sell, Price=9299, Bal=1, Sec=SRZ2@RTS, State=Active
2012.10.09 19:55:43.630| |QuikTrader|Order changed: TrId=82465719, Id=1839315405, Dir=Buy, Price=9295, Bal=1, Sec=SRZ2@RTS, State=Active
2012.10.09 19:55:43.630| |QuikTrader|Order changed: TrId=82465720, Id=1839315407, Dir=Sell, Price=9299, Bal=1, Sec=SRZ2@RTS, State=Active

2012.10.09 19:55:43.878|Error |QuikTrader|System.Collections.Generic.KeyNotFoundException: Данный ключ отсутствует в словаре.
в System.Collections.Generic.Dictionary`2.get_Item(TKey key)
в Ecng.Collections.SynchronizedDictionary`2.get_Item(TKey key)
в StockSharp.Algo.Slippage.SlippageManager.#=qOdlOKYT7COgmqPX1tHXuEHbYAnvT834W6E6FOHURMcE=.#=qu2S$T40ImoiVKUxmYxNKqSNnpOcC2Gb1ab6h0c$CUCg=(CachedSynchronizedDictionary`2 #=q7cXFnd6TaxjCq8_SWcxE0w==)
в Ecng.Collections.CollectionHelper.SyncDo[TCollection](TCollection collection, Action`1 action)
в StockSharp.Algo.Slippage.SlippageManager.ReRegister(Order oldOrder, Order newOrder)
в StockSharp.Algo.Strategies.Strategy.#=qvz7eit8pxNUvraHaSroAfj5kI$J4SOZSa1OpNlmEebA=.#=qcGGdy5HGGyKT93RSQXkZ52LdTK4diyndWokNNDOQi5k=()
в StockSharp.Algo.Strategies.Strategy.#=q1z2_O1i2I6iBdwEbxAkKh1osVBgYzjMHQe3L5Nv5Euc=.#=qAdqcopAjDpR6VdVGil1jqAnNM_j68vMTvX0BJxTSRj0=()
в StockSharp.Algo.Strategies.Strategy.#=qEX_8L11P$MLYMk4kVxKAu7vVJZwAnY0R_winjcvGdyY=.#=qEgq5EsI$8yFLeWdf0XqNEA==(Action #=qyaY09V6QJlHsZBhBBylGnA==)
в StockSharp.Algo.Strategies.Strategy.#=q4hdKU5fePTKLCzx017mjgQ==(Action #=qoLtbGp5xIWnRL$3_yGkKCQ==)
в StockSharp.Algo.Strategies.Strategy.AddOrder(Order order)
в Ecng.Collections.CollectionHelper.ForEach[T](IEnumerable`1 source, Action`1 action)
в StockSharp.Algo.Strategies.Strategy.#=qdLN0rw1J6Fd1aeZySh4dRWtFlpk7T6cSgMkfR3IAaYQ=(IEnumerable`1 #=qOdkYLMiLGDQTkKTW9MyoVQ==)
в System.Action`1.Invoke(T obj)
в Ecng.Common.DelegateHelper.SafeInvoke[T](Action`1 handler, T arg)
в Ecng.ComponentModel.EventsContainer`1.Raise(IEnumerable`1 items)

2012.10.09 19:55:43.984| |QuikTrader|New order: TrId=82465721, Id=1839315612, Dir=Buy, Price=9296, Bal=1, Sec=SRZ2@RTS, State=Active
2012.10.09 19:55:44.068| |QuikTrader|Order changed: TrId=82465719, Id=1839315405, Dir=Buy, Price=9295, Bal=1, Sec=SRZ2@RTS, State=Done
2012.10.09 19:55:44.070| |Strategy2 |Заявка 82465719 больше не активна.
2012.10.09 19:55:44.071| |QuikTrader|Order changed: TrId=82465721, Id=1839315612, Dir=Buy, Price=9296, Bal=1, Sec=SRZ2@RTS, State=Active
2012.10.09 19:55:44.072| |QuikTrader|Order changed: TrId=82465720, Id=1839315407, Dir=Sell, Price=9299, Bal=1, Sec=SRZ2@RTS, State=Done
2012.10.09 19:55:44.072| |Strategy2 |Заявка 82465720 больше не активна.

2012.10.09 19:55:44.088| |QuikTrader|Order changed: TrId=82465722, Id=0, Dir=Sell, Price=9300, Bal=1, Sec=SRZ2@RTS, State=Active
2012.10.09 19:55:44.089| |QuikTrader|Order changed: TrId=82465721, Id=1839315612, Dir=Buy, Price=9296, Bal=1, Sec=SRZ2@RTS, State=Active
2012.10.09 19:55:44.090| |QuikTrader|Order changed: TrId=82465722, Id=0, Dir=Sell, Price=9300, Bal=1, Sec=SRZ2@RTS, State=Active
2012.10.09 19:55:44.637| |QuikTrader|New order: TrId=82465722, Id=1839315613, Dir=Sell, Price=9300, Bal=1, Sec=SRZ2@RTS, State=Active

...............................................................................................................................................

На 35-ой секунде через Move появились новые ордера TrId=82465719 и TrId=82465720 взамен TrId=82465718 и TrId=82465716.
У обеих новых заявок State=Active. Робот это понимает и на 44-ой секунде отправляет Move на замену одной из них.
Библиотека сообщает - KeyNotFoundException: Данный ключ отсутствует в словаре. Однако сервер биржы принимает замену
и на 44-ой и 45-ой секундах информирует о снятии TrId=82465719 и TrId=82465720, и активации TrId=82465721 и TrId=82465722.
Робот и сервер биржы друг друга поняли, а библиотека при своём мнении.
Где-то тут косяк.
Что скажите?
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 10.10.2012
Ответить


BigBen Перейти
Молчат.
Как-то баг всё равно надо отловить.


Ошибка в вашем коде, я писал это сразу.

BigBen Перейти

Ладно, тогда попробую так.
С# 4.1.4
Что скажите?


Качайте 4.1.5 из транка.
Спасибо:

BigBen

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


Я думаю это не ошибка, что у меня состояние Active заявки определяется в order.WhenRegistered и в order.WhenChanged()-OrderStates.Active. Эти правила срабатывают в разной последовательности и по первому выполненному я фиксирую State=Active для заявки, при этом второе правило не исполняется.
Если в ваш словарь ордер попадает, например, только через WhenRegistered, которое отработало после WhenChanged, а я уже зафиксировал State=Active для заявки и отправил Move на биржу, то тогда мы с сервером друг друга поймём, а библиотека нас - нет.
Почему я и пытаюсь добиться ответа, как у вас формируется этот словарь?

Кстати, с отключенным правилом order.WhenChanged()-OrderStates.Active робот колбасит пока без ошибок.
Но в этом случае не самая быстрая реакция на OrderMove.
Разберём эту ситуацию до конца или не будете?
Автор топика
Спасибо:

esper

Фотография
Программист
Дата: 10.10.2012
Ответить


На 4.1.5 тоже повторяется? По вашим данным не видно, каким образом и с какими параметрами делается move заявок.
Спасибо:

BigBen

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


Это было на 4.0.23, это есть на 4.1.4, почему-то думаю, что и на 4.1.5 будет.
4.1.5 пока не ставил, хочу разобраться с обозначенным вопросом.
Автор топика
Спасибо:

esper

Фотография
Программист
Дата: 10.10.2012
Ответить


Как раз в последних билдах 4.1.5 много всего поменялось в квиковском коннекторе.
Спасибо:

BigBen

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


Добавил 2 строки по ReRegister, которые вывожу я. Они выделены Bold.
..............................................................................................................................................
2012.10.09 19:55:34.699| |QuikTrader|New order: TrId=82465719, Id=1839315405, Dir=Buy, Price=9295, Bal=1, Sec=SRZ2@RTS, State=Active
2012.10.09 19:55:34.795| |QuikTrader|New order: TrId=82465720, Id=1839315407, Dir=Sell, Price=9299, Bal=1, Sec=SRZ2@RTS, State=Active
2012.10.09 19:55:34.968| |QuikTrader|Order changed: TrId=82465718, Id=1839315358, Dir=Buy, Price=9296, Bal=1, Sec=SRZ2@RTS, State=Done
2012.10.09 19:55:34.969| |Strategy2 |Заявка 82465718 больше не активна.
2012.10.09 19:55:35.044| |QuikTrader|Order changed: TrId=82465719, Id=1839315405, Dir=Buy, Price=9295, Bal=1, Sec=SRZ2@RTS, State=Active
2012.10.09 19:55:43.562| |QuikTrader|Order changed: TrId=82465716, Id=1839315336, Dir=Sell, Price=9300, Bal=1, Sec=SRZ2@RTS, State=Done
2012.10.09 19:55:43.627| |Strategy2 |Заявка 82465716 больше не активна.

2012.10.09 19:55:43.629| |QuikTrader|Order changed: TrId=82465720, Id=1839315407, Dir=Sell, Price=9299, Bal=1, Sec=SRZ2@RTS, State=Active
2012.10.09 19:55:43.630| |QuikTrader|Order changed: TrId=82465719, Id=1839315405, Dir=Buy, Price=9295, Bal=1, Sec=SRZ2@RTS, State=Active
2012.10.09 19:55:43.630| |QuikTrader|Order changed: TrId=82465720, Id=1839315407, Dir=Sell, Price=9299, Bal=1, Sec=SRZ2@RTS, State=Active

2012.10.09 19:55:43.755| |Strategy2 | - ReRegister->oldOrder: TrId=82465719, Id=1839315405, Dir=Buy, Price=9295, Bal=1, Sec=SRZ2@RTS, State=Active || newORDER: TrId=82465721, Price=9296
2012.10.09 19:55:43.770| |Strategy2 | - ReRegister->oldOrder: TrId=82465720, Id=1839315407, Dir=Sell, Price=9299, Bal=1, Sec=SRZ2@RTS, State=Active || newORDER: TrId=82465722, Price=9300


2012.10.09 19:55:43.878|Error |QuikTrader|System.Collections.Generic.KeyNotFoundException: Данный ключ отсутствует в словаре.
в System.Collections.Generic.Dictionary`2.get_Item(TKey key)
в Ecng.Collections.SynchronizedDictionary`2.get_Item(TKey key)
в StockSharp.Algo.Slippage.SlippageManager.#=qOdlOKYT7COgmqPX1tHXuEHbYAnvT834W6E6FOHURMcE=.#=qu2S$T40ImoiVKUxmYxNKqSNnpOcC2Gb1ab6h0c$CUCg=(CachedSynchronizedDictionary`2 #=q7cXFnd6TaxjCq8_SWcxE0w==)
в Ecng.Collections.CollectionHelper.SyncDo[TCollection](TCollection collection, Action`1 action)
в StockSharp.Algo.Slippage.SlippageManager.ReRegister(Order oldOrder, Order newOrder)
в StockSharp.Algo.Strategies.Strategy.#=qvz7eit8pxNUvraHaSroAfj5kI$J4SOZSa1OpNlmEebA=.#=qcGGdy5HGGyKT93RSQXkZ52LdTK4diyndWokNNDOQi5k=()
в StockSharp.Algo.Strategies.Strategy.#=q1z2_O1i2I6iBdwEbxAkKh1osVBgYzjMHQe3L5Nv5Euc=.#=qAdqcopAjDpR6VdVGil1jqAnNM_j68vMTvX0BJxTSRj0=()
в StockSharp.Algo.Strategies.Strategy.#=qEX_8L11P$MLYMk4kVxKAu7vVJZwAnY0R_winjcvGdyY=.#=qEgq5EsI$8yFLeWdf0XqNEA==(Action #=qyaY09V6QJlHsZBhBBylGnA==)
в StockSharp.Algo.Strategies.Strategy.#=q4hdKU5fePTKLCzx017mjgQ==(Action #=qoLtbGp5xIWnRL$3_yGkKCQ==)
в StockSharp.Algo.Strategies.Strategy.AddOrder(Order order)
в Ecng.Collections.CollectionHelper.ForEach[T](IEnumerable`1 source, Action`1 action)
в StockSharp.Algo.Strategies.Strategy.#=qdLN0rw1J6Fd1aeZySh4dRWtFlpk7T6cSgMkfR3IAaYQ=(IEnumerable`1 #=qOdkYLMiLGDQTkKTW9MyoVQ==)
в System.Action`1.Invoke(T obj)
в Ecng.Common.DelegateHelper.SafeInvoke[T](Action`1 handler, T arg)
в Ecng.ComponentModel.EventsContainer`1.Raise(IEnumerable`1 items)

2012.10.09 19:55:43.984| |QuikTrader|New order: TrId=82465721, Id=1839315612, Dir=Buy, Price=9296, Bal=1, Sec=SRZ2@RTS, State=Active
2012.10.09 19:55:44.068| |QuikTrader|Order changed: TrId=82465719, Id=1839315405, Dir=Buy, Price=9295, Bal=1, Sec=SRZ2@RTS, State=Done
2012.10.09 19:55:44.070| |Strategy2 |Заявка 82465719 больше не активна.
2012.10.09 19:55:44.071| |QuikTrader|Order changed: TrId=82465721, Id=1839315612, Dir=Buy, Price=9296, Bal=1, Sec=SRZ2@RTS, State=Active
2012.10.09 19:55:44.072| |QuikTrader|Order changed: TrId=82465720, Id=1839315407, Dir=Sell, Price=9299, Bal=1, Sec=SRZ2@RTS, State=Done
2012.10.09 19:55:44.072| |Strategy2 |Заявка 82465720 больше не активна.

2012.10.09 19:55:44.088| |QuikTrader|Order changed: TrId=82465722, Id=0, Dir=Sell, Price=9300, Bal=1, Sec=SRZ2@RTS, State=Active
2012.10.09 19:55:44.089| |QuikTrader|Order changed: TrId=82465721, Id=1839315612, Dir=Buy, Price=9296, Bal=1, Sec=SRZ2@RTS, State=Active
2012.10.09 19:55:44.090| |QuikTrader|Order changed: TrId=82465722, Id=0, Dir=Sell, Price=9300, Bal=1, Sec=SRZ2@RTS, State=Active
2012.10.09 19:55:44.637| |QuikTrader|New order: TrId=82465722, Id=1839315613, Dir=Sell, Price=9300, Bal=1, Sec=SRZ2@RTS, State=Active

...............................................................................................................................................
Автор топика
Спасибо:

BigBen

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


esper Перейти
Как раз в последних билдах 4.1.5 много всего поменялось в квиковском коннекторе.


Я высказал предположение, как мне это видится со стороны через непроницаемые стенки "чёрного ящика", но никто не опроверг и не подтвердил.
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 10.10.2012
Ответить


BigBen Перейти
esper Перейти
Как раз в последних билдах 4.1.5 много всего поменялось в квиковском коннекторе.


Я высказал предположение, как мне это видится со стороны через непроницаемые стенки "чёрного ящика", но никто не опроверг и не подтвердил.


https://stocksharp.ru/sources/
Спасибо:


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

loading
clippy