API 4.2.2.18. Получение исторических сделок. Как не пропустить ошибку

API 4.2.2.18. Получение исторических сделок. Как не пропустить ошибку
Atom
15.03.2014
vk37


Получаю исторические сделки в цикле для каждого инструмента из списка: ```csharp trades = Connector.GetTrades(security, from, to);


Теги:


Спасибо:


1 2  >
Mikhail Sukhov

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


vk37:

GetTrades - это всего лишь простая обертка над нормальными запросами. Ошибки не проглатываются. Есть специальные методы их отслеживания.

Спасибо:

vk37

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


Михаил Сухов: Ошибки не проглатываются. Есть специальные методы их отслеживания.Через событие connector.ProcessDataError?

Спасибо:

vk37

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


В версии 4.2.2.20 в случае если в процессе вызова Connector.GetTrades(security, from, to) происходит потеря подключения к серверу IQ, то метод GetTrades, похоже, зависает в каком-то вечном цикле, никаких сообщений об ошибках не выдает.

Спасибо:

vk37

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


Даже если прервать этот вечный цикл как-то так:```csharp var task = Task.Factory.StartNew(() => { trades = Connector.GetTrades(security, from, to); });

                    if (!task.Wait(TimeSpan.FromMinutes(1)))
                    {
                        //Error
                    }
Спасибо:

vk37

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


Тестирую версию 4.2.2.22.

Если подключение к серверу IQ разрывается перед вызовом Connector.GetTrades, то ошибку можно поймать в обработчике события ProcessDataError.

Если подключение к серверу IQ разрывается в процессе вызова Connector.GetTrades, то исполнение кода останавливается на этом вызове (зависает) и IQTrader перестает работать даже если прервать вызов GetTrades например так:```csharp var task = Task.Factory.StartNew(() => { trades = Connector.GetTrades(security, from, to); });

if (!task.Wait(TimeSpan.FromMinutes(1))) { //Error }

Спасибо:

Mikhail Sukhov

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


vk37: Если подключение к серверу IQ разрывается в процессе вызова Connector.GetTrades, то исполнение кода останавливается на этом вызове (зависает)

Я тестировал этот момент. Идет разрыв получения данных и метод сразу же возвращает управление.

Спасибо:

vk37

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


Я тестировал этот момент. Идет разрыв получения данных и метод сразу же возвращает управление. Тестирую на версии 4.2.2.24. По-прежнему, если подключение к серверу IQ разрывается в процессе вызова Connector.GetTrades, то исполнение кода останавливается на этом вызове (зависает) и IQTrader перестает работать. Методика тестирования:

  1. Ставлю брейкпоинт на вызов метода GetTrades
  2. Останавливаю исполнение кода на этом брейкпоинте.
  3. F5 для продолжения исполнения, при этом сразу после F5 отключаю питание у роутера, через который комп подключен к интернету.
  4. Убеждаюсь, что исполнение кода дальше не идет.
  5. Включаю питание у роутера, убеждаюсь, что интернет заработал.
  6. Убеждаюсь, что в течении последующих нескольких минут исполнение кода не идет.
  7. Убеждаюсь, что последующие вызовы GetTrades также не работают.
Спасибо:

vk37

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


На версии 4.2.2.22 сделал более 100000 запросов за 3 суток. Где-то 3 раза приходилось перезапускать закачку данных из-за таких ошибок.

Спасибо:

vk37

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


Версия 4.2.2.25. Код для тестирования.

namespace IQFeedGetCanglesDemo
{
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Threading;
    using System.Threading.Tasks;
    using StockSharp.BusinessEntities;
    using StockSharp.IQFeed;
    using StockSharp.Logging;
    using StockSharp.Messages;

    class Program
    {
        static void Main(string[] args)
        {
            var connector = new IQFeedTrader();

            var logManager = new LogManager
            {
                Application = {LogLevel = LogLevels.Debug}
            };
            logManager.Listeners.Add(new FileLogListener("Log.txt"));
            logManager.Listeners.Add(new ConsoleLogListener());
            logManager.Sources.Add(connector);

            var foundSecurities = new List<Security>();

            connector.NewSecurities += securities =>
            {
                foreach (var security in securities)
                {
                    connector.AddInfoLog(() => string.Format("{0}", security));
                    foundSecurities.Add(security);
                }
            };

            if (WaitHelper.Failed(connector.Connect, TimeSpan.FromSeconds(30), () => connector.ConnectionState == ConnectionStates.Connected))
                throw new TimeoutException("Подключение не выполнено в заданный отрезок времени");

            if (WaitHelper.Failed(connector.StartExport, TimeSpan.FromSeconds(30), () => connector.ExportState == ConnectionStates.Connected))
                throw new TimeoutException("Запуск экспорта не выполнен в заданный отрезок времени");
            
            var criteria = new Security()
            {
                Code = "@ES#",
                Type = SecurityTypes.Future,
            };

            connector.LookupSecurities(criteria);

            if (WaitHelper.Failed(TimeSpan.FromSeconds(30), () => foundSecurities.Count == 1))
                connector.AddErrorLog(() => "Инструмент не найден в заданный отрезок времени");

            var trades = connector.GetTrades(foundSecurities.First(), DateTime.Today.AddDays(-7), DateTime.Today);

            if (WaitHelper.Failed(connector.StopExport, TimeSpan.FromSeconds(10), () => connector.ExportState == ConnectionStates.Disconnected))
                connector.AddErrorLog(() => "Остановка экспорта не выполнена в заданный отрезок времени");

            if (WaitHelper.Failed(connector.Disconnect, TimeSpan.FromSeconds(10), () => connector.ConnectionState == ConnectionStates.Disconnected))
                connector.AddErrorLog(() => "Отключение не выполнено в заданный отрезок времени");
        }

        public static class WaitHelper
        {
            public static bool Failed(Action action, TimeSpan time, Func<bool> condition)
            {
                var task = Task.Factory.StartNew(() =>
                {
                    if (action != null)
                        action.Invoke();

                    while (!condition.Invoke())
                        Thread.Sleep(50);

                    Thread.Sleep(500);
                });

                return !task.Wait(time);
            }

            public static bool Failed(TimeSpan time, Func<bool> condition)
            {
                return Failed(null, time, condition);
            }
        }
    }
}
  1. Ставлю брейкпоинт на вызов метода GetTrades
  2. Останавливаю исполнение кода на этом брейкпоинте.
  3. F5 для продолжения исполнения, при этом сразу после F5 отключаю питание у роутера, через который комп подключен к интернету.

Полный лог приложен к сообщению. Момент разрыва и попытки восставовить подключение: :::spoiler

2014/04/02 23:49:30.924|Debug  |IQFeedMarketDataMessageAdapter|#85744119#,2014-03-26 09:48:42.238,1864.25,1,323800,1864.25,1864.50,9518266,C,43,01,
2014/04/02 23:49:30.924|Debug  |IQFeedMarketDataMessageAdapter|#85744119#,2014-03-26 09:48:42.238,1864.25,2,323802,1864.25,1864.50,9518267,C,43,01,
2014/04/02 23:49:30.924|Debug  |IQFeedMarketDataMessageAdapter|#85744119#,2014-03-26 09:48:42.238,1864.25,1,323803,1864.25,1864.50,9518268,C,43,01,
2014/04/02 23:49:30.924|Debug  |IQFeedMarketDataMessageAdapter|#85744119#,2014-03-26 09:48:42.238,1864.25,2,323805,1864.25,1864.50,9518269,C,43,01,
2014/04/02 23:49:30.924|Debug  |IQFeedMarketDataMessageAdapter|#85744119#,2014-03-26 09:48:42.238,1864.25,6,323811,1864.25,1864.50,9518270,C,43,01,
2014/04/02 23:49:30.924|Debug  |IQFeedMarketDataMessageAdapter|#85744119#,2014-03-26 09:48:42.238,1864.25,6,323817,1864.25,1864.50,9518271,C,43,01,
2014/04/02 23:49:30.924|Debug  |IQFeedMarketDataMessageAdapter|#85744119#,2014-03-26 09:48:42.238,1864.25,9,323826,1864.25,1864.50,9518272,C,43,01,
2014/04/02 23:49:30.924|Debug  |IQFeedMarketDataMessageAdapter|#85744119#,2014-03-26 09:48:42.239,1864.25,1,323827,1864.25,1864.50,9518276,C,43,01,
2014/04/02 23:49:30.924|Debug  |IQFeedMarketDataMessageAdapter|#85744119#,2014-03-26 09:48:42.239,1864.25,1,323828,1864.25,1864.50,9518278,C,43,01,
2014/04/02 23:49:30.924|Debug  |IQFeedMarketDataMessageAdapter|#85744119#,2014-03-26 09:48:42.239,1864.25,1,323829,1864.25,1864.50,9518289,C,43,01,
2014/04/02 23:49:30.924|Debug  |IQFeedMarketDataMessageAdapter|#85744119#,2014-03-26 09:48:42.239,1864.25,1,323830,1864.25,1864.50,9518290,C,43,01,
2014/04/02 23:49:30.925|Debug  |IQFeedMarketDataMessageAdapter|#85744119#,2014-03-26 09:48:42.239,1864.25,1,323831,1864.25,1864.50,9518295,C,43,01,
2014/04/02 23:49:31.631|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:31.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:31.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:31.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:32.636|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:32.636|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:32.636|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:32.636|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:33.637|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:33.637|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:33.638|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:33.638|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:34.631|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:34.631|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:34.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:34.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:35.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:35.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:35.633|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:35.633|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:36.636|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:36.636|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:36.637|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:36.637|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:37.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:37.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:37.633|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:37.633|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:38.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:38.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:38.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:38.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:39.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:39.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:39.633|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:39.633|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:40.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:40.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:40.633|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:40.633|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:41.636|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:41.636|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:41.637|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:41.637|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:42.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:42.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:42.633|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:42.633|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:43.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:43.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:43.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:43.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:44.637|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:44.637|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:44.638|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:44.638|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:45.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:45.633|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:45.633|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:45.633|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:46.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:46.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:46.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:46.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:47.634|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:47.634|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:47.635|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:47.635|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:48.637|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:48.637|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:48.638|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:48.638|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:49.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:49.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:49.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:49.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:50.633|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:50.633|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:50.633|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:50.633|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:51.637|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:51.637|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:51.638|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:51.638|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:52.631|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:52.631|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:52.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:52.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:53.636|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:53.636|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:53.637|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:53.637|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:54.631|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:54.631|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:54.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:54.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:55.631|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:55.631|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:55.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:55.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:56.636|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:56.636|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:56.636|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:56.636|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:57.636|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:57.637|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:57.637|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:57.637|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:58.633|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:58.633|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:58.633|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:58.633|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:59.633|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:59.634|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:49:59.634|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:49:59.634|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:50:00.634|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:50:00.634|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:50:00.635|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:50:00.635|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:50:01.633|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:50:01.633|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:50:01.633|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:50:01.633|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:50:02.636|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:50:02.636|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:50:02.636|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:50:02.636|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:50:03.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:50:03.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:50:03.633|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:50:03.633|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:50:04.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:50:04.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:50:04.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:50:04.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:50:05.633|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:50:05.633|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:50:05.634|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:50:05.634|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:50:06.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:50:06.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:50:06.633|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:50:06.633|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:50:07.631|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:50:07.631|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:50:07.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:50:07.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:50:08.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:50:08.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:50:08.633|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:50:08.633|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:50:09.635|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:50:09.635|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:50:09.636|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:50:09.636|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:50:10.631|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:50:10.631|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:50:10.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:50:10.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:50:11.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:50:11.632|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:50:34.509|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:50:34.509|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER RECONNECT FAILED
2014/04/02 23:50:35.506|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:50:35.506|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:51:04.786|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER DISCONNECTED
2014/04/02 23:51:04.786|Debug  |IQFeedMarketDataMessageAdapter|E,Account not authorized for Level II,
2014/04/02 23:49:30.909|Debug  |IQFeedTrader|BP:MarketDataError,T=2014.04.02 23:51:04.786,Error=Account not authorized for Level II
2014/04/02 23:51:04.786|Error  |IQFeedTrader|System.InvalidOperationException: Account not authorized for Level II
2014/04/02 23:51:07.073|Debug  |IQFeedMarketDataMessageAdapter|E,Account not authorized for Level II,
2014/04/02 23:51:04.786|Debug  |IQFeedTrader|BP:MarketDataError,T=2014.04.02 23:51:07.073,Error=Account not authorized for Level II
2014/04/02 23:51:07.073|Error  |IQFeedTrader|System.InvalidOperationException: Account not authorized for Level II
2014/04/02 23:51:07.263|Debug  |IQFeedMarketDataMessageAdapter|S,KEY,99999
2014/04/02 23:51:07.263|Debug  |IQFeedMarketDataMessageAdapter|S,SERVER CONNECTED
2014/04/02 23:51:07.263|Debug  |IQFeedMarketDataMessageAdapter|S,IP,66.112.148.180 60004,66.112.148.216 60002,66.112.148.210 60009,66.112.148.211 60001,66.112.148.210 60005,66.112.148.212 60012,66.112.148.200 60003,66.112.148.209 60015,66.112.148.215 60050,66.112.148.211 60014,66.112.148.212 60016,66.112.148.208 60018
2014/04/02 23:51:07.263|Debug  |IQFeedMarketDataMessageAdapter|S,CUST,real_time,66.112.148.112,60002,Zm8GSOSg0d,5.1.0.3,0, RUSSFL NYMEX EUREXNDX EUREX CME-LTD CBOENDX DJNDX ,,500,QT_API,,
2014/04/02 23:51:08.636|Debug  |IQFeedMarketDataMessageAdapter|T,20140402 15:51:06
2014/04/02 23:51:09.639|Debug  |IQFeedMarketDataMessageAdapter|T,20140402 15:51:07
2014/04/02 23:51:10.632|Debug  |IQFeedMarketDataMessageAdapter|T,20140402 15:51:08
2014/04/02 23:51:11.637|Debug  |IQFeedMarketDataMessageAdapter|T,20140402 15:51:09
2014/04/02 23:51:12.648|Debug  |IQFeedMarketDataMessageAdapter|T,20140402 15:51:10
2014/04/02 23:51:13.632|Debug  |IQFeedMarketDataMessageAdapter|T,20140402 15:51:11
2014/04/02 23:51:14.636|Debug  |IQFeedMarketDataMessageAdapter|T,20140402 15:51:12
2014/04/02 23:51:15.649|Debug  |IQFeedMarketDataMessageAdapter|T,20140402 15:51:13
2014/04/02 23:51:16.633|Debug  |IQFeedMarketDataMessageAdapter|T,20140402 15:51:14
2014/04/02 23:51:17.650|Debug  |IQFeedMarketDataMessageAdapter|T,20140402 15:51:15
2014/04/02 23:51:18.636|Debug  |IQFeedMarketDataMessageAdapter|T,20140402 15:51:16
2014/04/02 23:51:19.648|Debug  |IQFeedMarketDataMessageAdapter|T,20140402 15:51:17
2014/04/02 23:51:20.650|Debug  |IQFeedMarketDataMessageAdapter|T,20140402 15:51:18
2014/04/02 23:51:21.634|Debug  |IQFeedMarketDataMessageAdapter|T,20140402 15:51:19
2014/04/02 23:51:22.632|Debug  |IQFeedMarketDataMessageAdapter|T,20140402 15:51:20
2014/04/02 23:51:23.648|Debug  |IQFeedMarketDataMessageAdapter|T,20140402 15:51:21
2014/04/02 23:51:24.637|Debug  |IQFeedMarketDataMessageAdapter|T,20140402 15:51:22
2014/04/02 23:51:25.633|Debug  |IQFeedMarketDataMessageAdapter|T,20140402 15:51:23
2014/04/02 23:51:26.636|Debug  |IQFeedMarketDataMessageAdapter|T,20140402 15:51:24
2014/04/02 23:51:27.649|Debug  |IQFeedMarketDataMessageAdapter|T,20140402 15:51:25
2014/04/02 23:51:28.646|Debug  |IQFeedMarketDataMessageAdapter|T,20140402 15:51:26
2014/04/02 23:51:29.647|Debug  |IQFeedMarketDataMessageAdapter|T,20140402 15:51:27
2014/04/02 23:51:30.633|Debug  |IQFeedMarketDataMessageAdapter|T,20140402 15:51:28
2014/04/02 23:51:31.648|Debug  |IQFeedMarketDataMessageAdapter|T,20140402 15:51:29
2014/04/02 23:51:32.637|Debug  |IQFeedMarketDataMessageAdapter|T,20140402 15:51:30
2014/04/02 23:51:33.632|Debug  |IQFeedMarketDataMessageAdapter|T,20140402 15:51:31
2014/04/02 23:51:34.648|Debug  |IQFeedMarketDataMessageAdapter|T,20140402 15:51:32
2014/04/02 23:51:35.651|Debug  |IQFeedMarketDataMessageAdapter|T,20140402 15:51:33
2014/04/02 23:51:36.639|Debug  |IQFeedMarketDataMessageAdapter|T,20140402 15:51:34
2014/04/02 23:51:37.632|Debug  |IQFeedMarketDataMessageAdapter|T,20140402 15:51:35
2014/04/02 23:51:38.633|Debug  |IQFeedMarketDataMessageAdapter|T,20140402 15:51:36
2014/04/02 23:51:39.635|Debug  |IQFeedMarketDataMessageAdapter|T,20140402 15:51:37
2014/04/02 23:51:40.647|Debug  |IQFeedMarketDataMessageAdapter|T,20140402 15:51:38
2014/04/02 23:51:41.651|Debug  |IQFeedMarketDataMessageAdapter|T,20140402 15:51:39
2014/04/02 23:51:42.634|Debug  |IQFeedMarketDataMessageAdapter|T,20140402 15:51:40
2014/04/02 23:51:43.633|Debug  |IQFeedMarketDataMessageAdapter|T,20140402 15:51:41
2014/04/02 23:51:44.649|Debug  |IQFeedMarketDataMessageAdapter|T,20140402 15:51:42
2014/04/02 23:51:45.647|Debug  |IQFeedMarketDataMessageAdapter|T,20140402 15:51:43
2014/04/02 23:51:46.633|Debug  |IQFeedMarketDataMessageAdapter|T,20140402 15:51:44
2014/04/02 23:51:47.633|Debug  |IQFeedMarketDataMessageAdapter|T,20140402 15:51:45
2014/04/02 23:51:48.636|Debug  |IQFeedMarketDataMessageAdapter|T,20140402 15:51:46
Log.zip 923 KB (628)
Спасибо:

vk37

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


Михаил Сухов:

vk37: Если подключение к серверу IQ разрывается в процессе вызова Connector.GetTrades, то исполнение кода останавливается на этом вызове (зависает)

Я тестировал этот момент. Идет разрыв получения данных и метод сразу же возвращает управление.

Протестировал снова на версии S# 4.2.3.8 и IQFeed Client версии 5.1.0.5. Версии последние на текущий момент. Ситуация не изменилась: если идет разрыв соединения с куфид сервером в процессе вызова Connector.GetTrades, то исполнение кода останавливается на вызове Connector.GetTrades и дальше не идет (зависает). У меня робот качает историю по сделкам с куфид сервера: ежедневно дергает этот метод по несколько десятков тысяч раз. За сутки такая ошибка пару раз встречается даже если качать не с домашнего инета, а через сервер в дата центре. Хотелось бы получить ответ будут ли по исправлению этой ошибки предприниматься какие-либо действия.

Спасибо:
1 2  >

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

loading
clippy