× Ссылка на скачивание архива: www.bot4sale.ru/download-categories/2012...6/item/amisharp.html (архив под паролем)

Подача заявок через AMISharp асинхронно.

Подробнее
8 года 1 мес. назад #686 от Сергей_С
Хотелось бы увидеть фрагмент кода где заявки в Квик подаются через AMISharp асинхронно. И куда в этом случае возвращается результат отправки заявки??? В какую точку кода?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
8 года 1 мес. назад #687 от AlexLan
Сергей добрый день
Посмотрите этот пример
www.bot4sale.ru/blog-menu/amisharp-menu/...misharp-chast-2.html
Там достаточно информации как это сделать.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
8 года 1 мес. назад #688 от Сергей_С
В указанном Вами примере обычная синхронная заявка
"(amisharp.QuikSendSyncTransaction(str)". То есть функция "ждет" отклика от Квика. И это ожидание может быть существенным в период высокой нагрузки на шлюз биржи/брокера. Другие роботы видимо то же будут ждать. Для решения этой проблемы Квиковцы сделали асинхронную подачу заявок которые отправляются практически мгновенно. ( и результат заявки возвращается через функцию обратного вызова) . В обертке AMISharpa это QuikSendASyncTransaction(String) . Так вот, куда через некоторое время возвращается результат этой функции? В AMISharp? В AFL скрипт вы напрямую его не передадите.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
8 года 1 мес. назад - 8 года 1 мес. назад #690 от admin
Сергей.

Амишарп в состоянии выставить и получить ответ рабочего места на асинхронную транзакцию.

Вопрос в том, каким образом ее отдать нужному скрипту, запущенному в амиброкере. Язык AFL (ровно также как и большинство языков, встроенных в иные системы ТА) не предоставляет никаких средств прерываний или обратных вызовов (и это правильно)

Однако если Вы продвинутый программист - Вы можете написать собственную DLL в терминах амиброкера, в которую амишарп будет отправлять результаты асинхронных транзакций и Вы сможете получать к ним доступ из скрипта. Правда в этом случае можно просто работать с trans2quik из этой DLL напрямую, без использования AmiSharp.

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

Функция SendAsyncTransaction в амишарпе действительно есть. Способ получения её результатов не документирован из-за фактической невозможности ее использования из встроенных в системы ТА языков программирования.
Последнее редактирование: 8 года 1 мес. назад пользователем admin.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
8 года 1 мес. назад #691 от Сергей_С
Не соглашусь с Вами насчет того что синхронная подача заявки происходит за миллисекунды Ответа можно ждать и несколько секунд в зависимости от ситуации на сервере брокера и биржи и активности других роботов которые тоже подают заявки.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
8 года 1 мес. назад #692 от admin
Сергей. Если Вам критически важно подавать в секунду 10-15 заявок (одним роботом или разными) - то вам не нужно использовать терминал QUIK вообще. Plaza II, прямой выход на биржу.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
5 года 7 мес. назад #1334 от Zoringer
Михаил, подскажите пожалуйста а для арбитражных стратегий есть ли смысл заморачиваться с асинхронной подачей заявок? Или синхронных вполне хватит? Заявки собираюсь кидать по рынку все равно.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
5 года 7 мес. назад #1336 от admin
Для рыночных заявок особой разницы нет.

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

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Модераторы: admin