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


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

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

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

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

Код
          // инициализируем механизм переподключения (будет автоматически соединяться
                        // каждые 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, "Соединение восстановлено");
                            });


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

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

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

4. Линии индикатора перестают отрисовываться. В коде количество свечек всегда равно 0.
Код

        // получаем эти свечки
                var candles = _candleManager.GetTimeFrameCandles(_strategy.Security, _timeFrame, bounds);

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

                    DrawLines(bounds.Min);
                }


Теги:


Спасибо:


1 2  >
Евгений

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


[sad]
Спасибо:

Mikhail Sukhov

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


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

Евгений

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


Mikhail Sukhov Перейти

1. А как типа входа в Квик влияет на запуск робота?

При попытке программно авторизоваться в Квике возникает ошибка:

Цитата:
System.InvalidOperationException перехвачено
Message=Последовательность не содержит соответствующий элемент
Source=System.Core
StackTrace:
в System.Linq.Enumerable.First[TSource](IEnumerable`1 source, Func`2 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:


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

Спасибо:

Mikhail Sukhov

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


Евгений Перейти

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


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

Евгений

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


Mikhail Sukhov Перейти
Евгений Перейти

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


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



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

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



1.jpg 21 KB (203) 2.jpg 19 KB (204)
Спасибо:

Mikhail Sukhov

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


Евгений Перейти
Это тот же Quik. У меня он от Атона.


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

Евгений

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


Mikhail Sukhov Перейти
Евгений Перейти
Это тот же Quik. У меня он от Атона.


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


Возникает та же ошибка
Спасибо:

Евгений

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


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

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

Mikhail Sukhov

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


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


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

Евгений

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


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


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


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

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

loading
clippy