Подскажите, пожалуйста, как будет исполнена рыночная заявка FORTS, если в качестве цены указать не максимально (минимально) возможную цену для инструмента, а цену, отстоящую от лучшего предложения только на несколько шагов цены (разумеется, в правильном направлении), при условии, что количество предлагаемых лотов в биржевом стакане в этом диапазоне цен будет меньше, чем указано в заявке?
Если стакан, который наблюдался на момент отправки заявки к моменту попадания заявки на биржу не изменится, то произойдут несколько сделок для тех ценовых уровней, где цена лимиток из стакана лучше или равна цене в Вашей заявке, после чего остаток останется стоять в виде лимитной заявки. Это в случае, если был указан параметр транзакции "PUT_IN_QUEUE". В случаях "FILL_OR_KILL", "KILL_BALANCE" будет по-другому.
Если же биржевой стакан как-то поменяется, то результаты (сделки и остаток в заявке) будут соответствовать обновлённому стакану. Может, например, что вообще сделок не будет, а Ваша заявка встанет в стакан, если рынок успеет "убежать".
Если на FORTS выставить заявку с типом "M" - т.е. рыночную, то никакого стандартного нормального ордера выставлено не будет. Это уже "изюминка" Мосбиржи, у которой по некоторым причинам - в отличие от тех же бирж Европы и США - почему-то никак не получается сделать сервис рыночных ордеров. На фондовой секции рыночные ордера есть, а на срочной - никак-с.
По своему личному опыту скажу. Если нужно получить закрытие объема "по рынку", вам придется самому программировать на QLua этои механизм. Я не рекомендую пользоваться для таких целей эмулятором рыночных заявок с сервера QUIK именно из-за того, что никаких гарантий результата в этом случае Мосбиржа не дает.
Вопрос снимается, нашелся ответ в руководстве: (Вопрос, разумеется, был для PUT_IN_QUEUE)
«Рыночная» – при установленном признаке и при наличии встречного предложения заявка исполняется по цене не хуже, чем значение, указанное в поле «Цена». Неисполненный остаток, на который отсутствует встречное предложение, снимается с торгов.
Получается, что на forts, по сути, нет рыночных заявок? Ведь это поведение лимитированный заявки в режиме KILL_BALANCE.
В виду того, сколько мнений, отличающихся в нюансах, было получено по поднятому мной вопросу от форумчан, зарегистрированных "не вчера", прошу пояснений от ТЕХПОДДЕРЖКИ QUIK:
Заявка "FORTS MARKET PUT_IN_QUEUE" АБСОЛЮТНО ИДЕНТИЧНА "FORTS LIMITED KILL_BALANCE", или они обрабатываются сервером quik и/или биржей по разному?
На бирже нет рыночных заявок по срочному рынку и никогда не было. То что в QUIK называется "рыночной" для срочного рынка, это обычная лимитированная заявка с признаком "Снять остаток" и указанной ценой. Если пользователь цену не указывает, то автоматом подставляется минимально/максимально возможная цена, в зависимости от направления.
Sergey Gorokhov написал: На бирже нет рыночных заявок по срочному рынку и никогда не было. То что в QUIK называется "рыночной" для срочного рынка, это обычная лимитированная заявка с признаком "Снять остаток" и указанной ценой. Если пользователь цену не указывает, то автоматом подставляется минимально/максимально возможная цена, в зависимости от направления
В описании формата .tri-файла для параметра PRICE сказано, что:
Цитата
Цена заявки, за единицу инструмента. Обязательный параметр. При выставлении рыночной заявки (TYPE=M) на Срочном рынке FORTS необходимо указывать значение цены – укажите наихудшую (минимально или максимально возможную – в зависимости от направленности)...
Так нужно или нет указывать цену при выставлении рыночной заявки на срочном рынке средствами lua? Другими словами, можно ли указать PRICE = "0", или надо обязательно лезть в Таблицу текущих торгов за соответствующими параметрами мин-макс цены инструмента?
Мой вам совет: не пользуйтесь "псевдорыночными" заявками на FORTS, так как результат не предсказуем. Если вам нужно что-то взять по рынку, воспользуйтесь обычной лимитированной заявкой и все.
Sergey Gorokhov написал: На бирже нет рыночных заявок по срочному рынку и никогда не было. То что в QUIK называется "рыночной" для срочного рынка, это обычная лимитированная заявка с признаком "Снять остаток" и указанной ценой. Если пользователь цену не указывает , то автоматом подставляется минимально/максимально возможная цена, в зависимости от направления
В описании формата .tri-файла для параметра PRICE сказано, что:
Цитата
Цена заявки, за единицу инструмента. Обязательный параметр. При выставлении рыночной заявки (TYPE=M) на Срочном рынке FORTS необходимо указывать значение цены – укажите наихудшую (минимально или максимально возможную – в зависимости от направленности)...
Так нужно или нет указывать цену при выставлении рыночной заявки на срочном рынке средствами lua? Другими словами, можно ли указать PRICE = "0", или надо обязательно лезть в Таблицу текущих торгов за соответствующими параметрами мин-макс цены инструмента?
если у вас нормальный брокер и программное обеспечение он своевременно обновляет, то можно указывать type=m и нулевую цену. Шлюз обработает.
если же на такую транзакцию приходит ответ что цена не может быть 0 - задумайтесь, правильно ли вы выбрали брокера.
Sergey Gorokhov написал: На бирже нет рыночных заявок по срочному рынку и никогда не было. То что в QUIK называется "рыночной" для срочного рынка, это обычная лимитированная заявка с признаком "Снять остаток" и указанной ценой. Если пользователь цену не указывает , то автоматом подставляется минимально/максимально возможная цена, в зависимости от направления
В описании формата .tri-файла для параметра PRICE сказано, что:
Цитата
Цена заявки, за единицу инструмента. Обязательный параметр. При выставлении рыночной заявки (TYPE=M) на Срочном рынке FORTS необходимо указывать значение цены – укажите наихудшую (минимально или максимально возможную – в зависимости от направленности)...
Так нужно или нет указывать цену при выставлении рыночной заявки на срочном рынке средствами lua? Другими словами, можно ли указать PRICE = "0", или надо обязательно лезть в Таблицу текущих торгов за соответствующими параметрами мин-макс цены инструмента?
если у вас нормальный брокер и программное обеспечение он своевременно обновляет, то можно указывать type=m и нулевую цену. Шлюз обработает.
если же на такую транзакцию приходит ответ что цена не может быть 0 - задумайтесь, правильно ли вы выбрали брокера.
Вопрос не к брокеру, а разработчикам QUIK, которые дают советы, противоречащие их же документации. to s_mike@rambler.ru; Если сервер брокера "нормально" обработает такую транзакцию (срочный рынок FORTS, TYPE=M, PRICE=0), отправленную из lua, т.е. выставит заявку по минимальной/максимальной цене инструмента в зависимости от направления сделки (S/B), то как раз тогда стоит задуматься, правильно ли вы выбрали брокера, у которого сервер QUIK работает не так, как это описано в документации разработчика.
Повторяю вопрос к разработчикам QUIK: Вопрос касается ситуации, когда транзакция отправляется из lua, а не вручную из диалогового окна подачи заявки:
Допустимо ли из lua отправлять рыночную заявку на рынке FORTS с нулевой ценой? Если да, то поправьте, пожалуйста, описание формата .tri-файла для поля PRICE.
Если на стороне брокера включена спец настройка, то при подаче нулевой цены шлюз подставит мин/макс цену в зависимости от направления. Нам не известно включена ли эта настройка на стороне брокера. В связи с чем править документацию в этом месте не считаем оправданным.
Спасибо, наконец я получил исчерпывающий ответ. Действительно, в этой ситуации не нужно править руководство. А при написании достаточно универсального скрипта нужно исходить из того, что у брокера эта настройка может быть отключена. Просто в ответе #8 не упоминалось, что такая транзакция пройдет только при определенных настройках со стороны брокера.