Скачать MetaTrader 5

Отправить ордер в mql5

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Интересуют возможности MetaTrader 5? Загляни и узнай!
Alexander Pavlov
1741
Alexander Pavlov 2014.07.24 11:05 

Доброго времени. Помогите пожалуйста переписать функции с MQL4 в MQL5:

 Функции mql4:

 ticket1= OrderSend(Money№1,OP_BUY,Lot,ask,3,bid-StopLoss*point,ask+TakeProfit*point,"","",0,Blue);

 order1= OrderClose(ticket2,Lot,bid,3,Green); 

Maxim Khrolenko
7101
Maxim Khrolenko 2014.07.24 12:29  
1987pavlov:

Доброго времени. Помогите пожалуйста переписать функции с MQL4 в MQL5:

 Функции mql4:

 ticket1= OrderSend(Money№1,OP_BUY,Lot,ask,3,bid-StopLoss*point,ask+TakeProfit*point,"","",0,Blue);

 order1= OrderClose(ticket2,Lot,bid,3,Green); 

Почитайте статью Торговые операции на MQL5 - это просто.
nowi
1041
nowi 2014.07.24 13:24  
1987pavlov:

Доброго времени. Помогите пожалуйста переписать функции с MQL4 в MQL5:

 Функции mql4:

 ticket1= OrderSend(Money№1,OP_BUY,Lot,ask,3,bid-StopLoss*point,ask+TakeProfit*point,"","",0,Blue);

 order1= OrderClose(ticket2,Lot,bid,3,Green); 

в mql5 для этого предусмотрена структура торгового запроса а потом идет уже функция отсылки ордера с учетом заполненной структуры. все есть в справочнике..
Alexander Pavlov
1741
Alexander Pavlov 2014.07.25 16:35  

Спасибо. 

Вот сам сделал. Это функция для отправки ордера. Пример ее вызова: ticket1=MyOrderSend(Money№2,ORDER_TYPE_BUY,Lot,ask,3,bid-StopLoss*point,ask+TakeProfit*point,"","",0,Blue);

int MyOrderSend(
   string   symbol,               // символ
   int      cmd,                  // торговая операция
   double   volume,               // количество лотов
   double   price,                // цена
   int      slippage,             // проскальзывание
   double   stoploss,             // stop loss
   double   takeprofit,           // take profit
   string   comment=NULL,         // комментарий
   int      magic=0,              // идентификатор
   datetime expiration=0,         // срок истечения ордера
   color    arrow_color=clrNONE  // цвет
               )
  {
  //--- готовим запрос
   MqlTradeRequest request={0};
   request.action=TRADE_ACTION_DEAL;         // установка отложенного ордера
   request.magic=magic;                         // ORDER_MAGIC
   request.symbol=symbol;                       // инструмент
   request.volume=volume;                       // объем в лотах
   request.sl=stoploss;                         // Stop Loss
   request.tp=takeprofit;                       // Take Profit   
   request.type=cmd;                            // тип  ордера
   request.price=price;                         // цена для открытия
   request.deviation=slippage;                  // проскальзывание
   request.comment=comment;                     // комментарий
   request.expiration=expiration;               // срок истечения ордера
//--- отправим торговый приказ
   MqlTradeResult result={0};
   OrderSend(request,result);
   return(result.order);
  }
Vladimir Karputov
Модератор
45628
Vladimir Karputov 2014.07.25 16:47  
1987pavlov:

Вот сам сделал. Это функция для отправки ордера. Пример ее вызова: ticket1=MyOrderSend(Money№2,ORDER_TYPE_BUY,Lot,ask,3,bid-StopLoss*point,ask+TakeProfit*point,"","",0,Blue);

Вот так намного понятнее код выглядит. Если вставлять код в сообщения на форуме правильно, то Ваши сообщения будут легче читаться. Правильно вставляем код на форуме
Alexander Pavlov
1741
Alexander Pavlov 2014.07.26 14:58  
А как теперь закрыть ордер?
Igor Konyashin
3109
Igor Konyashin 2014.07.26 15:18  
Тем же объемом, но в противоположном направлении.
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий