Как бороться с кривыми данными от брокера
Atom Ответить
10.02.2012


Народ, а кто и как решает проблему кривых данных от брокера? У меня на двух брокерах крутятся решения на S#. Сегодня оба (не буду показывать пальцем) чудят. У одного в таблице "Все сделки" в 11:30 остановился поток сделок и замерли стаканы. В системных сообщениях было соответствующее уведомление - на счет своевременности не знаю - звоню сразу в тех поддержку. У второго упали сервера и нужно было переподключаться к другому - мигает конверт в трее квика - нужно было кликнуть, прочитать и переподключиться.
У обоих брокеров - квик
Что делать - следить за уведомлениями квика?

Теги:


Спасибо:




15 Ответов
Mikhail Sukhov

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


vfreeman Перейти
Народ, а кто и как решает проблему кривых данных от брокера?


vfreeman Перейти
У обоих брокеров - квик


Причина ясна. Поэтому, ее можно переформулировать в "Как бороться с кривым Квиком".
Спасибо:

tmt

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


Mikhail Sukhov Перейти
vfreeman Перейти
Народ, а кто и как решает проблему кривых данных от брокера?


vfreeman Перейти
У обоих брокеров - квик


Причина ясна. Поэтому, ее можно переформулировать в "Как бороться с кривым Квиком".

Меня кстати тоже волнует вопрос этот, а в частности как грамотно квик настроить.. Просто таблицы я настраивал, но у меня экспорт криво работал(месяц назад..) приходилось выключать экспорт, потом снова включать(в самом квике. тока тогда начинал работать робот консольный). Но думаю это не проблема! кому нужно, разберется в чем причина!
Спасибо:

Garic

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


Mikhail Sukhov Перейти
Причина ясна. Поэтому, ее можно переформулировать в "Как бороться с кривым Квиком".


Угу.
У меня вчера тоже были траблы сначала с сервером брокера (несколько раз реконект).
Бот слал смс-ки - "хозяин, мне плохо"
Через пару часов закончилось вот так:

Код

