В результате стоп-заявка на покупку отклоняется с формулировкой "Рыночная заявка для клиентского счета запрещена": Что происходит? UID 92812
Надо делать так, как надо. А как не надо - делать не надо.
Пользователь
Сообщений: Регистрация: 30.01.2015
26.10.2015 19:02:04
Цитата
Старатель пишет: QUIK Junior v.7.0.0.289 Отправляю 4 рыночные заявки (2 обычные и 2 стоп): В результате стоп-заявка на покупку отклоняется с формулировкой "Рыночная заявка для клиентского счета запрещена": ------------------ Что происходит? UID 92812
Предположу два варианта 1) это тестовый сервер 2) рыночная цена в стопе на фьючерсах не катит. Если хотите рыночную цену на фьючах, то поставьте цену минимально допустимую (для продажи) или максимально допустимую (для покупки) И получите по рыночной цене А на неликвиде сольете весь депозит.
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
27.10.2015 13:28:06
Отклоняется только рыночная стоп-заявка на покупку. Стоп на продажу принимается и исполняется.
Надо делать так, как надо. А как не надо - делать не надо.
Пользователь
Сообщений: Регистрация: 30.01.2015
28.10.2015 11:33:09
Цитата
Старатель пишет: Отклоняется только рыночная стоп-заявка на покупку. Стоп на продажу принимается и исполняется.
Могу объяснить это следующим образом При продаже осуществляется продажа фиксированного количества , которое у Вас есть по любой цене на бирже. Т е брокер это исполнит всегда так как что продать есть, а цена указана любая. ----------------------------------------------- При покупке ситуация иная. Вы заказываете купить конкретное число по любой цене, но при ограниченном количестве Ваших денег. Т е возникает риск покупки Вам на сумму больше, чем у Вас есть. А это уже нельзя делать. Так как ситуация не предсказуемая, то в выполнении такого поручения логичнее отказать, так как исполнение стопа делает робот и заранее резервирует ваши деньги, а при цене по рынку - сколько точно надо?- неизвестно!!!
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
28.10.2015 11:53:45
Цитата
Николай Камынин пишет: а при цене по рынку - сколько точно надо?- неизвестно!!!
На ФОРТС в рыночные заявки подставляется конкретная цена. ;-)
Спасибо, вопрос решён. Видимо, что-то было с настройками прав на сервере.
Надо делать так, как надо. А как не надо - делать не надо.
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
28.10.2015 12:15:29
Николай Камынин, и да, ваши рассуждения несостоятельны: Во-первых, продажа может осуществляться в долг, и сколько резервировать ДС - тоже не известно Во-вторых, при выставлении стоп-заявки, ДС не резервируются.
Надо делать так, как надо. А как не надо - делать не надо.
Пользователь
Сообщений: Регистрация: 30.01.2015
28.10.2015 17:42:51
Цитата
Старатель пишет: Николай Камынин , и да, ваши рассуждения несостоятельны: Во-первых, продажа может осуществляться в долг, и сколько резервировать ДС - тоже не известно Во-вторых, при выставлении стоп-заявки, ДС не резервируются.
Продажа в долг рассчитывается по наличию у Вас залога. Но конкретно выполнять или не выполнять решает брокер. ------------------------------------------------- Что же касается Вашего изречения "не состоятельны", то это не доказательство , а Вы не господь,чтобы изрекать истину в последней инстанции. -------------------------------------------------- Я описал Вам возможную ситуацию. Никто Вас не заставляет ее читать или ей верить.
Пользователь
Сообщений: Регистрация: 30.04.2015
24.03.2017 08:36:29
Здравствуйте. Подскажите пожалуйста. С каким флагом будет таблица стопзаявки TAKE_PROFIT_STOP_ORDER в OnStopOrder, в случае, если превышен OFFSET, т.е. параметры заявки сдвинулись в сторону "улучшения" сделки? Если данный признак читается в другом месте, то в каком? Изменится ли при этом STOPPRICE или какой другой параметр? Спасибо.
Пользователь
Сообщений: Регистрация: 23.01.2015
24.03.2017 09:18:10
PFelix, Здравствуйте, Если проще, Вас интересует что будет в поле flags при активации, но до исполнения, стоп заявки типа тейк-профит. будет флаг бит 15 (0x8000) - Идет расчет минимума-максимума
Пользователь
Сообщений: Регистрация: 30.04.2015
24.03.2017 09:55:51
Сергей, а что будет, если цена превысит стопцену+ оффсет? Я вчера экспериментировал, но ("подальше от греха") стопцена была много больше. Заявка, действительно, была с флагом 0х8000, НО вне зависимости от исполнения условия. она сразу приняла статус "расчета минимума максимума". Я оговорюсь, что я и в позе-то никакой не был. А что будет, когда исполнятся условия на тейк?
Пользователь
Сообщений: Регистрация: 30.04.2015
24.03.2017 09:58:51
Может, если бы я был "в позе", первый калбек бы содержал флаг "просто" 0х019?
Пользователь
Сообщений: Регистрация: 23.01.2015
24.03.2017 09:59:14
PFelix, Когда исполнится стоп заявка, поменяется первый флаг бит 0 (0x1) Заявка активна, иначе не активна
Пользователь
Сообщений: Регистрация: 23.01.2015
24.03.2017 10:00:47
Цитата
PFelix написал: Может, если бы я был "в позе", первый калбек бы содержал флаг "просто" 0х019?
Вы о чем? что за флаг такой 0х019?? В документации ничего про него нет. Попробуйте переформулировать вопрос
Пользователь
Сообщений: Регистрация: 30.04.2015
24.03.2017 11:27:10
"флаг" = флаги: 0х010 or 0х008 or 0х001 = стоп + лимитированная + активная бит 4 недокументирован, но по факту вот такие флаги приходят лимитированная, по всей видимости, потому, что признак MARKET_TAKE_PROFIT для TAKE_PROFIT_STOP_ORDER не устанавливается. OnStopOrder вызывается, когда заявка исполняется или МЕНЯЮТСЯ параметры. В какой последовательности придут калбеки И с какими флагами, если статусы могут быть: 1 стоп-заявка установлена; 2 Идет расчет минимума-максимума; 3 выполнено условие подвинуть пределы (цена изменилась при покупке до величины STOPPRICE + OFFSET + шаг цены); 4 исполнена. И что происходит в процессе: Идет расчет минимума-максимума. ??? Спасибо.
Пользователь
Сообщений: Регистрация: 23.01.2015
24.03.2017 11:52:17
PFelix, Вы можете самостоятельно поставить эксперимент и выяснить что в каких случаях приходит. Для этого можно использовать например наш демо доступ.
Цитата
PFelix написал: И что происходит в процессе: Идет расчет минимума-максимума.
Сначала тейк профит, ждет когда цена преодолеет установленное значение. Когда ценда дойдет но заданного уровня и перешагнет ее, тейк профит активируется и ждет когда цена отклонится больше чем на заданный отступ. Это ожидание по другому называется "Идет расчет минимума-максимума"
Пользователь
Сообщений: Регистрация: 30.04.2015
24.03.2017 11:56:29
Цитата
Sergey Gorokhov написал: ждет когда цена отклонится больше чем на заданный отступ
И когда это произойдет в калбек какие флаги придут?
Если аналогичную заявку выставить в ручном режиме, она проходит? По какому инструменту выставляете?
Здравствуйте, 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" ?
Пользователь
Сообщений: Регистрация: 12.03.2020
16.03.2020 19:24:49
Suntor, прошу прощения - не заметил в своем первом сообщении вообще отсутствующих кавычек у M. Вы правильно указали на это Перепробовал за последнее время все какие мог варианты со всеми параметрами в заявке что уже путаюсь
QUIK clients support
Сообщений: Регистрация: 27.01.2015
17.03.2020 21:35:03
Добрый день.
Если ошибка у Вас воспроизводится и при ручном вводе, то просьба закрыть QUIK, сделать архив рабочего места (после возникновения ошибки) без ключей доступа и прислать нам на
Если ошибка у Вас воспроизводится и при ручном вводе, то просьба закрыть QUIK, сделать архив рабочего места (после возникновения ошибки) без ключей доступа и прислать нам на
Здравствуйте, Egor Я правильно вас понял что архив рабочего места есть архив папки с установленной программой ? И подскажите пожалуйста что мне нужно сделать, чтобы она была без ключей доступа
Если ошибка у Вас воспроизводится и при ручном вводе, то просьба закрыть QUIK, сделать архив рабочего места (после возникновения ошибки) без ключей доступа и прислать нам на
Здравствуйте, Egor Я правильно вас понял что архив рабочего места есть архив папки с установленной программой ? И подскажите пожалуйста что мне нужно сделать, чтобы она была без ключей доступа
Добрый день.
Да, верно.
Ключи это pubring и secring. Если у Вас авторизацию по логину и паролю, то ключи не используются.
Пользователь
Сообщений: Регистрация: 10.04.2015
20.03.2020 00:17:47
Цитата
Александр написал: Suntor, прошу прощения - не заметил в своем первом сообщении вообще отсутствующих кавычек у M. Вы правильно указали на это Перепробовал за последнее время все какие мог варианты со всеми параметрами в заявке что уже путаюсь
Вроде уже очевидно было, когда указал на пропущенные кавычки, но судя по дальнейшей переписке нет.
У вас ошибка в коде. Вы не поставили букву "M" в кавычки. Из-за этого она воспринимается как переменная со значением nil. И присваивая этот nil элементу таблицы с именем TYPE, вы просто удаляете его из таблицы, или точнее вообще его не создаёте. В итоге, у вас остаётся только элемент PRICE со значением "0". А поскольку TYPE не указан, то по умолчанию заявка считается «Лимитированной», что вкупе с нулевой ценой приводит к возврату ошибки: "Цена заявки должна быть положительна". Потому что для «Лимитированной» заявки нельзя указывать нулевую цену.
Правильно заполните все поля таблицы транзакции, после этого выведите их на печать через ф-цию message, убедившись, что все поля присутствуют и имеют правильные значения, а уже потом вызывайте ф-цию sendTransaction, и тогда избежите подобных ошибок.
(*) Кавычки можете использовать любые. Они в Lua сделаны, чтобы вкладываться друг в друга. Двойные в одинарные и наоборот. Но в данном случае это не нужно.