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
Product Requirements Document (PRD) Project Title: Liquidity Sniper Semi-EA (Fibonacci & SMC Based) Platform: MetaTrader 5 (MQL5) Target Asset: XAUUSD (High Volatility) / M5 Timeframe 1. EA Operating Concept (Semi-Automated) Human-Machine Collaboration: The trader manually draws a standard Fibonacci Retracement object on the M15 chart to define the market structure (setting the 1.0 and 0.0 anchor points). EA's Role
Looking for a good EA 30 - 100 USD
Hello guys,i am looking for a good already established ea,that doesnt blow account,only give 5 percent per month with maximum 10 percent drowdown,I need prove,i need to backtest by myself,after that i select the developer
Short Description: I am seeking an experienced MQL4 developer to build a high-frequency Asymmetric Salami Grid EA . This is a sophisticated volatility harvester, not a basic martingale. Key Features to Implement: Virtual Grid Execution: No pending orders; all logic handled in-memory via OnTick . Asymmetric Lot Sizing: Trend-side degression vs. Counter-trend progression . Salami Partial Liquidation: XX% of profits
I would like to convert my MT4 EA to MT5 EA, it should have all the default indicators in it but can remove the custom indicators, it should have the same logic as MT4 EA no chnages at all in the logic
Description: I am looking for an experienced MQL4 developer to create an Expert Advisor (EA) for trading DAX (GER40) based on the confluence of two indicators. I already have both indicators in .ex4/.mq4 format. Key Requirements: Indicators: Use "PivotPoints-All-In-One" and "shved_supply_and_demand" (via iCustom). Entry Logic: Open BUY/SELL only when a Pivot level (PP, S1, R1 etc.) is located inside a "Verified" or
Hello i need an expert advisor for meta trader 5 .Strategy: Trend on H1 using EMA 50. ENTRY on M5 when the price pulls back to EMA 21 or VWAP. BUY after bullish candle confirmation , SELL after bearish candle conformation.STOP LOSS 5- 8 pips ,TAKE PROFIT 10 - 15 pips.include spread filter , no trade on major news and a maximum of 3 trades per day
I am seeking an experienced MQL5 developer to build a high-precision Gold (XAUUSD) scalping Expert Advisor. The objective is to achieve a Profit Factor (PF) of 2.0 or higher with a focus on institutional logic rather than retail lagging indicators.The EA must be designed to pass a "100% Real Ticks" backtest (Exness/Dukascopy data) over a 30-day period with a $500 initial deposit.Core Requirements & Strategy
Title: Design and Development of an Automated Forex Trading Robot Using MQL5 and Machine Learning Techniques Abstract: This project focuses on the design and development of an automated Forex trading robot that integrates MQL5 programming and machine learning techniques. The system aims to predict market movements and execute trades automatically, minimizing human error and emotional trading. By leveraging historical
I am looking to purchase an existing multi-currency MT5 Expert Advisor that is capable of trading multiple currency pairs simultaneously . Please only contact me if you already have a ready-made EA and are willing to sell the full system including the complete source code . ⚠️ Important: If you do not own the EA, do not have the source code, or are planning to build something from scratch, please do not apply
Chin 30 - 300 USD
i want to add the 30m time frame in the ema section high ema is 1h low ema is 5m i want u to add a mid ema so i can use 3 time frames

Información sobre el proyecto

Presupuesto
50+ USD