Как рассчитать просадку сделки?

 

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

Я хочу знать, какую сумму использует текущая активная сделка, чтобы принять решение о закрытии.

 
 PositionGetDouble -> POSITION_PROFIT
Документация по MQL5: Торговые функции / PositionGetDouble
Документация по MQL5: Торговые функции / PositionGetDouble
  • www.mql5.com
Функция возвращает запрошенное свойство открытой позиции, предварительно выбранной при помощи функции PositionGetSymbol или PositionSelect. Свойство позиции должно быть типа double.  Существует 2 варианта функции. 2...
 
Rashid Umarov :
  PositionGetDouble -> POSITION_PROFIT

Я не понял. Подскажите, пожалуйста, как прибыль поможет при расчете просадки. Нет ли формулы для этого. Я новичок в этих расчетах. Пожалуйста помоги

 
jaffer wilson:

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

Я хочу знать, какую сумму использует текущая активная сделка, чтобы принять решение о закрытии.

Код:

//+------------------------------------------------------------------+
//|                                             Positions Profit.mq5 |
//|                              Copyright © 2020, Vladimir Karputov |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2020, Vladimir Karputov"
#property version   "1.00" 
#property indicator_chart_window
#property indicator_buffers 0
#property indicator_plots   0
//---
#include <Trade\PositionInfo.mqh>
#include <Trade\AccountInfo.mqh>
//---
CPositionInfo  m_position;                   // object of CPositionInfo class
CAccountInfo   m_account;                    // object of CAccountInfo class
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---
   string balance    = DoubleToString(m_account.Balance(),2);
   string equity     = DoubleToString(m_account.Equity(),2);
   string free_margin= DoubleToString(m_account.FreeMargin(),2);
   string margin     = DoubleToString(m_account.Margin(),2);
   string profit     = "";
   for(int i=PositionsTotal()-1; i>=0; i--)
      if(m_position.SelectByIndex(i)) // selects the position by index for further access to its properties
        {
         profit   = profit+m_position.Symbol()+" | "+IntegerToString(m_position.Ticket())+" | "+
                    DoubleToString(m_position.Commission()+m_position.Swap()+m_position.Profit(),2)+"\n";
        }
   Comment("Balance: ",balance,", Equity: ",equity,", Free Margin: ",free_margin,", Margin: ",margin+"\n"+profit);
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+

Результат:


Файлы:
 
Но общая прибыль, просадка? Это запрос. Я ценю ваши примеры.
 
jaffer wilson:
Но общая прибыль, просадка? Это запрос. Я ценю ваши примеры.

"Просадка" - нет такого свойства. Вы можете самостоятельно рассчитать на основе свойств позиции и/или свойств аккаунта. Пример получения свойств смотрите в примере выше.

 
Спасибо за ваши предложения.
Причина обращения: