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
READ BEFORE MESSAGING PLEASE Developer Requirements (Strict): - Expert Level Only: This is a professional-grade, robust trading engine. Please do not apply if you are a beginner or intermediate developer. ​ - Asynchronous Proficiency: You must have deep experience with CTrade and handling asynchronous order execution (Requotes, Busy Servers, and Order Integrity Sync). ​ - Proven Track Record: I require a developer
buy condition when blue color appears sell condition when yellow color appears close all buys when there is a sell order close all sells when there is a buy order
I need a MetaTrader 5 Expert Advisor for XAUUSD. Trend Filter : Trade only in the direction of the main trend. Patterns (Buy) : Hammer, Inverted Hammer, Doji, Bullish Harami, Bullish Engulfing + Green confirmation candle close above high. Patterns (Sell) : Shooting Star, Doji, Bearish Harami, Bearish Engulfing + Red confirmation candle close below low. Entry Rule : Wait for one Pullback candle (Red for Buy, Green for
Mass Positions Adder 30 - 50 USD
I am looking for MT4 EA for a task of automated opening of my defined quantity of active market order positions based on many different complex and very detailed rules and features. Quantity of active market order positions to be opened must match my defined value which can be just about anything. Several functionality features, very detailed ones, are to be implemented. Kindly check attached zip file with
I would like to build a very very low budget bot and test run it to see if it would be profitable on the long run or if it will just be a waste of money and resources It is python 70% of the engine logic codes needed are already existing on githubs and python traders community So you are not building from scratch at all So kindly go through it Thank you
* After every loss, It does not increase the lot sizes gradually. For example, after a loss of 0.01, it goes straight to 0.05 lots. It does not follow progressive order. 0.01;0.02;0.03;0.04;0.05... etc. From 0.01, it goes straight to 0.05 * Also If there is a win, it does not return to 0.01 it continues on the last lot size 0.06. After every win the EA should start again at 0.01 * I would also like to adjust the
Società di investimento con attività tra Sanremo e Monaco ricerca un giovane collaboratore con esperienza nell’utilizzo avanzato di MetaTrader 5. Si richiede la conoscenza della lingua italiana e inglese. Attività Il collaboratore si occuperà di: • eseguire backtest di strategie di trading su MT5 • effettuare ottimizzazioni parametri tramite Strategy Tester • analizzare risultati e robustezza delle strategie •
I want to create a loss recovery account.I have a zone recovery EA.It sometimes gives more buy sell entries than the target. This causes a lot of loss. I want to create an EA to reduce that loss by 40% to 50%. Example: My EA has lost $2200 with a buy sell entry. Now the new EA will give an entry that can reduce the loss from $2200 to $700
I am looking for an experienced MT5 developer to build a custom, aggressive XAUUSD scalping EA with structured basket management and momentum continuation logic. This is not a generic EA — it requires careful architecture and proper risk control. Key Requirements: Instrument & Timeframes: XAUUSD only M1 execution chart M5/M15 for directional bias and structure context Execution & Basket Logic: Aggressive basket-style
I need any highly profitable MT5 robot which trades any sythetic indices on deriv very profitably. It should have good risk management and any good strategy The EA should have good risk management and can trade small accounts like 50 - 100USD Developers who have already made robots have higher chance

Información sobre el proyecto

Presupuesto
50+ USD