Начать новую тему Ответить на тему |
Список форумов AmiSite.ru » Роботы |
На страницу Пред. 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55 След. |
Автор |
Сообщение |
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Будут проблемы с работой робота обязательно пиши. Если будет работать хорошо, то тоже чиркани. Мне любопытно. Я с Квиком не работаю. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Renown
Зарегистрирован: 14.10.2009
Сообщения: 38
|
000 писал(а): |
Будут проблемы с работой робота обязательно пиши. Если будет работать хорошо, то тоже чиркани. Мне любопытно. Я с Квиком не работаю. |
Обязательно.
Пока полет нормальный, Si проснулся от спячки, уже есть прибыль |
|
|
Посмотреть профиль Отправить личное сообщение |
|
Astrobiolog
Зарегистрирован: 27.01.2013
Сообщения: 66
|
Олег! Добавь, пожалуйста, в плагин функции для асинхронной передачи транзакций. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Объясни зачем. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Astrobiolog
Зарегистрирован: 27.01.2013
Сообщения: 66
|
000 писал(а): |
Объясни зачем. |
В амиброкере есть возможность прогона кода не только 1 раз/1сек (АА), но и с версии 5.3 принудительно 1 раз/100мс (индикатор).
По замерам, синхронная передача 1-й транз. занимает ~ от 300мс и больше. Если есть сигнал одновременно отправить несколько транз., то каждая следующая уйдет через как минимум 300мс. после предыдущей. Это очень неприемлемо, или если прямо сказать - то ни в какие ворота.
Можно, конечно, это делать через tri (если заявок много - будет немного быстрее, чем API), но тут есть свои две проблемы: через tri вроде заявки на сервер попадают в блоки по 1-й секунде да и вообще tri хуже, чем API - это тема отдельного разговора.
http://quik.ru/forum/import/30080/30080/
Олег! Добавь, пожалуйста, функции (названия по логике твоего плагина как-то так):
AS_QUIK_SEND_ASYNC_NEWORDER,
AS_QUIK_NEW_ASYNC_STOP_ORDER,
AS_STRING_ASYNC_ORDER.
P.S. У меня, кстати, AS_STRING_ORDER работает идеально, без сбоев в отличие остальных твоих функций, которые при тех же условиях ИНОГДА не срабатывают и выдают ошибку.
Разбирался, разбирался, потом стал использовать только AS_STRING_ORDER и для заявок и для KILL и для всего.
В связи с этим вопрос: как она у тебя реализована, передает
точно так же, как и AS_QUIK_SEND_SYNC_NEWORDER, если это заявка;
точно так же, как и AS_QUIK_KILL_ORDER, если там снятие заявки;
точно так же, как и AS_QUIK_NEW_STOP_ORDER, если там стоп;
точно так же, как и AS_QUIK_KILL_STOP_ORDER, если там снятие стопа,
или как то по другому? Режет строку, выуживает нужные данные, и отправляет нужную команду в API?
Если все так, то только асинхронная AS_STRING_ORDER для любых транзакций и нужна, с названием, например, как выше написано AS_STRING_ASYNC_ORDER.
P.S.2 Понятно, что асинхронная функция не будет возвращать номера заявок и что их судьбу нужно другими способами отслеживать - это тема тоже отдельного разговора.
Асинхронная функция в твоем плагине нужна!
Олег, если это не сложно, пожалуйста, добавь!
И спасибо тебе огромное за этот плагин в принципе! |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
С точки зрения API моя dll для всех функций включая
AS_STRING_ORDER
используют одну и ту же функцию.
TRANS2QUIK_SEND_SYNC_TRANSACTION
Я просто оформил по разному для удобства.
Сейчас посмотрел. В принципе вроде не сложно будет сделать асинхронную.
Если не всплывут никакие сложности, то постараюсь завтра выложить на пробу. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Astrobiolog
Зарегистрирован: 27.01.2013
Сообщения: 66
|
Спасибо, Олег! Буду ждать. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Попробуй. Я ничего не проверял. Добавил функцию
AS_STRING_ASYNC_ORDER() Один параметр. Строка. Ничего не возвращает. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Astrobiolog
Зарегистрирован: 27.01.2013
Сообщения: 66
|
000 писал(а): |
Попробуй. Я ничего не проверял. Добавил функцию
AS_STRING_ASYNC_ORDER() Один параметр. Строка. Ничего не возвращает. |
Вот это оперативность! Буду пробовать, завтра днем отпишусь. Спасибо! |
|
|
Посмотреть профиль Отправить личное сообщение |
|
Astrobiolog
Зарегистрирован: 27.01.2013
Сообщения: 66
|
На данном этапе все работает. Если что-то будет не так - отпишусь. Еще раз спасибо, Олег! |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Афигеть. Сам не ожидал, что так просто... |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Astrobiolog
Зарегистрирован: 27.01.2013
Сообщения: 66
|
000 писал(а): |
Афигеть. Сам не ожидал, что так просто... |
В коде ведь пришлось просто добавить TRANS2QUIK_SEND_ASYNC_TRANSACTION, так? Я предполагал, что это просто, но исходника у меня не было, пришлось тебя беспокоить. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Ну если интересуют подробности, то надо было дописать функцию, которая вызывает TRANS2QUIK_SEND_ASYNC_TRANSACTION и передает в нее параметр И еще описать эту функцию в таблице функций видимых в амиброкере. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Alex14
Зарегистрирован: 12.11.2010
Сообщения: 90
|
Олег, подскажи как правильнее сделать: есть две стратегии, которые работают на разных фреймах (5 мин и час) и разных счетах, но завязаны на 1 квик. Вопрос: робота лучше сделать раздельно путем запуска 2-х ами или можно в одном? (не сильно ли 2 ами подгрузят систему). Или есть еще варианты? |
_________________ Деда Мороза не существует!!! |
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
На двух ами боюсь ничего не получится. Либо встраивать обе стратегии в одного робота, либо 2 компа. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
|
Начать новую тему Ответить на тему |
Список форумов AmiSite.ru » Роботы |
На страницу Пред. 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55 След. |
|
Следующая тема
Предыдущая тема
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы не можете скачивать файлы
|
|