[Решено][MQL5] CTrade OrderOpen: что такое limit_price и price?

 

Коллеги, поясните, пожалуйста:

в справке https://www.mql5.com/ru/docs/standardlibrary/tradeclasses/ctrade/ctradeorderopen

есть строки

limit_price
[in]  Цена, по которой будет выставлен отложенный Stop Limit ордер.

price
[in]  Цена, по которой ордер должен быть исполнен.

limit_price - это цена, по которой мне нужно, чтоб открылся ордер, так? И не важно, он limit или stop?

а что такое price? Просто текущая цена?

Документация по MQL5: Стандартная библиотека / Торговые классы / CTrade / OrderOpen
Документация по MQL5: Стандартная библиотека / Торговые классы / CTrade / OrderOpen
  • www.mql5.com
Стандартная библиотека / Торговые классы / CTrade / OrderOpen - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
kofesutra:

Коллеги, поясните, пожалуйста:

в справке https://www.mql5.com/ru/docs/standardlibrary/tradeclasses/ctrade/ctradeorderopen

есть строки

limit_price - это цена, по которой мне нужно, чтоб открылся ордер, так? И не важно, он limit или stop?

а что такое price? Просто текущая цена?


OrderOpen - это такой общий метод, для всех отложенных ордеров. Чтобы не запутаться используйте более узкоспециализированные методы: 

BuyLimit

Устанавливает отложенный ордер на покупку по цене лучше рыночной

BuyStop

Устанавливает отложенный ордер на покупку по цене хуже рыночной

SellLimit

Устанавливает отложенный ордер на продажу по цене лучше рыночной

SellStop

Устанавливает отложенный ордер на продажу по цене хуже рыночной

 
Vladimir Karputov:

OrderOpen - это такой общий метод, для всех отложенных ордеров. Чтобы не запутаться используйте более узкоспециализированные методы: 



Владимир, спасибо! Да, видимо, буду использовать узкоспециализированные.

Но только я ведь теперь спать не смогу - надо узнать что это за звери были ;)

 
kofesutra:

Владимир, спасибо! Да, видимо, буду использовать узкоспециализированные.

Но только я ведь теперь спать не смогу - надо узнать что это за звери были ;)


Структура торгового запроса:

struct MqlTradeRequest 
  { 
   ENUM_TRADE_REQUEST_ACTIONS    action;           // Тип выполняемого действия 
   ulong                         magic;            // Штамп эксперта (идентификатор magic number) 
   ulong                         order;            // Тикет ордера 
   string                        symbol;           // Имя торгового инструмента 
   double                        volume;           // Запрашиваемый объем сделки в лотах 
   double                        price;            // Цена  
   double                        stoplimit;        // Уровень StopLimit ордера 
   double                        sl;               // Уровень Stop Loss ордера 
   double                        tp;               // Уровень Take Profit ордера 
   ulong                         deviation;        // Максимально приемлемое отклонение от запрашиваемой цены 
   ENUM_ORDER_TYPE               type;             // Тип ордера 
   ENUM_ORDER_TYPE_FILLING       type_filling;     // Тип ордера по исполнению 
   ENUM_ORDER_TYPE_TIME          type_time;        // Тип ордера по времени действия 
   datetime                      expiration;       // Срок истечения ордера (для ордеров типа ORDER_TIME_SPECIFIED) 
   string                        comment;          // Комментарий к ордеру 
   ulong                         position;         // Тикет позиции 
   ulong                         position_by;      // Тикет встречной позиции 
  };

а теперь метод OrderOpen:

***
   m_request.stoplimit   =limit_price;
   m_request.price       =price;
***


Найдите соответствие :)


Добавлено: не все поля используются - всё зависит от типа отложенного ордера.

 
Vladimir Karputov:

Добавлено: не все поля используются - всё зависит от типа отложенного ордера.


Вот это я подозревал, но в OrderOpen ведь требуется указать price. Что там писать - ноль? Или это недоработочка?

Впрочем, как Вы, Владимир, и сказали - уже сделал через упрощенные :)

 
kofesutra:

Вот это я подозревал, но в OrderOpen ведь требуется указать price. Что там писать - ноль? Или это недоработочка?

Впрочем, как Вы, Владимир, и сказали - уже сделал через упрощенные :)

Упрощённые это не совсем плохо. Но лучше понимать что от чего и откуда ноги растут.

Как только разберётесь с ордерами ORDER_TYPE_BUY_STOP_LIMIT и ORDER_TYPE_SELL_STOP_LIMIT, так всё сразу встанет на свои места.

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5