← Zurück

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

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

War dieses Thema hilfreich?

Thema teilen

Kommentare (15)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

Mikhail Sukhov
Mikhail Sukhov

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

vfreeman: У обоих брокеров - квик

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

tmt
tmt

Mikhail Sukhov:

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

vfreeman: У обоих брокеров - квик

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

Garic
Garic

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
Mikhail Sukhov

Garic:

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

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

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

vfreeman
vfreeman Autor

Mikhail Sukhov:

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

vfreeman: У обоих брокеров - квик

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

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

Garic
Garic

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

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

Mikhail Sukhov
Mikhail Sukhov

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

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

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

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

Mikhail Sukhov
Mikhail Sukhov

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

АйТи не показатель.🙄

kot99
kot99

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

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

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

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

vfreeman
vfreeman Autor

Mikhail Sukhov:

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

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

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

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

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

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

Mikhail Sukhov
Mikhail Sukhov

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

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

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

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

Mikhail Sukhov
Mikhail Sukhov

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

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

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

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

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

kot99
kot99

Mikhail Sukhov:

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

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

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

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

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

Mikhail Sukhov
Mikhail Sukhov

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

Плаза + Квик

Alexander
Alexander

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