Смотри, как бесплатно скачать роботов
Ищи нас в Twitter!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Советники

Check Last Closed Trade (Profit / Type / Symbol etc.) - эксперт для MetaTrader 5

Просмотров:
233
Рейтинг:
(6)
Опубликован:
MQL5 Фриланс Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

С помощью этого блока кода вы можете получить данные о последней закрытой сделке без использования циклов.

  • Создайте переменную для установки времени начала текущего дня. (Это не обязательно.)
  • Создайте несколько других переменных для вывода графика и использования if в других блоках кода. (Этого делать не нужно.)
  • Использование этого кода внутри функции OnTick(); приводит к отображению результата для каждого тика. Вы можете установить его и для одного бара.

// переменные
string DayStart = "00:00"; // Время начала дня
double LastClosed_Profit; // Прибыль по последней закрытой сделке
string TradeSymbol, TradeType;



// Инициализация эксперта --------------------
int OnInit()
  {
   return(INIT_SUCCEEDED);
  }

// Экспертная деинициализация -------------------
void OnDeinit(const int reason)
  {

  }

// Эксперт OnTick --------------------------
void OnTick()
  {
// проверка последней закрытой сделки.
   CheckLastClosed();

  }
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
//||
//+------------------------------------------------------------------+
void CheckLastClosed()
  {
   datetime HistoryTime = StringToTime(DayStart);

// история от "Начала дня до текущего времени
   if(HistorySelect(HistoryTime,TimeCurrent()))
     {
      int Total = HistoryDealsTotal();

      // Получите номер билета последней сделки и выберите его для дальнейшей работы.
      ulong Ticket = HistoryDealGetTicket(Total -1);

      // Получите то, что вам нужно получить.
      LastClosed_Profit = NormalizeDouble(HistoryDealGetDouble(Ticket,DEAL_PROFIT),2);
      TradeSymbol      = HistoryOrderGetString(Ticket,ORDER_SYMBOL);

      // Определите сделку на продажу.
      if(HistoryDealGetInteger(Ticket,DEAL_TYPE) == DEAL_TYPE_BUY)
        {
         TradeType = "Sell Trade";
        }

      // Идентифицировать сделку на покупку
      if(HistoryDealGetInteger(Ticket,DEAL_TYPE) == DEAL_TYPE_SELL)
        {
         TradeType = "Buy Trade";
        }

      // Построить график.
      Comment("\n","Deals Total - :  ", Total,
              "\n","Last Deal Ticket - :  ", Ticket,
              "\n", "Last Closed Profit -:  ", LastClosed_Profit,
              "\n", "Last Trade was -:  ", TradeType);

     }
  }
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+

Вы можете получить всю историю торговли (с самого начала счета), используя функцию HistorySelect(); таким образом.

// Получить всю историю
HistorySelect(0,TimeCurrent());


    Перевод с английского произведен MetaQuotes Ltd.
    Оригинальная публикация: https://www.mql5.com/en/code/49374

    A BETTER RSI A BETTER RSI

    Индекс относительной силы, который полностью удаляет шумы, работает на всех рынках!

    Manual Backtest Bar Replay Simulator Manual Backtest Bar Replay Simulator

    Простой индикатор, который может помочь вам в ручном бэктесте, просто перемещая вертикальную линию, чтобы показать скрытые бары.

    Trailing with Close by Button and Profit Trailing with Close by Button and Profit

    Этот советник поможет вам автоматически установить TP и SL по умолчанию, автоматический трейлинг стоп и шаг для любого ордера, который вы размещаете с любого устройства, простой способ закрыть все ордера с помощью 5 кнопок "Закрыть все", "Закрыть прибыль", "Закрыть убыток", "Закрыть BUY", "Закрыть SELL", автоматическое закрытие всех ордеров по прибыли или убытку порогового значения

    Confluence Detector Confluence Detector

    Он определяет, есть ли слияние между текущим таймфреймом графика и двумя другими таймфреймами.