Группа "Стол заказов MQL"

Рейтинг 2146



РЕКОМЕНДУЮ



Функция последней цены открытия

Доброго времени суток!
Есть пример функции, для MQL5, которая выводит цену последнего открытого ордера?
СпасибО!
  • 0
  • Просмотров: 3468
  • 6 декабря 2017, 12:23
  • Kudryashov
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
Доработать советник
Следующая запись в группе  
доработка советника
05 декабря 2017
07 декабря 2017

Брокер для ваших роботов, 15 лет на рынке

Комментарии (5)

+
+1
* в mql4 могу подсказать
Редактирован: 6 декабря 2017, 12:52
avatar

  27  Oxy Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..

  • 6 декабря 2017, 12:51
+
0
Если не сложно…
P.S. Для 4 пользуюсь данной функцией:

<code>//+------------------------------------------------------------------+
//|   Функция определения цены последнего открытого ордера           |
//+------------------------------------------------------------------+
double LastOpenPrice(string   symbol, int magic)
{
datetime static LastOrderOpenTime;
double   static LastOrderOpenPrice;
double   LastPrice = 0;
int      digits  = (int)SymbolInfoInteger(symbol,SYMBOL_DIGITS);
for (int index = 0; index < OrdersTotal(); index++)
   {
   if (OrderSelect(index, SELECT_BY_POS, MODE_TRADES)==FALSE) break;
   if (OrderSymbol() == symbol && OrderMagicNumber() == magic)
   if (LastOrderOpenTime != OrderOpenTime() && LastOrderOpenPrice != OrderOpenPrice())
      {
      if (OrderType() == OP_BUY || OrderType() == OP_SELL)
         {
         LastOrderOpenTime = OrderOpenTime();
         LastOrderOpenPrice = OrderOpenPrice();
         }
      }
   }
LastPrice = NormalizeDouble(LastOrderOpenPrice,digits);
return (LastPrice);
}
//+------------------------------------------------------------------+</code>


пока что нареканий небыло.
Но мне в что то не нравиться… навыков не хватает понять что именно*wall* 
Редактирован: 7 декабря 2017, 09:05
avatar

  8  Kudryashov Автор Сообщений: 129

  • 7 декабря 2017, 09:04
+
0
Вы в этой функции просто перезаписываете LastOrderOpenTime. Не сравниваете, чтобы у ордера open time было больше, чем LastOrderOpenTime.
avatar

  27  Oxy Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..

  • 7 декабря 2017, 15:34
+
+1
Набросал советник рандомник для мкл5 с нужной функцией: www.opentraders.ru/downloads/1744/

avatar

  34  AM2 Сообщений: 16232 - Андрей

  • 6 декабря 2017, 18:47
+
0
СПАСИБО!!!*drinks* 
avatar

  8  Kudryashov Автор Сообщений: 129

  • 7 декабря 2017, 09:01

Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий