Имитация исполнения сделки в обычном коннекторе
Atom Ответить
22.01.2018


Здравствуйте.

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



Спасибо:



Поздравляем именинников: igorch41

14 Ответов
Support

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


Добрый день.

Обычный коннектор не может эмулировать заявки. Только через RealTimeEmulationTrader
Спасибо:

Георгий

Фотография
Курсы
Дата: 24.01.2018
Ответить


Есть какой-то вариант как их (обычный коннектор и RealTimeEmulationTrader) запустить вместе? Или только либо один работает, либо другой?
Автор топика
Спасибо:

Support

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


Да вы можете одновременно использовать два коннектора. Какая у вас проблема?
Спасибо:

Георгий

Фотография
Курсы
Дата: 24.01.2018
Ответить


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



Если подключаться только одним из них (либо только QuikTrader либо только RealTimeEmulationTrader), то все нормально подключается и работает. Одновременно нет.
Автор топика
Спасибо:

Support

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


Вам нужно переиспользовать коннектор к Квик, а не создавать новый.
Спасибо:

Георгий

Фотография
Курсы
Дата: 24.01.2018
Ответить


Пробую такой код:

Код

private void Connection()
{
_trader2 = RealQuikConnector();

RealTimeEmulationTrader<IMessageAdapter> _trader = new RealTimeEmulationTrader<IMessageAdapter>(_trader2.MarketDataAdapter, new Portfolio() { BeginValue = 10000000, Name = "My" });

logManager.Sources.Add(_trader);
logManager.Sources.Add(_trader2);

_trader2.Connected += () => this.GuiAsync(() =>
{
_trader2.AddErrorLog("Подключено.");
});

_trader2.ConnectionError += _error => this.GuiAsync(() =>
{
_trader.AddErrorLog("Ошибка подключения");
_trader.AddErrorLog(_error);
});

_trader2.Connect();


_trader.Connected += () => this.GuiAsync(() =>
{
_trader.AddErrorLog("Подключено.");
});

_trader.ConnectionError += _error => this.GuiAsync(() =>
{
_trader.AddErrorLog("Ошибка подключения");
_trader.AddErrorLog(_error);
});

_trader.Connect();
}


Выдается ошибка:
Автор топика
Спасибо:

Support

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


Спасибо за информацию, ошибка воспроизведения и будет устранена ближайшее время.
Спасибо:

Георгий

Фотография
Курсы
Дата: 25.02.2018
Ответить


Здравствуйте. Подскажите данная ошибка в версии 4.4.5.3 исправлена?
Автор топика
Спасибо:

Support

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


Добрый день. Ошибка исправлена в версии 4.4.5.4
Спасибо:

Prival

Фотография
Курсы
Дата: 02.04.2018
Ответить


Возможно полный код поможет вам быстрее мне помочь. Ситуация следующая, если подключаюсь
Trader = RealQuikConnector();

Получен портфель - 7600v7m
SBER@TQBR - зарегестрирован, все ок
RIM8@FORTS - зарегестрирован, все ок
...
Событие NewTrades
Событие ValuesChanged LastTrade.Price=123180 AsksCount=1831
Событие SecuritiesChangedLastTrade.Price=125170 AsksCount=1831

То все хорошо, все данные приходят, но если подключаюсь
Trader = EmulationQuikConnector();

Получен портфель - Симулятор
SBER@TQBR - зарегестрирован, все ок
RIM8@FORTS - зарегестрирован, все ок
Событие ValuesChanged LastTrade.Price=null
...
Событие NewTrades
Событие ValuesChanged LastTrade.Price=null

То все плохо, событие SecuritiesChanged не срабатывает, в ValuesChanged срабатывает но там null (((

Подскажите что неправильно я делаю ? Как правильно включить режим RealTimeEmulationTrader ? Заранее благодарю. Код под спойлером + прилагаю его к сообщению


Версия 4.4.5.4

З.Ы. Для тех кто пользуется решарпером, возможно это будет интересно. Вечный триал. Просто раз в месяц удаляйте
Удалить ключь
Windows Registry Editor Version 5.00
[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Ext\Settings\{9656c84c-e0b4-4454-996d-977eabdf9e86}]

Test.rar (3)
Спасибо:

Георгий

Фотография
Курсы
Дата: 03.12.2018
Ответить


Support Перейти
Добрый день. Ошибка исправлена в версии 4.4.5.4


Здравствуйте.

В 4.4.15 не работает одновременно обычный коннектор к Quik и RealTimeEmulationTrader. После подключения обычного коннектора, если вызвать подключение RealTimeEmulationTrader, то выдается ошибка. Если же подключение не вызывать, то RealTimeEmulationTrader остается в состоянии Disconnected, хотя основной коннектор подключился.
Автор топика
Спасибо:

Support

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


Добрый день

Спасибо за ваш отчёт. Пожалуйста, приведите текст ошибки.
Спасибо:

Георгий

Фотография
Курсы
Дата: 04.12.2018
Ответить


Текст ошибки:
Автор топика
Спасибо:

Support

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


Добрый день

Ошибка не подтвердилась. Проверка была на примере SampleRealtimeEmulation
Спасибо:


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

loading
clippy