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
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
I'm looking to have a tradingview strategy translated to work on ninjatrader. Right now I'm using webhooks together with the platform Crosstrade to automate the strategy and have the trades take place on Tradingview. Let me know if that's something you can help me out with
MT5 account status 50 - 150 USD
I want a wordpress plugin where our traders can enter their mt5 demo account details to check their equity base trailing drawdown. Once the result is loaded, it will indicate if they breach the account by exceeding certain drawdown % and also indicate how many scalping orders were taken. The program should be able to perform 100 task per minute
Propfirm EA 30 - 2000 USD
I am currently looking to purchase a ready-made MT5 Expert Advisor designed specifically for prop firm trading. Requirements: Strategy must be safe for prop firm rules Maximum daily drawdown: below 4% Maximum overall drawdown: below 8% Target performance: 10% monthly return No martingale or high-risk grid strategies Must be able to run consistently on MT5 Purchase Conditions: I will require full source code (.mq5)
Profitable Expert Advisor 150 - 1500 USD
I need a profitable ea have programmed already . Real profit on real account not fail on real due to recote & Slippage 1-send me (demo ) 1 week at least 2-after testing & approved 3-buy it from you (Max budget $1500) The price can be increased if EA is very profitable
Hello, Please read the full specification before applying. This project is NOT about building an EA from scratch. I already have a fully working MT5 Expert Advisor. The EA already includes a dashboard, risk management, and some protection systems, but it needs a few more features . So I need an experienced MQL5 developer to modify my existing MT5 EA by replacing the current entry logic with a new breakout strategy

Información sobre el proyecto

Presupuesto
50+ USD