diff --git a/Order.enum.h b/Order.enum.h index c1fc45ae2..385aebb30 100644 --- a/Order.enum.h +++ b/Order.enum.h @@ -79,6 +79,7 @@ enum ENUM_ORDER_PROPERTY_CUSTOM { ORDER_PROP_PROFIT, // Current profit in price difference. ORDER_PROP_PROFIT_PIPS, // Current profit in pips. ORDER_PROP_PROFIT_TOTAL, // Total profit (profit minus fees). + ORDER_PROP_PROFIT_VALUE, // Total profit in base currency value. ORDER_PROP_REASON_CLOSE, // Reason or source for closing an order. ORDER_PROP_TICKET, // Ticket number. ORDER_PROP_TIME_CLOSED, // Closed time. diff --git a/Order.struct.h b/Order.struct.h index 83f6cfea8..0fbda897c 100644 --- a/Order.struct.h +++ b/Order.struct.h @@ -259,6 +259,7 @@ struct OrderData { // Getters. template T Get(ENUM_ORDER_PROPERTY_CUSTOM _prop_name) { + double _tick_value = SymbolInfoStatic::GetTickValue(symbol); switch (_prop_name) { case ORDER_PROP_COMMISSION: return (T)commission; @@ -274,6 +275,8 @@ struct OrderData { return (T)profit; case ORDER_PROP_PROFIT_PIPS: return (T)(profit * pow(10, SymbolInfoStatic::GetDigits(symbol))); + case ORDER_PROP_PROFIT_VALUE: + return (T)(Get(ORDER_PROP_PROFIT_PIPS) * volume_curr * SymbolInfoStatic::GetTickValue(symbol)); case ORDER_PROP_PROFIT_TOTAL: return (T)(profit - total_fees); case ORDER_PROP_REASON_CLOSE: