Выставление "рыночных" заявок

Страницы: 1 2 След.
RSS
Выставление "рыночных" заявок
 
Мне нужно просто разобраться. Для выставления рыночной заявки необходимо указать в таблице ["TYPE"]="M", а нужно ли указывать цену? И еще как это вообще работает? А если я хочу купить 10 лотов, а по лучшей цене есть только 8 лотов, что будет тогда с этими лишними двумя?
 
Все смотрят и никто ничего написать не может
 
Если заявка рыночная, то ["TYPE"]="M", цена =0.
Цитата
Deserf пишет:
А если я хочу купить 10 лотов, а по лучшей цене есть только 8
Рыночная покупает не по лучшей цене, она собирает весь стакан сколько сможет, чтобы удовлетворить твою заявку.
А вот если заявок в стакане будет не достаточно для удовлетворения _всей_ твоей заявки (низкая ликвидность, или очень большая заявка), то часть заявки будет исполнена (на сколько хватит), а остаток будет снят.

Если выставить лимитную по заведомо худшей цене, разница в поведении будет такая: все заявки до указанной цены будут съедены (если объема твоей заявки хватит), а остаток будет висеть в стакане как лимитная заявка.
 
Цитата
Deserf пишет:
Мне нужно просто разобраться. Для выставления рыночной заявки необходимо указать в таблице ["TYPE"]="M", а нужно ли указывать цену? И еще как это вообще работает? А если я хочу купить 10 лотов, а по лучшей цене есть только 8 лотов, что будет тогда с этими лишними двумя?
Добрый день.

Хотим скачать, что на ФОРТС не существует "рыночных" заявок.
То что есть - эмуляция поведения. Quik ставит заявку с типом "Снять остаток" и подставляет цену. Особенность типа заявки "Снять остаток" в том, что если она не находит встречного предложения то тут же снимается.
Указывая ноль в тексте транзакции система подставляет из ТТП максимально возможную либо минимально возможную цену, в зависимости от направления заявки.
 
Дополним, если речь идет про фондовых рынок, то такая заявка исполняется на бирже сразу, по лучшим ценам имеющихся встречных.
 
Тебе что дать пример выставления рыночной заявки?
 
Если можно, дайте пример. То есть, из этих 10 заявок он 8 продаст по одной цене, а 2 по другой, если такие предложения будут - это круто.
Извините, я про Фортс не понял...
 
Рыночные заявки, выходит, при программировании помогают избавиться от риска "получить невыполненные заявки"
 
Цитата
Deserf пишет:
Если можно, дайте пример. То есть, из этих 10 заявок он 8 продаст по одной цене, а 2 по другой, если такие предложения будут - это круто.
Извините, я про Фортс не понял...
Добрый день.

Уточните, что именно про FORTS не понятно?
 
ФОРТС это то есть в режиме демо-счета?
 
Цитата
Deserf пишет:
ФОРТС это то есть в режиме демо-счета?
Правило работает, как для демо счета, так и для боевого.
Если сам режим Вам мало знаком, то можно на сайте биржи почитать.
 
Хорошо, спасибо. При выставлении рыночной заявки в программном коде qlua есть необходимость указывать цену, и как она повлияет на удовлетворение заявки?
 
Цитата
Deserf пишет:
Хорошо, спасибо. При выставлении рыночной заявки в программном коде qlua есть необходимость указывать цену, и как она повлияет на удовлетворение заявки?
На фондовом рынке при рыночной заявке в коде в параметре "цена" указываете ноль.
В этом случае заявка исполнится на бирже сразу, по лучшим ценам имеющихся встречных заявок.
 
Нет, а если принудительно указать цену, как будет выполняться заполнение заявки?
 
Цитата
Deserf пишет:
Нет, а если принудительно указать цену, как будет выполняться заполнение заявки?
Если укажите рыночная заявка и принудительно время, то заявка все равно исполнится по рыночной.
 
Еще вопрос по той же теме, а стоп-заявки рыночные можно выставлять? То есть, чтобы у нее конкретно была указана цена срабатывания, а цена исполнения уже была нулевой при типе стоп заявки "М"?
 
Цитата
Deserf пишет:
Еще вопрос по той же теме, а стоп-заявки рыночные можно выставлять? То есть, чтобы у нее конкретно была указана цена срабатывания, а цена исполнения уже была нулевой при типе стоп заявки "М"?
Добрый день.

Признак рыночная на стоп заявках присутствует только в типе "тейк профит и стоп лимит", при этом
можно не указывать тейк профит, а указать значение в стоп лимите. И будет работать.
 
А можно по научному? Так можно:


trans4 = {
               ["ACCOUNT"] = Account,
               ["ACTION"] = "NEW_STOP_ORDER",
               ["CLASSCODE"] = class_code,
               ["SECCODE"] = sec_code,
               ["OPERATION"] = "B",
["TYPE"] = "M",
["PRICE"] = "0",
["STOPPRICE"] = tostring((Zena),
               ["QUANTITY"] = tostring(PlanLotov),
               ["TRANS_ID"] = "6",
["CLIENTCODE"] = tostring(client_code),
["COMMENT"] = "Progr"
}
result4 = sendTransaction(trans4)
 
Цитата
Deserf пишет:
А можно по научному? Так можно:


trans4 = {
["ACCOUNT"] = Account,
["ACTION"] = "NEW_STOP_ORDER",
["CLASSCODE"] = class_code,
["SECCODE"] = sec_code,
["OPERATION"] = "B",
["TYPE"] = "M",
["PRICE"] = "0",
["STOPPRICE"] = tostring((Zena),
["QUANTITY"] = tostring(PlanLotov),
["TRANS_ID"] = "6",
["CLIENTCODE"] = tostring(client_code),
["COMMENT"] = "Progr"
}
result4 = sendTransaction(trans4)
Комп просто пишет, что цена должна быть положительна (ноль ведь меньше цены открытия стопа)
 
Ну так что? Мне кажется рыночные стоп-заявки не работают
 
Цитата
Deserf пишет:
Ну так что? Мне кажется рыночные стоп-заявки не работают
Добрый день.

В обычных стоп заявка нет признака рыночной,
есть только в тейк профит и стоп лимит (STOP_ORDER_KIND=TAKE_PROFIT_AND_STOP_LIMIT_ORDER)
 
Цитата
Deserf пишет:
А можно по научному? Так можно:


trans4 = {
["ACCOUNT"] = Account,
["ACTION"] = "NEW_STOP_ORDER",
["CLASSCODE"] = class_code,
["SECCODE"] = sec_code,
["OPERATION"] = "B",
["TYPE"] = "M",
["PRICE"] = "0",
["STOPPRICE"] = tostring((Zena),
["QUANTITY"] = tostring(PlanLotov),
["TRANS_ID"] = "6",
["CLIENTCODE"] = tostring(client_code),
["COMMENT"] = "Progr"
}
result4 = sendTransaction(trans4)
Данная конструкция будет работать на срочном рынке ?
 
Цитата
Egor Zaytsev пишет:
Цитата
Deserf пишет:
Ну так что? Мне кажется рыночные стоп-заявки не работают
Добрый день.

В обычных стоп заявка нет признака рыночной,
есть только в тейк профит и стоп лимит (STOP_ORDER_KIND=TAKE_PROFIT_AND_STOP_LIMIT_ORDER)
А можно поподробней (я необыкновенно тупой), что это такое и как работает.Я так понимаю, что "STOP_ORDER_KIND" - это один из аттрибутов новой стоп-заявки и пишется в квадратных скобках, а "TAKE_PROFIT_AND_STOP_LIMIT_ORDER" - это значение аттрибута? И какие значения цен устанавливаются? И вообще, как это работает?
 
Цитата
max max пишет:
Цитата
Deserf пишет:
А можно по научному? Так можно:


trans4 = {
["ACCOUNT"] = Account,
["ACTION"] = "NEW_STOP_ORDER",
["CLASSCODE"] = class_code,
["SECCODE"] = sec_code,
["OPERATION"] = "B",
["TYPE"] = "M",
["PRICE"] = "0",
["STOPPRICE"] = tostring((Zena),
["QUANTITY"] = tostring(PlanLotov),
["TRANS_ID"] = "6",
["CLIENTCODE"] = tostring(client_code),
["COMMENT"] = "Progr"
}
result4 = sendTransaction(trans4)
Данная конструкция будет работать на срочном рынке ?
Прости, но она походу вообще не работает. У меня один раз выставилась всего. Я как мыслил, цена подходит к стоп-прайс и активируется рыночная заявка (тип = М, цена = "0"); Но это не работает, компьютер игнорирует значение типа. Может выставиться только заявка, в которой точно указана цена. У меня выставилась та, которая изображена, но только потому, что значение ["PRICE"] у нее было меньше значения ["STOPPRICE"] (ноль ведь меньше расчетной цены), однако, если бы она сработала, комп наверно написал бы что-то типа "невозможно выставить заявку по слишком низкой цене" т. е по нулевой цене она бы выставилась
 
Цитата
Deserf пишет:
Цитата
Egor Zaytsev пишет:
Цитата
Deserf пишет:
Ну так что? Мне кажется рыночные стоп-заявки не работают
Добрый день.

В обычных стоп заявка нет признака рыночной,
есть только в тейк профит и стоп лимит (STOP_ORDER_KIND=TAKE_PROFIT_AND_STOP_LIMIT_ORDER)
А можно поподробней (я необыкновенно тупой), что это такое и как работает.Я так понимаю, что "STOP_ORDER_KIND" - это один из аттрибутов новой стоп-заявки и пишется в квадратных скобках, а "TAKE_PROFIT_AND_STOP_LIMIT_ORDER" - это значение аттрибута? И какие значения цен устанавливаются? И вообще, как это работает?
Добрый день.

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

Из терминала это будет выглядеть так:



В функции также нужно будет указать все параметры, тейк профит, отступ, защитный спрэд необходимо тоже указать, но нулевыми.
Пример самой функции можно получить через карман транзакции (Торговля/Карман Транзакций/Создать карман). Кладете в карман нужную транзакцию,
сохраняете в tri файл и получаете ее исходные данные.
 
Цитата
Egor Zaytsev пишет:
Пример самой функции
Опечатка. Не пример функции, а пример транзакции.
 
Цитата
max max пишет:
Цитата
Deserf пишет:
А можно по научному? Так можно:


trans4 = {
["ACCOUNT"] = Account,
["ACTION"] = "NEW_STOP_ORDER",
["CLASSCODE"] = class_code,
["SECCODE"] = sec_code,
["OPERATION"] = "B",
["TYPE"] = "M",
["PRICE"] = "0",
["STOPPRICE"] = tostring((Zena),
["QUANTITY"] = tostring(PlanLotov),
["TRANS_ID"] = "6",
["CLIENTCODE"] = tostring(client_code),
["COMMENT"] = "Progr"
}
result4 = sendTransaction(trans4)
Данная конструкция будет работать на срочном рынке ?
Добрый день.

Аналогично и фондовому. Выше ответили, как должна выглядеть транзакция.
Единственное в поле цены будет подставляться максимальная или минимальная возможная цена.
 
Вот хороший пример из программы, объясните что тут нужно, что нет, пожалуйста:
t = {   ["ACTION"] = "NEW_STOP_ORDER",   ["TRANS_ID"] = tostring(math.random(1, 9999)),   ["CLASSCODE"] = "SPBFUT",   ["SECCODE"] = "RIM5",   ["ACCOUNT"] = "1232",   ["CLIENT_CODE"] = "123",   ["OPERATION"] = tostring(operation2),   ["TYPE"] = "M",   ["QUANTITY"] = tostring(quantity),   ["PRICE"] = "0",   ["STOPPRICE"] = tostring(stopprice_tp), --цена активации тейк профита   ["STOP_ORDER_KIND"] = "TAKE_PROFIT_AND_STOP_LIMIT_ORDER",   ["OFFSET"] = "5",   ["OFFSET_UNITS"] = "PERCENTS",   ["SPREAD"] = "3",   ["SPREAD_UNITS"] = "PERCENTS",   ["MARKET_TAKE_PROFIT"] = "NO",   ["STOPPRICE2"] = tostring(stopprice), --стоп цена   ["IS_ACTIVE_IN_TIME"] = "YES",   ["ACTIVE_FROM_TIME"] = "100000",   ["ACTIVE_TO_TIME"] = "234545",   ["MARKET_STOP_LIMIT"] = "NO"}
 
Иными словами, мне лучше увидеть фрагмент
Цитата
Egor Zaytsev пишет:
Цитата
Deserf пишет:
Цитата
Egor Zaytsev пишет:
Цитата
Deserf пишет:
Ну так что? Мне кажется рыночные стоп-заявки не работают
Добрый день.

В обычных стоп заявка нет признака рыночной,
есть только в тейк профит и стоп лимит (STOP_ORDER_KIND=TAKE_PROFIT_AND_STOP_LIMIT_ORDER)
А можно поподробней (я необыкновенно тупой), что это такое и как работает.Я так понимаю, что "STOP_ORDER_KIND" - это один из аттрибутов новой стоп-заявки и пишется в квадратных скобках, а "TAKE_PROFIT_AND_STOP_LIMIT_ORDER" - это значение аттрибута? И какие значения цен устанавливаются? И вообще, как это работает?
Добрый день.

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

Из терминала это будет выглядеть так:



В функции также нужно будет указать все параметры, тейк профит, отступ, защитный спрэд необходимо тоже указать, но нулевыми.
Пример самой функции можно получить через карман транзакции (Торговля/Карман Транзакций/Создать карман). Кладете в карман нужную транзакцию,
сохраняете в tri файл и получаете ее исходные данные.
Спасибо большое, так и сделал. Осталось только соотнести это с англоязычными аттрибутами, применяемыми в QLua, и все)))
 
Цитата
Deserf пишет:
Иными словами, мне лучше увидеть фрагмент
Цитата
Egor Zaytsev пишет:
Цитата
Deserf пишет:
Цитата
Egor Zaytsev пишет:
Цитата
Deserf пишет:
Ну так что? Мне кажется рыночные стоп-заявки не работают
Добрый день.

В обычных стоп заявка нет признака рыночной,
есть только в тейк профит и стоп лимит (STOP_ORDER_KIND=TAKE_PROFIT_AND_STOP_LIMIT_ORDER)
А можно поподробней (я необыкновенно тупой), что это такое и как работает.Я так понимаю, что "STOP_ORDER_KIND" - это один из аттрибутов новой стоп-заявки и пишется в квадратных скобках, а "TAKE_PROFIT_AND_STOP_LIMIT_ORDER" - это значение аттрибута? И какие значения цен устанавливаются? И вообще, как это работает?
Добрый день.

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

Из терминала это будет выглядеть так:



В функции также нужно будет указать все параметры, тейк профит, отступ, защитный спрэд необходимо тоже указать, но нулевыми.
Пример самой функции можно получить через карман транзакции (Торговля/Карман Транзакций/Создать карман). Кладете в карман нужную транзакцию,
сохраняете в tri файл и получаете ее исходные данные.
Спасибо большое, так и сделал. Осталось только соотнести это с англоязычными аттрибутами, применяемыми в QLua, и все)))
Язык не меняйте. Будет работать так.
 
Люди, помогите кодом плиз. Этот код не работает:


trans4 = {
               ["ACCOUNT"] = Account,
               ["ACTION"] = "NEW_STOP_ORDER",
               ["STOP_ORDER_KIND"] = "TAKE_PROFIT_STOP_ORDER",
               ["CLASSCODE"] = class_code,
               ["SECCODE"] = sec_code,
               ["OPERATION"] = "B",
["TYPE"] = "M",
["PRICE"] = "0",
["STOPPRICE"] = "0",
["STOPPRICE2"] = tostring(math.abs(math.ceil((Zena+maxp)*(10^RazryadZeny))/(10^RazryadZeny))),
               ["QUANTITY"] = tostring(PlanLotov),
               ["TRANS_ID"] = "6",
["CLIENTCODE"] = tostring(client_code),
["COMMENT"] = "Progr",
["OFFSET"] = "0",
["SPREAD"] = "0",
["SPREAD_UNITS"] = "PERCENTS",
["OFFSET_UNITS"] = "PERCENTS"
}
result4 = sendTransaction(trans4)
Цену проверял сообщением - цена корректная, в нужном формате, положительная. Пишет: "Цена заявки должна быть положительна". Может кто знает что тут не так?
 
Код взят из оригинального tri-файла, стоп-заявка ставилась, а программно вот нет...
 
Цитата
Deserf пишет:
Код взят из оригинального tri-файла, стоп-заявка ставилась, а программно вот нет...
Здравствуйте,
Для стоп заявки Тейк профит возможность указания рыночной цены не поддерживается.
Тля нее в принципе не поддерживается какое-либо указание цены, так как сама по себе эта стоп заявка предполагает расчет цен.
Скорее всего Вы хотели использовать другую стоп заявку TAKE_PROFIT_AND_STOP_LIMIT_ORDER
 
Поменял на TAKE_PROFIT_AND_STOP_LIMIT_ORDER - все то же. Какие поля для нее обязательны, и как высчитывают их значения?
 
Цитата
Deserf пишет:
Поменял на TAKE_PROFIT_AND_STOP_LIMIT_ORDER - все то же. Какие поля для нее обязательны, и как высчитывают их значения?
Рекомендуем к прочтению:
-Раздел 6. Совместная работа с другими приложениями
--Импорт транзакций
---Формат .tri-файла с параметрами транзакций
----Примеры строк, которые могут содержаться в файле
 
Понимаете в чем дело, я не хочу использовать обычную стоп-заявку с фиксированным значением цены, из-за того, что при большом количестве лотов некоторые из них скорее всего останутся висеть незакрытыми, а цена убежит дальше. Хотелось бы иметь такую стоп-заявку, чтобы она раскидывалась, как в "рыночных" заявках. В противном случае придется применять "нахальное минирование" - то есть выставлять рыночную заявку заявку для преждевременного закрытия убыточных позиций. Но если программа не будет работать, то позиции ведь так и останутся убыточными
 
Цитата
Sergey Gorokhov пишет:
Цитата
Deserf пишет:
Поменял на TAKE_PROFIT_AND_STOP_LIMIT_ORDER - все то же. Какие поля для нее обязательны, и как высчитывают их значения?
Рекомендуем к прочтению:
-Раздел 6. Совместная работа с другими приложениями
--Импорт транзакций
---Формат .tri-файла с параметрами транзакций
----Примеры строк, которые могут содержаться в файле
Да я уже это делал, рассматривал сохраненный .tri-файл от работавшей стоп-заявки, именно его я и вбил, но он не пашет, а пишет... сами знаете что... Неужели никто не ставил такие в lua-скрипте? Складывается ощущение, что я первооткрыватель...
 
И на просторах интернета ничего нет, нашел только таких же, как я. Они спрашивали, но дальше вопроса дела не пошло...
 
Цитата
Deserf пишет:
Да я уже это делал, рассматривал сохраненный .tri-файл от работавшей стоп-заявки, именно его я и вбил, но он не пашет, а пишет... сами знаете что... Неужели никто не ставил такие в lua-скрипте? Складывается ощущение, что я первооткрыватель...
Дело не в LUA а в том что сама транзакция составлена неправильно.
При сохранении в tri файле названия параметров на русском (кстати lua их поддерживает) а Вы перевели их в английский совершенно не так как нужно.
Так например нету параметров MARKET_STOP_LIMIT или MARKET_TAKE_PROFIT хотя судя по описанию задачи они должны быть, а вместо них ["TYPE"] = "M"
Для решения поставленной задачи, настоятельно рекомендуем прочесть внимательно руководство пользователя.
 