Description: The process was terminated due to an unhandled exception.
Exception Info: System.InvalidOperationException
Stack:
   at System.ThrowHelper.ThrowInvalidOperationException(System.ExceptionResource)
   at System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[[System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].MoveNext()
   at System.Linq.Enumerable+<SelectManyIterator>d__14`2[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].MoveNext()
   at System.Linq.Buffer`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]..ctor(System.Collections.Generic.IEnumerable`1<System.__Canon>)
   at System.Linq.Enumerable.ToArray[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](System.Collections.Generic.IEnumerable`1<System.__Canon>)
   at StockSharp.Algo.BaseTrader+#=qtruM7DL_npiEl2WbIrnVyg==.#=qsPudgqWTa$AO0p2eXUahDgOIpsfNdy1MEvAMNXLBxmo=(Ecng.Collections.SynchronizedDictionary`2<StockSharp.BusinessEntities.Security,#=qWqHj$_khap3g0KUFboUGGA==>)
   at Ecng.Collections.CollectionHelper.SyncGet[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](System.__Canon, System.Func`2<System.__Canon,System.__Canon>)
   at StockSharp.Algo.BaseTrader+#=qtruM7DL_npiEl2WbIrnVyg==.#=qeT3WNUPfJbjDP1lYSNY_jQ==()
   at StockSharp.Algo.BaseTrader.get_Trades()
   at .(System.Object, System.EventArgs)
   at System.EventHandler.Invoke(System.Object, System.EventArgs)
   at System.Windows.Threading.DispatcherTimer.FireTick(System.Object)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
   at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
   at System.Windows.Threading.DispatcherOperation.InvokeImpl()
   at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object)
   at System.Threading.ExecutionContext.runTryCode(System.Object)
   at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode, CleanupCode, System.Object)
   at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
   at System.Windows.Threading.DispatcherOperation.Invoke()
   at System.Windows.Threading.Dispatcher.ProcessQueue()
   at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
   at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
   at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
   at System.Windows.Threading.Dispatcher.InvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
   at MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
   at System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
   at System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame)
   at System.Windows.Threading.Dispatcher.Run()
   at System.Windows.Application.RunDispatcher(System.Object)
   at System.Windows.Application.RunInternal(System.Windows.Window)
   at System.Windows.Application.Run(System.Windows.Window)
   at Garic.App.()


Хорошо что он оказался в шорте :)
Спасибо:

Mikhail Sukhov

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


Garic Перейти
Mikhail Sukhov Перейти
Причина ясна. Поэтому, ее можно переформулировать в "Как бороться с кривым Квиком".


Угу.
У меня вчера тоже были траблы сначала с сервером брокера (несколько раз реконект).
Бот слал смс-ки - "хозяин, мне плохо"
Через пару часов закончилось вот так:


Это уже наше.Cool Написали бы вчера, был бы фикс. А теперь уже не знаю когда.
Спасибо:

vfreeman

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


Mikhail Sukhov Перейти
vfreeman Перейти
Народ, а кто и как решает проблему кривых данных от брокера?


vfreeman Перейти
У обоих брокеров - квик


Причина ясна. Поэтому, ее можно переформулировать в "Как бороться с кривым Квиком".


кроме квика ничего не видел - привык к нему, но для S# завел бы другой терминал или чего там еще.
а на что можете посоветовать переехать? насколько я понял S# поддерживает другие терминалы и подключение к Plaza и при этом код не потребует сильных изменений, если конечно не использовать экзотических особенностей терминала.
Автор топика
Спасибо:

Garic

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


vfreeman Перейти
кроме квика ничего не видел - привык к нему, но для S# завел бы другой терминал или чего там еще.
а на что можете посоветовать переехать? насколько я понял S# поддерживает другие терминалы и подключение к Plaza и при этом код не потребует сильных изменений, если конечно не использовать экзотических особенностей терминала.


Да тут и смартТрейд лежал в четверг - работал только резервный серв. На промах тоже говорят глюки бывают.
Сезонное обострение )
Спасибо:

Mikhail Sukhov

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


vfreeman Перейти

кроме квика ничего не видел - привык к нему, но для S# завел бы другой терминал или чего там еще.
а на что можете посоветовать переехать? насколько я понял S# поддерживает другие терминалы и подключение к Plaza и при этом код не потребует сильных изменений, если конечно не использовать экзотических особенностей терминала.


Да кроме Квика теперь уже куча вариантов. Это S# появлялся тогда, когда ничего не было другого. А сейчас - тьма.

Вначале нужно понять, какой доступ требуется, для робота или для человека. Квик - это в первую очередь для человека, Плаза - для робота и только (пока нет терминалов хоть сколько нибудь сравнявшегося с Квиком).

Есть решения посередине - Транзак и Алор. Надо к ним доделать адаптеры. Может наберем инициативную группу? Мне прямо жалко тех, кто еще до сих пор на Квике. Не то это решение.
Спасибо:

Mikhail Sukhov

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


Garic Перейти

Да тут и смартТрейд лежал в четверг - работал только резервный серв. На промах тоже говорят глюки бывают.
Сезонное обострение )


АйТи не показатель.RollEyes
Спасибо:

kot99

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


Mikhail Sukhov Перейти


Да кроме Квика теперь уже куча вариантов. Это S# появлялся тогда, когда ничего не было другого. А сейчас - тьма.

Вначале нужно понять, какой доступ требуется, для робота или для человека. Квик - это в первую очередь для человека, Плаза - для робота и только (пока нет терминалов хоть сколько нибудь сравнявшегося с Квиком).

Есть решения посередине - Транзак и Алор. Надо к ним доделать адаптеры. Может наберем инициативную группу? Мне прямо жалко тех, кто еще до сих пор на Квике. Не то это решение.


Я вот все хотел узнать - а на какой платформе крутятся роботы у самих разработчиков ?
квик меня реально расстраивает, плаза под мои задачи не нужна...а как дело обстоит например со SmartCOM ? Проблемы есть ?
Спасибо:

vfreeman

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


Mikhail Sukhov Перейти
vfreeman Перейти

кроме квика ничего не видел - привык к нему, но для S# завел бы другой терминал или чего там еще.
а на что можете посоветовать переехать? насколько я понял S# поддерживает другие терминалы и подключение к Plaza и при этом код не потребует сильных изменений, если конечно не использовать экзотических особенностей терминала.


Да кроме Квика теперь уже куча вариантов. Это S# появлялся тогда, когда ничего не было другого. А сейчас - тьма.

Вначале нужно понять, какой доступ требуется, для робота или для человека. Квик - это в первую очередь для человека, Плаза - для робота и только (пока нет терминалов хоть сколько нибудь сравнявшегося с Квиком).

Есть решения посередине - Транзак и Алор. Надо к ним доделать адаптеры. Может наберем инициативную группу? Мне прямо жалко тех, кто еще до сих пор на Квике. Не то это решение.


я выбор сделал - для робота - т.е. готов открыть счет исключительно для S#. хотелось бы нечто промежуточное (в плане кривизны данных и стоимости - я так понимаю доступ к Плазе не бесплатен в отличие от квика - на сайте ртс не нашел тарифов) между квиком и плазой :) если такое бывает.

я готов участвовать - но я не знаю C#
Автор топика
Спасибо:

Mikhail Sukhov

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


kot99 Перейти
Я вот все хотел узнать - а на какой платформе крутятся роботы у самих разработчиков ?
квик меня реально расстраивает, плаза под мои задачи не нужна


Плаза не все задачи может решить. Плаза доступ - это обычный инет трейдинг, и пусть не пугает фраза "прямой доступ". С домашнего компа - это никакой не прямой доступ.

У Плазы есть очень большой недостаток - нет поддержки ММВБ (и естественно западных котировок). А это значит городить огород из связок Плаза + еще что-то.

СмартКом за последнее время стал стабильнее. Но то, что он стал еще и платным, говорит о много, в том числе о его туманной перспективе. Конечно S# скрывает детали доступа. Но нужно понимать, что есть еще такое понятие как организация своего труда. Робот то может и в легкую перейдет в случае чего от брокера к брокеру, а вот человек уже нет.
Спасибо:

Mikhail Sukhov

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


vfreeman Перейти
я выбор сделал - для робота - т.е. готов открыть счет исключительно для S#.


Счет надеюсь в банке? И надеюсь на моё имя?Laugh

vfreeman Перейти

хотелось бы нечто промежуточное (в плане кривизны данных и стоимости - я так понимаю доступ к Плазе не бесплатен в отличие от квика - на сайте ртс не нашел тарифов) между квиком и плазой :) если такое бывает.

я готов участвовать - но я не знаю C#


Тогда лучше начать с его изучения. Под собранием группы я имел ввиду поступить как с ОЕК. Писать новые коннекторы сил уже нет.
Спасибо:

kot99

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


Mikhail Sukhov Перейти
kot99 Перейти
Я вот все хотел узнать - а на какой платформе крутятся роботы у самих разработчиков ?
квик меня реально расстраивает, плаза под мои задачи не нужна


Плаза не все задачи может решить. Плаза доступ - это обычный инет трейдинг, и пусть не пугает фраза "прямой доступ". С домашнего компа - это никакой не прямой доступ.

У Плазы есть очень большой недостаток - нет поддержки ММВБ (и естественно западных котировок). А это значит городить огород из связок Плаза + еще что-то.

СмартКом за последнее время стал стабильнее. Но то, что он стал еще и платным, говорит о много, в том числе о его туманной перспективе. Конечно S# скрывает детали доступа. Но нужно понимать, что есть еще такое понятие как организация своего труда. Робот то может и в легкую перейдет в случае чего от брокера к брокеру, а вот человек уже нет.


Спасибо за ответ. Ну а Вы то для себя на чём остановились если не секрет ?
Спасибо:

Alexander

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


У меня на данный момент роботы работают через квик.
не жалуюсь
Спасибо:

Mikhail Sukhov

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


kot99 Перейти
Спасибо за ответ. Ну а Вы то для себя на чём остановились если не секрет ?


Плаза + Квик
Спасибо:


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

loading
clippy