Вопросы новичка в S# (Закрыта)
Atom
01.12.2010
ttt


Добрый день.
Очень понравилась идея использования Вашей библиотеки для реализации роботов.
Подскажите, пожалуйста:
1) Как идентифицировать заявку?
//например, выставляю заявку buy RIZ0 4 контракта по цене 160500. Каким образом далее смогу ее отслеживать?
Вариант с использованием таблицы сделок не подходит - необходимо реализовать контроль исполнения заявок пользуясь исключительно информацией из таблицы заявок.
С языком C# только начал разбираться, возможно поэтому не нашел в представленных в дистрибутиве S# проектах примеров контроля состояния заявки по ее уникальному признаку.
2) Верно ли я понимаю суть работы с Квиком: для реализации автономного робота необходимо организовать два потока на C#:
- первый: выполняет функции получения данных из Квика через DDE сервер (используя библиотеку S#);
- второй: непосредственно реализует алгоритм выставления и снятия заявок.
Можно ли обойтись одним потоком?

Теги:


Спасибо: Николай_Флёров


<< < 38 39 40 41 42  > >>
Maxim K.

Фотография
Дата: 14.07.2011


Mikhail Sukhov


Я не знаю что такое ведуший процесс. Поиск окна Квик происходит через Process.GetProcesses(). Если из этой программы обратиться к этому методу, то будет ли найден процесс Квика среди возвращенных? Если нет, то какая-то неправильная настройка с привилегиями.

Да, процесс QUIK находится.

Код

Process[] p = Process.GetProcesses();
if (p.FirstOrDefault(pp => pp.Id == 3920) != null)
{
MessageBox.Show(p.FirstOrDefault(pp => pp.Id == 3920).MainModule.FileName);
}



При запуске с отладкой и без вылетает месажбокс с путем к info.exe.
Спасибо:

VsevolodG

Фотография
Дата: 14.07.2011


Добрый день.

Столкнулся с проблемой отмены заявок. Использую код:

Код
this.Trader.CancelOrders(null, null, null, null, _security);


Получаю ошибку:
Цитата:
Транзакции 'CLASSCODE=SPBFUT; SECCODE=RIU1; TRANS_ID=46506221; ACTION=KILL_STOP_ORDER; STOP_ORDER_KEY=14050471;' не была зарегистрирована. Причина 'Не удается снять стоп-заявку N 14050471'


Дело в том, что заявка с номером 14050471 уже давно имеет статус в Quik "Снята".
В результате ошибки программа не снимает никакие заявки.

Версия Stock#: 3.2
Спасибо:

Maxim K.

Фотография
Дата: 14.07.2011


Пробовал запустить на другом компьютере - тоже самое, без отладки не находит, с отладкой - находит ...
Михаил, намекните, пожалуйста, в каком направлении копать, а то я вообще не знаю что делать ...

Версия s# 3.2.4
Версия QUIK 5.20.0.76
Спасибо:

Mikhail Sukhov

Фотография
Дата: 14.07.2011


Maxim K.
При запуске с отладкой и без вылетает месажбокс с путем к info.exe.


QuikTerminal.QuikProcesses выводит что-нибудь или ошибка?

Спасибо:

Maxim K.

Фотография
Дата: 15.07.2011


Mikhail Sukhov
Maxim K.
При запуске с отладкой и без вылетает месажбокс с путем к info.exe.


QuikTerminal.QuikProcesses выводит что-нибудь или ошибка?


У меня такого нет. В документации тоже не нашел ничего про
Цитата:
QuikTerminal.QuikProcesses
Спасибо:

Alexander

Фотография
Дата: 15.07.2011


VsevolodG
Добрый день.

Столкнулся с проблемой отмены заявок. Использую код:

Код
this.Trader.CancelOrders(null, null, null, null, _security);


Получаю ошибку:
Цитата:
Транзакции 'CLASSCODE=SPBFUT; SECCODE=RIU1; TRANS_ID=46506221; ACTION=KILL_STOP_ORDER; STOP_ORDER_KEY=14050471;' не была зарегистрирована. Причина 'Не удается снять стоп-заявку N 14050471'


Дело в том, что заявка с номером 14050471 уже давно имеет статус в Quik "Снята".
В результате ошибки программа не снимает никакие заявки.

Версия Stock#: 3.2


Если версия библиотеки отлична от 3.2.5 - пробуйте 3.2.5
Вносилось много изменений на протяжении каждой версии, точнее указывайте версию.
Спасибо:

Maxim K.

Фотография
Дата: 19.07.2011


Разобрался с проблемой - всё было из-за того, что мой проект носил название Info, соответственно исполняемый файл назывался info.exe, как у QUIK. При запуске с отладкой исполняемый файл назывался info.vshost.exe, QUIK находился нормально. Если переименовать исполняемый файл в, например, info1.exe, то всё работает.
Спасибо:

Pavel-NS

Фотография
Дата: 22.07.2011


Подскажите, какую функциональность выполняет метод Ecng.Collections.CollectionHelper.SyncGet ?
В частности, он присутствует в приведённом вами примере событийной стратегии, однако, в хелпе про это пространство имён нет ни слова. Где можно посмотреть описание?
Спасибо:

Alexander

Фотография
Дата: 22.07.2011


Pavel-NS
Подскажите, какую функциональность выполняет метод Ecng.Collections.CollectionHelper.SyncGet ?
В частности, он присутствует в приведённом вами примере событийной стратегии, однако, в хелпе про это пространство имён нет ни слова. Где можно посмотреть описание?


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

Pavel-NS

Фотография
Дата: 22.07.2011


Alexander

Блокирует коллекцию для изменения и запускает передаваемую функцию над коллекцией.


Спасибо за ответ.
А есть ли где более полная документация, чем chm-файл??
Не нашёл какой-либо информации по "ecng" пространству имён ни в доках, а также при просмотре из студии нет никаких комментариев.
Спасибо:
<< < 38 39 40 41 42  > >>

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

loading
clippy