Проблема открытия ордеров типов ORDER_TYPE_BUY_STOP и ORDER_TYPE_SELL_STOP в "открывашке" и именно на боевом сервере, на тестовом все нормально - страница 2

 

Странно, в отрывашке что бы открыть BY STOP ордер , нужно задавать две цены , иначе ордер не выставить.

не понимаю что означает  что такое Цена Stop Limit  и когда сработает ордер  при достижении Цена или достижения Цена Stot Limit

Правильно ли понимаю что эти уровни могут быть разные  , но могут быть и одинаковые , и в чем замысел двух цен?

Если смотреть описание Trade.BuyStop в Trade.mqh

bool              BuyStop(const double volume,const double price,const string symbol=NULL,const double sl=0.0,const double tp=0.0,
                             const ENUM_ORDER_TYPE_TIME type_time=ORDER_TIME_GTC,const datetime expiration=0,const string comment="");

не понятно как выставлять две эти цены 

 
Yuriy Zaytsev:

Странно, в отрывашке что бы открыть BY STOP ордер , нужно задавать две цены , иначе ордер не выставить.

не понимаю что означает  что такое Цена Stop Limit  и когда сработает ордер  при достижении Цена или достижения Цена Stot Limit

Правильно ли понимаю что эти уровни могут быть разные  , но могут быть и одинаковые , и в чем замысел двух цен?

Если смотреть описание Trade.BuyStop в Trade.mqh


не понятно как выставлять две эти цены 

В тестере проверено. Работает так: Цена идёт вниз. Ставим ордер ORDER_TYPE_BUY_STOP_LIMIT с ценами 89.00 и 85.00, когда цена дойдёт до 85.00 в этот момент будет открыт ордер ORDER_TYPE_BUY_STOP по цене 89.00

 
Alexey Viktorov:

В тестере проверено. Работает так: Цена идёт вниз. Ставим ордер ORDER_TYPE_BUY_STOP_LIMIT с ценами 89.00 и 85.00, когда цена дойдёт до 85.00 в этот момент будет открыт ордер ORDER_TYPE_BUY_STOP по цене 89.00

Алексей ,  спасибо!

Теперь бы найти пример кода


.p.s.

Похоже нашел в прекрасной работе Артема  https://www.mql5.com/ru/articles/6921

trade.OrderOpen(Symbol(),ORDER_TYPE_SELL_STOP_LIMIT,lot,price_set_limit,price_set_stop,sl,tp);
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XI). Совместимость с MQL4 - События закрытия позиций
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XI). Совместимость с MQL4 - События закрытия позиций
  • www.mql5.com
Работая над определением событий, столкнулся с тем, что для MQL5 мы везде, где необходим выбор по времени, делаем его по времени в милисекундах. В MQL4 нет таких свойств у ордеров и позиций, но ничто не мешает нам использовать время в секундах, выраженное в милисекундах, для MQL4. Таким образом, приходим к пониманию, что любое время в секундах...
 
Yuriy Zaytsev:

Виктор, спасибо!

Теперь бы найти пример кода.

А вчера меня звали Алексей.)))

Ну какой может быть пример кода??? Включай МЕ и начинай писать. Всё так-же как и отложенный ордер ставится. В библиотеке посмотри готовую функцию, вызови её.

Если без стопов и без экспирации, то так

 trade.OrderOpen(_Symbol, ORDER_TYPE_BUY_STOP_LIMIT, 1.0, limitPrice, openPrice, 0.0, 0.0);

И соответственно надо понимать, что limitPrice должен быть ниже текущей цены и ниже openPrice. Ну и ORDER_TYPE_SELL_STOP_LIMIT зеркально.

 

Похоже стану использовать  ORDER_TYPE_BUY_STOP_LIMIT   вместо ORDER_TYPE_BUY_STOP

В общем странно конечно - тип  ордера  ORDER_TYPE_BUY_STOP  брокер  не поддерживает на реале, хотя на демо работает.


У всех брокеров , как в том анекдоте: 

Мужик попадает на тот свет,  ангел спрашивает куда желаете попасть в АД или в РАЙ, мужик спрашивает а можно посмотреть ?

В  Аду музыка голые девки  вино водка рекой  кабаки  рестораны  шикарные дома с фонтанами все в огнях. В раю тихо , поют птички  но правила: пить нельзя ,курить нельзя, баб нельзя - скукотище.

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

он кричит вы же АД показывали совсем другой ?  Черт отвечает - ТАК ТО БЫЛА ДЕМО ВЕРСИЯ! 

В общем когда  с демки опадаешь в  реал мир переворачивается.

 
Alexey Viktorov:

А вчера меня звали Алексей.)))

Ну какой может быть пример кода??? Включай МЕ и начинай писать. Всё так-же как и отложенный ордер ставится. В библиотеке посмотри готовую функцию, вызови её.

Если без стопов и без экспирации, то так

И соответственно надо понимать, что limitPrice должен быть ниже текущей цены и ниже openPrice. Ну и ORDER_TYPE_SELL_STOP_LIMIT зеркально.

я как всегда бегло прочитал Viktor , ov  не дочитал , Леха прости!

 
Alexey Viktorov:

..

И соответственно надо понимать, что limitPrice должен быть ниже текущей цены и ниже openPrice. Ну и ORDER_TYPE_SELL_STOP_LIMIT зеркально.

Алексей, тестером проверил  , если обе цены  Limit Price и Open Price ставить  одинаковые  ( и конечно выше текущей рыночной цены )  - данный ордер по сути работает как  BUY_STOP

 
Yuriy Zaytsev:

Алексей, тестером проверил  , если обе цены  Limit Price и Open Price ставить  одинаковые  ( и конечно выше текущей рыночной цены )  - данный ордер по сути работает как  BUY_STOP

ok. Я был не прав. Видимо, да. Пофигу в какую сторону от текущей цены, главное чтобы Limit_Price был не выше Open_Price. Иначе получится что ORDER_TYPE_BUY_STOP попадает на цену ниже текущей в момент активации ORDER_TYPE_BUY_STOP_LIMIT.

 
Alexey Viktorov:

ok. Я был не прав. Видимо, да. Пофигу в какую сторону от текущей цены, главное чтобы Limit_Price был не выше Open_Price. Иначе получится что ORDER_TYPE_BUY_STOP попадает на цену ниже текущей в момент активации ORDER_TYPE_BUY_STOP_LIMIT.

Когда цена достигает цены стоп-ордера, и он срабатывает, то выставляется лимитный ордер. Вот и вся премудрость.  
 
Artyom Trishkin:
Когда цена достигает цены стоп-ордера, и он срабатывает, то выставляется лимитный ордер. Вот и вся премудрость.  

Разве лимитный? А не стоповый?

Причина обращения: