Display VaR per Symbol as opposed to the Entire Portfolio

MQL5 Indicadores Asesores Expertos

Trabajo finalizado

Plazo de ejecución 11 días
Comentario del Cliente
Was flexible and able to solve a difficult task. I appreciate his patience and hard work throughout this project :)
Comentario del Ejecutor
Super client

Tarea técnica

The code that has been provided calculates the value at risk for the entire portfolio (opened trades on MT5). I would like to understand what this comprises of on a per Symbol basis.


1) Calculate the Value at Risk for Each of the 10 Symbols (for Buy & Sells) and then for the Whole Symbol:

Line 51 of Account Manager Part 1:

input    string      CHART_MANAGEMNET1= "====== CHART MANAGEMENT ======";
input    string      symbol1          = "US30";      // Symbol - Other
input    string      symbol2          = "XAUUSD";    // Symbol 2 - Other
input    string      symbol3          = "AUDCAD";    // Symbol 3 - Forex
input    string      symbol4          = "AUDUSD";    // Symbol 4 - Forex
input    string      symbol5          = "AUDNZD";    // Symbol 5 - Forex
input    string      symbol6          = "EURUSD";    // Symbol 6 - Forex
input    string      symbol7          = "EURGBP";    // Symbol 7 - Forex
input    string      symbol8          = "USDCHF";    // Symbol 8 - Forex
input    string      symbol9          = "USDCAD";    // Symbol 9 - Forex
input    string      symbol10          = "GBPCHF";    // Symbol 10 - Forex

Suggested Process:

  //Calculate the Value at Risk for Buy & Sell Side - Note Repeat Process fro Symbols 2 - 10
  /*
  double ValueAtRiskB1
  double ValueAtRiskS1
  
  //Used to Calculate the Total Value at Risk of the Symbol - Note Repeat the Process for Symbols 2 - 10
 if((ValueAtRiskB1 - ValueAtRiskS1) > 0)
   {
   double ValueAtRisk1 = (ValueAtRiskB1 - ValueAtRiskS1)
   }
   else
   {
   double ValueAtRisk1 = (ValueAtRiskB1 - ValueAtRiskS1)*-1
   }
   


2) Show the Relevant Weightings of the Currently Open Trades (in terms of Value at Risk):

Divide the current Value at Risk of the Symbol by the Total Value at Risk & Convert to a Percentage

Line 173 of Account Manager Part 1

  // Portfolio Weighting 
  double Weighting1 = ValueAtRisk1/currValueAtRisk
  double Weighting2 = ValueAtRisk2/currValueAtRisk
  double Weighting3 = ValueAtRisk3/currValueAtRisk
  double Weighting4 = ValueAtRisk4/currValueAtRisk
  double Weighting5 = ValueAtRisk5/currValueAtRisk
  double Weighting6 = ValueAtRisk6/currValueAtRisk
  double Weighting7 = ValueAtRisk7/currValueAtRisk
  double Weighting8 = ValueAtRisk8/currValueAtRisk
  double Weighting9 = ValueAtRisk9/currValueAtRisk
  double Weighting10 = ValueAtRisk10/currValueAtRisk

3) Display Information in Dashboard:

            Comment(
   "  RISK MANAGEMENT:  ", "\n\n",
   "Symbol 1: VaR: " + DoubleToString(ValueAtRisk1, 2) + "Weighting:" + DoubleToString(Weighting1, 2) + "\n\n",
   "Symbol 2: VaR: " + DoubleToString(ValueAtRisk2, 2) + "Weighting:" + DoubleToString(Weighting2, 2) + "\n\n",
   "Symbol 3: VaR: " + DoubleToString(ValueAtRisk3, 2) + "Weighting:" + DoubleToString(Weighting3, 2) + "\n\n",
   "Symbol 4: VaR: " + DoubleToString(ValueAtRisk4, 2) + "Weighting:" + DoubleToString(Weighting4, 2) + "\n\n",
   "Symbol 5: VaR: " + DoubleToString(ValueAtRisk5, 2) + "Weighting:" + DoubleToString(Weighting5, 2) + "\n\n",
   "Symbol 6: VaR: " + DoubleToString(ValueAtRisk6, 2) + "Weighting:" + DoubleToString(Weighting6, 2) + "\n\n",
   "Symbol 7: VaR: " + DoubleToString(ValueAtRisk7, 2) + "Weighting:" + DoubleToString(Weighting7, 2) + "\n\n",
   "Symbol 8: VaR: " + DoubleToString(ValueAtRisk8, 2) + "Weighting:" + DoubleToString(Weighting8, 2) + "\n\n",
   "Symbol 9: VaR: " + DoubleToString(ValueAtRisk9, 2) + "Weighting:" + DoubleToString(Weighting9, 2) + "\n\n",
   "Symbol 10: VaR: " + DoubleToString(ValueAtRisk10, 2) + "Weighting:" + DoubleToString(Weighting10, 2) + "\n\n",
   "Total Value at Risk: $" + DoubleToString(currValueAtRisk, 2) + "\n\n", 
   "Standard Deviation: " + DoubleToString(currportfolioStdDev, 6) + "\n\n"  
   
   );


Note: Account Manager Part 2 - will likely need to be adapted. To fetch values from it make these values a double in the following code (this worked beforehand).


class CPortfolioRiskMan
{
   public:   
      double portfolioStdDev;
      double MultiPositionVaR;


Make sure to add the MPH file in the includes folder for decompiling.



Han respondido

1
Desarrollador 1
Evaluación
(16)
Proyectos
35
23%
Arbitraje
4
0% / 50%
Caducado
2
6%
Trabaja
2
Desarrollador 2
Evaluación
(7)
Proyectos
7
29%
Arbitraje
3
0% / 100%
Caducado
1
14%
Libre
Solicitudes similares
I have an existing MT5 Expert Advisor for XAUUSD M5. This is NOT a new robot from zero. I need modification and professional review of an existing MQL5 EA. Main goals: 1. Buy entries: Buy trades are currently too rare. The Buy ADX filter was very strict at 45. I am testing 40 now. I need you to review the Buy entry filters and improve Buy entry quality without making entries random or weak. 2. Sell entries: Sell
into Robotrader to begin: Create a fully automated Forex trading robot named Quantum Scalper. The robot must scan XAU/USD, EUR/USD, GBP/USD, USD/JPY, and NAS100 continuously. It must determine the higher-timeframe trend using H1, identify setups on M15, and execute entries on M5 or M1. Use a conservative Smart Money Concepts strategy requiring all of the following before entering a trade: market structure
Hello, i have created mt4 ea for gold but i need a skilled programmer who can polish my ea and make it real market ready with his skill and experience
I am looking for an experienced MQL5 developer to build a professional MetaTrader 5 (MT5) Expert Advisor (EA) for swing trading. Trading Pairs EUR/USD USD/JPY Timeframes Daily (D1) for trend identification. H4 for trade entries. Strategy The EA should: Detect Daily market structure (HH, HL, LH, LL) using confirmed swing highs and lows (not relying solely on ZigZag). Use DMI/ADX for trend confirmation. Open trades
JOB TITLE: XAUUSD ONLY MQL5 Strategy Developer Needed To Improve Existing MT5 EA Winrate JOB DESCRIPTION: I already have a working MetaTrader 5 Expert Advisor with a fixed set file and existing trading logic. The strategy is based on Volume Profile / Delta bias, ATR-based TP/SL, ATR deviation filtering, ATR trade spacing, break-even after TP1, and TP lock management. I am looking for an experienced MQL5 / trading
English Description (For Developers): I need a custom Expert Advisor (EA) for MT5 to trade ONLY ETHUSD based on trend-following and counter-trendline breakout-retest with an M1 execution filter and strict risk management. Trading Logic: 1. Trend Filter: Price must be below 200 EMA on both H1 and M15 timeframes for Short (Sell) trades. (Opposite for Long/Buy trades). 2. Setup: On the M15 chart, after a strong move in
Hello, I want an EA which does martingale and has hedge feature. You may be confused by what this mean entirely so reach out to me so we can talk in depth as what I have said here is very vague for someone to clearly understand. I am not paying a single dollar over $30, so don't apply if you don't agree with that. Thank you for taking your time to read this
أحتاج إلى مستشار خبير لمنصة MetaTrader 5 (MT5) مصمم كآلة حالة محدودة (FSM). يجب أن ينفذ أوامر السوق فقط بناءً على مستويات أسعار يحددها المستخدم. يجب ألا يستخدم أي مؤشرات أو تحليل فني أو أوامر معلقة أو ذكاء اصطناعي أو قرارات تداول تلقائية. يجب أن ينفذ المستشار الخبير ببساطة تسلسلًا محددًا مسبقًا لمستويات الأسعار كما يحددها المستخدم تمامًا، مع إدارة دقيقة للحالة، ودورة نشطة واحدة في كل مرة، ومعالجة الفجوات السعرية،
Message me please for the investor login. You will replicate the ea and I shall tell u some things about it, I am not paying over $100. You should have great skills. The EA can handle any market and shall not blow the account
TPO 30+ USD
Develop an MT5 EA that continuously follows market direction using one active market position and one opposite trailing pending stop order. EA must be able to work with manual trading, any MT5 indicators, Strategy Tester, Live Account, all VPS and Demo Account. EA able to trade forex, XAUUSD, Indices and Cryptocurrencies

Información sobre el proyecto

Presupuesto
50+ USD