Разрыв связи-восстановление

Разрыв связи-восстановление
Atom
8/5/2011
Евгений


Подскажите, пожалуйста.

Никак до конца не разберусь с восстановлением работы робота после разрыва связи.

  1. Терминал Quik, с которым работаю использует двухфакторную аутентификацию (сначала указывается файл с настройками, потом вводится пароль) Я так понимаю - это доработки брокера. Возможно ли как-то автоматически поднять робота?

  2. Сам код для восстановления связи такой:

[code=csharp] // инициализируем механизм переподключения (будет автоматически соединяться // каждые 10 секунд, если шлюз потеряется связь с сервером) this._trader.Trader.ReConnectionSettings.Interval = TimeSpan.FromSeconds(10);

                    // переподключение будет работать только во время работы биржи РТС
                    // (чтобы отключить переподключение когда торгов нет штатно, например, ночью)
                    this._trader.Trader.ReConnectionSettings.WorkingTime = Exchange.Rts.WorkingTime;

                    // подписываемся на событие об успешном восстановлении соединения
                    this._trader.Trader.ReConnectionSettings.ConnectionRestored += () => this.GuiAsync(() =>
                        {
                            _trader.ReStartExport();
                            _trader.RegisterSecurity(_security);
                            _trader.RegisterTrades(_security);
                            _trader.RegisterQuotes(_security);

                            MessageBox.Show(this, "Соединение восстановлено");
                        });[/code]

В чем разница использования свойства IsReStartExport и вызова вручную метода ReStartExport()? И как узнать нужно ли делать перезапуск экспорта?

Такой код почему-то вызывает два раза сообщение MessageBox.Show(this, "Соединение восстановлено")

  1. После восстановления соединения все сделки в грид _trades добавляются по два раза

  2. Линии индикатора перестают отрисовываться. В коде количество свечек всегда равно 0. [code=csharp] // получаем эти свечки var candles = _candleManager.GetTimeFrameCandles(_strategy.Security, _timeFrame, bounds);

             if (candles.Count() > 0)
             {
                 // получаем время самой последней свечки и запоминаем его как новое начало
                 _lastCandleTime = candles.Max(c => c.Time);
    
                 DrawLines(bounds.Min);
             }[/code]
    

Tags:


Thanks:


1 2  >
Евгений

Avatar
Date: 8/12/2011
Reply


[sad]

Thanks:

Mikhail Sukhov

Avatar
Date: 8/13/2011
Reply


  1. А как типа входа в Квик влияет на запуск робота?
  2. При IsReStartExport = true внутри Trader вызывается ReStartExport. Рестарт ДДЕ в Квике нужно делать лишь тогда, когда перезапускается сам Квик. Потеря соединения никак не влияет на экспорт данных. 3-4. Это ошибка логики робота.
Thanks: Евгений

Евгений

Avatar
Date: 8/15/2011
Reply


[quote=Mikhail Sukhov;10291]

  1. А как типа входа в Квик влияет на запуск робота? [/quote] При попытке программно авторизоваться в Квике возникает ошибка:

[quote]System.InvalidOperationException перехвачено Message=Последовательность не содержит соответствующий элемент Source=System.Core StackTrace: в System.Linq.Enumerable.First[TSource](IEnumerable1 source, Func2 predicate) в StockSharp.Quik.QuikTerminal.Login(String login, String password, IPEndPoint address) в TradeRobot.MainWindow.StartQuik() в D:\MainWindow.xaml.cs:строка 213 в TradeRobot.MainWindow.Run_Click(Object sender, RoutedEventArgs e) в D:\MainWindow.xaml.cs:строка 188 InnerException: [/quote]

Для терминала, в котором необходимо ввести логин и пароль все работает.

Thanks:

Mikhail Sukhov

Avatar
Date: 8/15/2011
Reply


[quote=Евгений;10341] Для терминала, в котором необходимо ввести логин и пароль все работает. [/quote]

Что за терминал такой? Его можно получать где-то и посмотреть в работе?

Thanks: Yegor Hi And

Евгений

Avatar
Date: 8/16/2011
Reply


[quote=Mikhail Sukhov;10343][quote=Евгений;10341] Для терминала, в котором необходимо ввести логин и пароль все работает. [/quote]

Что за терминал такой? Его можно получать где-то и посмотреть в работе?[/quote]

Это тот же Quik. У меня он от Атона.

Выглядит это примерно так - прикрепил файлы.

1.jpg 21 KB (375) 2.jpg 19 KB (374)
Thanks:

Mikhail Sukhov

Avatar
Date: 8/16/2011
Reply


[quote=Евгений;10347]Это тот же Quik. У меня он от Атона. [/quote]

Не мудрено, что не работает. Окно логина вообще не похоже. QuikTerminal.Login имеет еще одну перегрузку. Как с ней работает?

Thanks:

Евгений

Avatar
Date: 8/16/2011
Reply


[quote=Mikhail Sukhov;10348][quote=Евгений;10347]Это тот же Quik. У меня он от Атона. [/quote]

Не мудрено, что не работает. Окно логина вообще не похоже. QuikTerminal.Login имеет еще одну перегрузку. Как с ней работает?[/quote]

Возникает та же ошибка

Thanks:

Евгений

Avatar
Date: 8/17/2011
Reply


Ну я так понял, что с таким входом не получиться программно авторизоваться.

А через какое событие отлавливать, что Quik закрылся?

Thanks:

Mikhail Sukhov

Avatar
Date: 8/17/2011
Reply


[quote=Евгений;10392]Ну я так понял, что с таким входом не получиться программно авторизоваться.[/quote]

Можете помочь с организацией такого Квика? Вчера скачал Атон Квик, но там без пол литра не разобраться. У них есть демо счет? В принципе будет достаточно даже просто с одного окошка, где вводиться путь, перейти до другого, где вводиться пароль.

Thanks:

Евгений

Avatar
Date: 8/17/2011
Reply


[quote=Mikhail Sukhov;10393][quote=Евгений;10392]Ну я так понял, что с таким входом не получиться программно авторизоваться.[/quote]

Можете помочь с организацией такого Квика? Вчера скачал Атон Квик, но там без пол литра не разобраться. У них есть демо счет? В принципе будет достаточно даже просто с одного окошка, где вводиться путь, перейти до другого, где вводиться пароль.[/quote]

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

Thanks:
1 2  >

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

loading
clippy