QUIK+Гидра+робот на S#
Atom
16.09.2012
DrChemist


Начал разбираться с библиотекой.
Возникла такая задача.
Работаю с терминалом QUIK.

Мне нужно чтобы одновременно с ОДНИМ терминалом работало две программы:

Гидра: записывает массивы исторических данных, больше от нее пока не требуется. Его задача – записать все без разрывов и остановок.
Робот или привод на базе S#. Он работает время от времени. Иногда его нужно закрывать. Иногда вместо одного привода нужно запускать другой. В общем, смысл в том что программа привода запущена не всегда.

Вопрос в том, как сделать так, чтобы это все могло работать одновременно и друг другу не мешать.

Для примера можно попытаться одновременно запустить
Samples\Quik\Sample\bin\Debug\Sample.exe
И
Hydra\Hydra\bin\Debug\Hydra.exe
Вместе они работать не будут, потому что им нужны одни и те же таблицы в квике.

Я пытаюсь сделать это путем создания разных таблиц для S# и для Гидры.
Почти получилось – инструменты и сделки работают.
Для этого я всего лишь переделал
public HydraQuikTrader(string path, string ddeServer) : base(path)
{
DdeServer = ddeServer;
SecuritiesTable.Caption = "HYDRA инструменты";
TradesTable.Caption = "HYDRA Все сделки";
base.SecurityIdGenerator.Delimiter = "$";
}

И переименовал таблицы в квике.
Но проблемы со стаканами решить не могу.
Строка base.SecurityIdGenerator.Delimiter = "$";
Проблему не решает – почему-то используется прежний разделитель "@"
Кроме того, почему-то S# не допускает двух стаканов в квике по одному инструменту, хотя это возможно.

Как поступить?

Теги:


Спасибо:


Johny Cash

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


Возможно как вариант использовать 2 квика.
Один юзать для закачки истории.
Второй соответственной для робота.
Спасибо:

Mikhail Sukhov

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


DrChemist
Гидра: записывает массивы исторических данных, больше от нее пока не требуется.


Она больше и не умеет.
Спасибо:


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

loading
clippy