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

Как бороться с кривыми данными от брокера
Atom
2/10/2012
vfreeman


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


Tags:


Thanks:


1 2  >
Mikhail Sukhov

Avatar
Date: 2/11/2012
Reply


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

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

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

Thanks:

tmt

Avatar
Date: 2/11/2012
Reply


Mikhail Sukhov:

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

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

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

Thanks:

Garic

Avatar
Date: 2/11/2012
Reply


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.()

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

Thanks:

Mikhail Sukhov

Avatar
Date: 2/11/2012
Reply


Garic:

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

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

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

Thanks:

vfreeman

Avatar
Date: 2/11/2012
Reply


Mikhail Sukhov:

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

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

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

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

Thanks:

Garic

Avatar
Date: 2/11/2012
Reply


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

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

Thanks:

Mikhail Sukhov

Avatar
Date: 2/12/2012
Reply


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

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

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

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

Thanks:

Mikhail Sukhov

Avatar
Date: 2/12/2012
Reply


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

АйТи не показатель.[rolleyes]

Thanks:

kot99

Avatar
Date: 2/12/2012
Reply


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

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

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

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

Thanks:

vfreeman

Avatar
Date: 2/12/2012
Reply


Mikhail Sukhov:

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

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

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

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

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

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

Thanks:
1 2  >

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy