Лимитированные заявки на сделки в МТС

  • Автор темы ivan1001
  • Дата начала

ivan1001

New member
Как я понимаю, если выставлена рыночная цена, то сделка совершается мгновенно, а если цена назначается торгующим, то возникает вероятность возникновения задержки, тк цена уже ушла вверх или вниз.

Допустим, брокер не позволяет совершать сделки с рыночной ценой.
Тогда в торговле будут использоватья покупки/продажи по фиксированной цене. Если в МТС прописать цену сделки, как цену закрытия последнего бара, то будут ли существенными задержки с совершением операции, по сравнению с операциями с рыночной ценой?
 

alek$

New member
Как я понимаю, если выставлена рыночная цена, то сделка совершается мгновенно, а если цена назначается торгующим, то возникает вероятность возникновения задержки, тк цена уже ушла вверх или вниз.

Допустим, брокер не позволяет совершать сделки с рыночной ценой.
Тогда в торговле будут использоватья покупки/продажи по фиксированной цене. Если в МТС прописать цену сделки, как цену закрытия последнего бара, то будут ли существенными задержки с совершением операции, по сравнению с операциями с рыночной ценой?
возможно будет , возможно нет :) а может быть сделка вообще не состояться , если цена сильно "убежала" от выставленного лимита .
Можно сделать псевдорыночную заявку ,BuyPrice = limit price+1% и
SellPrice = Limit price-1% .
 

ivan1001

New member
Living

ММВБ. Акции.

Существует ли в Метастоке оператор или функция для работы с текущей ценой (типа HIGH, LOW, OPEN итд) при условии, что в него данные поступают в реальном времени из КВИКа.
 

Dim_plus

New member
Living

ММВБ. Акции.

Существует ли в Метастоке оператор или функция для работы с текущей ценой (типа HIGH, LOW, OPEN итд) при условии, что в него данные поступают в реальном времени из КВИКа.
Да существует, это функция LastValue(). Соответственно например LastValue(Close) возвратит текущую (последнюю) реал-тайм Close-цену.
 

Living

New member
Я к чему задавал вопрос...Очень тяжело представить брокера, не дающего совершать рыночные сделки с акциями на ммвб :)

Теоретически, цена сколь угодно долго может не возвращаться к цене закрытия предыдущего бара. Может даже никогда.
 

mehanizator1

New member
Как я понимаю, если выставлена рыночная цена, то сделка совершается мгновенно, а если цена назначается торгующим, то возникает вероятность возникновения задержки, тк цена уже ушла вверх или вниз.
возникает даже вероятность, что сделка никогда не будет исполнена.

Допустим, брокер не позволяет совершать сделки с рыночной ценой.
Тогда в торговле будут использоватья покупки/продажи по фиксированной цене. Если в МТС прописать цену сделки, как цену закрытия последнего бара, то будут ли существенными задержки с совершением операции, по сравнению с операциями с рыночной ценой?
так вы бросайте заявки по цене процента допустим на 2% хуже текущей, сделка исполнится по текущей лучшей заявке, т.е. как рыночная.
 

ivan1001

New member
так вы бросайте заявки по цене процента допустим на 2% хуже текущей, сделка исполнится по текущей лучшей заявке, т.е. как рыночная.
Идея неплохая, но как описать в синтаксисе Метастока условие - на 2% больше(или меньше) текущей цены?
 

mehanizator1

New member
так вы бросайте заявки по цене процента допустим на 2% хуже текущей, сделка исполнится по текущей лучшей заявке, т.е. как рыночная.
Идея неплохая, но как описать в синтаксисе Метастока условие - на 2% больше(или меньше) текущей цены?
текущая цена + 2% или текущая цена - 2%, не очень понял в чем вопрос.
 

ivan1001

New member
С помощью каких операторов и(или) функций в Метастоке корректно записать условие: цена продажи = текущая цена - 2% или цена покупки = текущая цена + 2%.
 

mehanizator1

New member
С помощью каких операторов и(или) функций в Метастоке корректно записать условие: цена продажи = текущая цена - 2% или цена покупки = текущая цена + 2%.
а причем тут метасток, это в терминал нужно в таком виде бросать.
 

Dimus

New member
С помощью каких операторов и(или) функций в Метастоке корректно записать условие: цена продажи = текущая цена - 2% или цена покупки = текущая цена + 2%.
Все элементарно! В зависимости от того куда и как данные сливаешь. А в расчете пишешь С*1.02 для выставления заявки на покупку выше рыночной на 2% и C*0.98 для выставления заявки на продажу ниже рыночной на 2%. Сработают они у тебя намного лучше выставленного.
А функция для работы с текущей ценой это С(close).
Ты более детально опиши свою проблему что хочешь сделать и из чего у тебя состоит робот, а то я не совсем догнал твою проблему.
 

ivan1001

New member
Суть проблемы в следующем. До последнего времени использовал МТС из Квика и МС через msx_ksr.dll. И в формате вызова функции TradeQuik значилось FakeVar:= ExtFml("msx_ksr.TradeQuik",ShortLong, "", "", M, 0,100,Ident);. Теперь придется использовать лимитированные заявки. Но т.к. система реверсная, то строка ExtFml("msx_ksr.TradeQuik",ShortLong, "", "", L, C*0,98,100,Ident); не прокатит. Цена сделки должна меняться в зависимости от длинной или короткой позиции. Кто же продаст мне бумаги по C*0,98 :). Решит ли проблему такой вариант: перед вызовом ExtFml() добавить строчку If(ShortLong = 1, CurrentPrice = C*1,02, CurrentPrice = C*0,98 ); а функцию вызвать так: ExtFml("msx_ksr.TradeQuik",ShortLong, "", "", L, CurrentPrice,100,Ident); Просто не знаю, допускает ли TradeQuik подобный способ указания цены. Вот и вся проблема.
 

Dimus

New member
Суть проблемы в следующем. До последнего времени использовал МТС из Квика и МС через msx_ksr.dll. И в формате вызова функции TradeQuik значилось FakeVar:= ExtFml("msx_ksr.TradeQuik",ShortLong, "", "", M, 0,100,Ident);. Теперь придется использовать лимитированные заявки. Но т.к. система реверсная, то строка ExtFml("msx_ksr.TradeQuik",ShortLong, "", "", L, C*0,98,100,Ident); не прокатит. Цена сделки должна меняться в зависимости от длинной или короткой позиции. Кто же продаст мне бумаги по C*0,98 :). Решит ли проблему такой вариант: перед вызовом ExtFml() добавить строчку If(ShortLong = 1, CurrentPrice = C*1,02, CurrentPrice = C*0,98 ); а функцию вызвать так: ExtFml("msx_ksr.TradeQuik",ShortLong, "", "", L, CurrentPrice,100,Ident); Просто не знаю, допускает ли TradeQuik подобный способ указания цены. Вот и вся проблема.
Придумал. В действии не пробовал, но ошибку синтаксиса в Метасе не выдает, а значит должно работать. Пиши так:

PriseMTS:=If((ShortLong=1 AND Ref(ShortLong,-1)<1) OR (ShortLong=0 AND Ref(ShortLong,-1)=-1), C*1.02, If((ShortLong=0 AND Ref(ShortLong,-1)=1) OR (ShortLong=-1 AND Ref(ShortLong,-1)>-1), C*0.98, 0));;
ExtFml("msx_ksr.TradeQuik",ShortLong, "", "", L, PriseMTS,100,Ident);

В данном случае заточенно именно под dll Косинского, под бинарную волну. То что ты предложил не совсем правильно, потому как необходима обработка ноля. При переходе 1 на 0 - продажа, -1 на 0 - покупка.
 

ivan1001

New member
Огромное спасибо за помощь, Dimus.
Особенность моей системы в том, что в ней ShortLong никогда не принимает значение 0. Система реверсная и при появлении сигнала позиция переворачивается (т.е. или 1 или -1), и закрытие короткой позиции означает открытие длиннной, соответственно и наоборот. Такие вот спекуляции:). Для этого случая определение PriseMTS должно упроститься, как Вы думаете?
 

Dimus

New member
Огромное спасибо за помощь, Dimus.
Особенность моей системы в том, что в ней ShortLong никогда не принимает значение 0. Система реверсная и при появлении сигнала позиция переворачивается (т.е. или 1 или -1), и закрытие короткой позиции означает открытие длиннной, соответственно и наоборот. Такие вот спекуляции:). Для этого случая определение PriseMTS должно упроститься, как Вы думаете?
В таком случае делай еще проще без PriseMTS
ExtFml("msx_ksr.TradeQuik",ShortLong, "", "", L, If(ShortLong=1, c*1.02, c*0.98) ,100,Ident);
а выносить отдельно строку CurrentPrice не имеет смысла.
 

Dsv

New member
А никто не пробовал переписать ДЛЛ Косинского так чтобы она работала не только по ОПЕН и Ref(C,-1) но и по ХАЙ И ЛОУ ?
 
Your email address will not be publicly visible. We will only use it to contact you to confirm your post.
Сверху