Старатель пишет: QUIK Junior v.7.0.0.289 Отправляю 4 рыночные заявки (2 обычные и 2 стоп): В результате стоп-заявка на покупку отклоняется с формулировкой "Рыночная заявка для клиентского счета запрещена": ------------------ Что происходит? UID 92812
Предположу два варианта 1) это тестовый сервер 2) рыночная цена в стопе на фьючерсах не катит. Если хотите рыночную цену на фьючах, то поставьте цену минимально допустимую (для продажи) или максимально допустимую (для покупки) И получите по рыночной цене А на неликвиде сольете весь депозит.
Старатель пишет: Отклоняется только рыночная стоп-заявка на покупку. Стоп на продажу принимается и исполняется.
Могу объяснить это следующим образом При продаже осуществляется продажа фиксированного количества , которое у Вас есть по любой цене на бирже. Т е брокер это исполнит всегда так как что продать есть, а цена указана любая. ----------------------------------------------- При покупке ситуация иная. Вы заказываете купить конкретное число по любой цене, но при ограниченном количестве Ваших денег. Т е возникает риск покупки Вам на сумму больше, чем у Вас есть. А это уже нельзя делать. Так как ситуация не предсказуемая, то в выполнении такого поручения логичнее отказать, так как исполнение стопа делает робот и заранее резервирует ваши деньги, а при цене по рынку - сколько точно надо?- неизвестно!!!
Николай Камынин, и да, ваши рассуждения несостоятельны: Во-первых, продажа может осуществляться в долг, и сколько резервировать ДС - тоже не известно Во-вторых, при выставлении стоп-заявки, ДС не резервируются.
Надо делать так, как надо. А как не надо - делать не надо.
Старатель пишет: Николай Камынин , и да, ваши рассуждения несостоятельны: Во-первых, продажа может осуществляться в долг, и сколько резервировать ДС - тоже не известно Во-вторых, при выставлении стоп-заявки, ДС не резервируются.
Продажа в долг рассчитывается по наличию у Вас залога. Но конкретно выполнять или не выполнять решает брокер. ------------------------------------------------- Что же касается Вашего изречения "не состоятельны", то это не доказательство , а Вы не господь,чтобы изрекать истину в последней инстанции. -------------------------------------------------- Я описал Вам возможную ситуацию. Никто Вас не заставляет ее читать или ей верить.
Здравствуйте. Подскажите пожалуйста. С каким флагом будет таблица стопзаявки TAKE_PROFIT_STOP_ORDER в OnStopOrder, в случае, если превышен OFFSET, т.е. параметры заявки сдвинулись в сторону "улучшения" сделки? Если данный признак читается в другом месте, то в каком? Изменится ли при этом STOPPRICE или какой другой параметр? Спасибо.
PFelix, Здравствуйте, Если проще, Вас интересует что будет в поле flags при активации, но до исполнения, стоп заявки типа тейк-профит. будет флаг бит 15 (0x8000) - Идет расчет минимума-максимума
Сергей, а что будет, если цена превысит стопцену+ оффсет? Я вчера экспериментировал, но ("подальше от греха") стопцена была много больше. Заявка, действительно, была с флагом 0х8000, НО вне зависимости от исполнения условия. она сразу приняла статус "расчета минимума максимума". Я оговорюсь, что я и в позе-то никакой не был. А что будет, когда исполнятся условия на тейк?
"флаг" = флаги: 0х010 or 0х008 or 0х001 = стоп + лимитированная + активная бит 4 недокументирован, но по факту вот такие флаги приходят лимитированная, по всей видимости, потому, что признак MARKET_TAKE_PROFIT для TAKE_PROFIT_STOP_ORDER не устанавливается. OnStopOrder вызывается, когда заявка исполняется или МЕНЯЮТСЯ параметры. В какой последовательности придут калбеки И с какими флагами, если статусы могут быть: 1 стоп-заявка установлена; 2 Идет расчет минимума-максимума; 3 выполнено условие подвинуть пределы (цена изменилась при покупке до величины STOPPRICE + OFFSET + шаг цены); 4 исполнена. И что происходит в процессе: Идет расчет минимума-максимума. ??? Спасибо.
PFelix, Вы можете самостоятельно поставить эксперимент и выяснить что в каких случаях приходит. Для этого можно использовать например наш демо доступ.
Цитата
PFelix написал: И что происходит в процессе: Идет расчет минимума-максимума.
Сначала тейк профит, ждет когда цена преодолеет установленное значение. Когда ценда дойдет но заданного уровня и перешагнет ее, тейк профит активируется и ждет когда цена отклонится больше чем на заданный отступ. Это ожидание по другому называется "Идет расчет минимума-максимума"
Если аналогичную заявку выставить в ручном режиме, она проходит? По какому инструменту выставляете?
Здравствуйте, Egor Заявку пробую выставить на покупку по рынку одного лота акции Алросы (... SECCODE = 'ALRS', ...) и в ручном режиме, как оказалось, выводится такое же сообщение об ошибке
Александр написал: При попытке выставления рыночной заявки на фондовом рынке возникает сообщение об ошибке "Цена заявки должна быть положительна".
order = { ACTION = 'NEW_ORDER', ACCOUNT = account, CLIENT_CODE = client_code, CLASSCODE = 'TQBR', SECCODE = seccode, OPERATION = operation, TYPE = M, PRICE = "0", QUANTITY = '1', TRANS_ID = id }
Букву 'M' в кавычки поставьте: TYPE = 'M'
Здравствуйте, Suntor Спасибо за замечание, однако есть ли разница в типе кавычек если: message(type("M")); message(type('M')); в обоих случаях выводит "string" ?
Suntor, прошу прощения - не заметил в своем первом сообщении вообще отсутствующих кавычек у M. Вы правильно указали на это Перепробовал за последнее время все какие мог варианты со всеми параметрами в заявке что уже путаюсь
Если ошибка у Вас воспроизводится и при ручном вводе, то просьба закрыть QUIK, сделать архив рабочего места (после возникновения ошибки) без ключей доступа и прислать нам на quiksupport@arqatech.com
Если ошибка у Вас воспроизводится и при ручном вводе, то просьба закрыть QUIK, сделать архив рабочего места (после возникновения ошибки) без ключей доступа и прислать нам на quiksupport@arqatech.com
Здравствуйте, Egor Я правильно вас понял что архив рабочего места есть архив папки с установленной программой ? И подскажите пожалуйста что мне нужно сделать, чтобы она была без ключей доступа
Если ошибка у Вас воспроизводится и при ручном вводе, то просьба закрыть QUIK, сделать архив рабочего места (после возникновения ошибки) без ключей доступа и прислать нам на quiksupport@arqatech.com
Здравствуйте, Egor Я правильно вас понял что архив рабочего места есть архив папки с установленной программой ? И подскажите пожалуйста что мне нужно сделать, чтобы она была без ключей доступа
Добрый день.
Да, верно.
Ключи это pubring и secring. Если у Вас авторизацию по логину и паролю, то ключи не используются.
Александр написал: Suntor, прошу прощения - не заметил в своем первом сообщении вообще отсутствующих кавычек у M. Вы правильно указали на это Перепробовал за последнее время все какие мог варианты со всеми параметрами в заявке что уже путаюсь
Вроде уже очевидно было, когда указал на пропущенные кавычки, но судя по дальнейшей переписке нет.
У вас ошибка в коде. Вы не поставили букву "M" в кавычки. Из-за этого она воспринимается как переменная со значением nil. И присваивая этот nil элементу таблицы с именем TYPE, вы просто удаляете его из таблицы, или точнее вообще его не создаёте. В итоге, у вас остаётся только элемент PRICE со значением "0". А поскольку TYPE не указан, то по умолчанию заявка считается «Лимитированной», что вкупе с нулевой ценой приводит к возврату ошибки: "Цена заявки должна быть положительна". Потому что для «Лимитированной» заявки нельзя указывать нулевую цену.
Правильно заполните все поля таблицы транзакции, после этого выведите их на печать через ф-цию message, убедившись, что все поля присутствуют и имеют правильные значения, а уже потом вызывайте ф-цию sendTransaction, и тогда избежите подобных ошибок.
(*) Кавычки можете использовать любые. Они в Lua сделаны, чтобы вкладываться друг в друга. Двойные в одинарные и наоборот. Но в данном случае это не нужно.