PositionGetDouble -> POSITION_PROFIT
Документация по MQL5: Торговые функции / PositionGetDouble
- www.mql5.com
Функция возвращает запрошенное свойство открытой позиции, предварительно выбранной при помощи функции PositionGetSymbol или PositionSelect. Свойство позиции должно быть типа double. Существует 2 варианта функции. 2...
Я не понял. Подскажите, пожалуйста, как прибыль поможет при расчете просадки. Нет ли формулы для этого. Я новичок в этих расчетах. Пожалуйста помоги
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); } //+------------------------------------------------------------------+
Результат:
Файлы:
Positions_Profit.mq5
6 kb
Но общая прибыль, просадка? Это запрос. Я ценю ваши примеры.
jaffer wilson:
Но общая прибыль, просадка? Это запрос. Я ценю ваши примеры.
Но общая прибыль, просадка? Это запрос. Я ценю ваши примеры.
"Просадка" - нет такого свойства. Вы можете самостоятельно рассчитать на основе свойств позиции и/или свойств аккаунта. Пример получения свойств смотрите в примере выше.
Спасибо за ваши предложения.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Пожалуйста, кто-нибудь может показать мне, как можно рассчитать просадку активных в данный момент сделок.
Я хочу знать, какую сумму использует текущая активная сделка, чтобы принять решение о закрытии.