Цитата
Sergey Gorokhov пишет:
а вместо них ["TYPE"] = "M"
к слову параметра "TYPE"вообще не должно быть, так как это параметр для лимитированных заявок а не для стоп заявок
 
Цитата
Deserf пишет:
И на просторах интернета ничего нет, нашел только таких же, как я. Они спрашивали, но дальше вопроса дела не пошло...
На нашем форуме этот вопрос уже обсуждался
https://forum.quik.ru/forum10/topic538/
 
Цитата
Sergey Gorokhov пишет:
Цитата
Sergey Gorokhov пишет:
а вместо них ["TYPE"] = "M"
к слову параметра "TYPE"вообще не должно быть, так как это параметр для лимитированных заявок а не для стоп заявок
Я и без него пробовал, программа на него не ругается, просто игнорирует
 
Подытожим: работающего варианта стопов, выставляющих заявки по "рыночной" цене не существует. Если нетрудно, осуществите пожалуйста в будущем
 
Цитата
Deserf пишет:
Подытожим: работающего варианта стопов, выставляющих заявки по "рыночной" цене не существует. Если нетрудно, осуществите пожалуйста в будущем
Подытожим, Вы так и не прочитали документацию.
Укажите MARKET_STOP_LIMIT или MARKET_TAKE_PROFIT
Уберите ["TYPE"] = "M"
 
Цитата
Sergey Gorokhov пишет:
Цитата
Deserf пишет:
Подытожим: работающего варианта стопов, выставляющих заявки по "рыночной" цене не существует. Если нетрудно, осуществите пожалуйста в будущем
Подытожим, Вы так и не прочитали документацию.
Укажите MARKET_STOP_LIMIT или MARKET_TAKE_PROFIT
Уберите ["TYPE"] = "M"
Укажите MARKET_STOP_LIMIT или MARKET_TAKE_PROFIT  - это где указывать, какому аттрибуту? А по ["TYPE"] - он роли не играет, ошибка выдается и с ним, и без него
 
Да и в tri-файле этого нет...
 
Цитата
Deserf пишет:
Цитата
Sergey Gorokhov пишет:
Цитата
Deserf пишет:
Подытожим: работающего варианта стопов, выставляющих заявки по "рыночной" цене не существует. Если нетрудно, осуществите пожалуйста в будущем
Подытожим, Вы так и не прочитали документацию.
Укажите MARKET_STOP_LIMIT или MARKET_TAKE_PROFIT
Уберите ["TYPE"] = "M"
Укажите MARKET_STOP_LIMIT или MARKET_TAKE_PROFIT - это где указывать, какому аттрибуту? А по ["TYPE"] - он роли не играет, ошибка выдается и с ним, и без него
Ошибка выдается потому что Вы НЕ указали MARKET_STOP_LIMIT или MARKET_TAKE_PROFIT

MARKET_STOP_LIMIT или MARKET_TAKE_PROFIT это не значения, а имена параметров.
Пример:
["MARKET_TAKE_PROFIT"] = "YES"
 
Да и не суть важно, и без этого выкручусь, спасибо за помощь
 
Цитата
Deserf пишет:
Да и в tri-файле этого нет...
В tri файле который получается сохранением из Кармана транзакций используются другие параметры.
в частности режим исполнения заявки кодируется в параметре "Флаги"
Поэтому там нет таких параметров.
 
Цитата
Sergey Gorokhov пишет:
Цитата
Deserf пишет:
Да и в tri-файле этого нет...
В tri файле который получается сохранением из Кармана транзакций используются другие параметры.
в частности режим исполнения заявки кодируется в параметре "Флаги"
Поэтому там нет таких параметров.
Я понял, спасибо.
Страницы: 1 2 След.
Читают тему
Наверх