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'm looking for a swing trading EA that takes 1-3 trades / week, holds these positions from a few days up to about 1.5 weeks. Symbol : any Strategy : any Timeframe : any Platform : MT4 only The catch : you would need to come up with the STRATEGY AND do the CODING The must have's : c onstant monthly returns, low drawdown I will backtest the trial version of your .ex4 file for 20+ years with 99.9% tick data accuracy
Hi, I am looking for a trainer/developer who can teach me MQL5 and python scripting to develop my own profitable EA. If any one interested please let me know and share the course details along with the fees
PROJECT OVERVIEW I need a production-grade, modular Expert Advisor for MetaTrader 5 built to institutional coding standards. This is not a simple indicator-crossover bot. The system must be object-oriented, fully commented, and structured so individual modules can be replaced or disabled without breaking the build. Broker: IC Markets Raw. Primary symbol: XAUUSD. Secondary validation: EURUSD, GBPUSD, USDJPY, AUDUSD
Hi, do you have a proven EA for MT5, suitable for live accounts and prop firms, including the Brazilian market? I’m looking for ready, tested EAs. Can you send a backtest or demo? Please if you do have and can send me nacktest or demo you should Message me
I am looking for an experienced MQL5 developer / algorithmic trader to create a complete MT5 Expert Advisor with strong risk management and verified historical backtesting. Main requirements Platform: MetaTrader 5 / MQL5. Market & Timeframe: The EA code should be able to operate on different Forex/CFD symbols and different timeframes. The developer may recommend the best symbol/timeframe combination based on testing
Flummox 0.1 30+ USD
//@version=5 strategy("Vol10 Triple Confluence M15", overlay=true, margin_long=100, margin_short=100) // === INPUTS === emaLen = input.int(200, "EMA Trend") rsiLen = input.int(14, "RSI Length") bbLen = input.int(14, "Bands Length") rsiOversold = input.float(25, "RSI Buy Zone") rsiOverbought = input.float(77.38, "RSI Sell Zone") // === INDICATORS === emaTrend = ta.ema(close, emaLen) ema1 = ta.ema(close, bbLen) ema2 =
I want a simple EA that will take trades based on candle formation and moving average. In a buy, the market should be above the moving average, and wait for the candle formation which i have shown them in the attachment. In a sell, the market should be below the moving average and wait for the candle formation. It must be easy to put stop loss, take profit. Pls make the robot to trade continuous trades as long as
Access and confidentiality restrictions: You will receive only a separately named copy of the Commander . Existing trading EAs, presets, account credentials, Telegram credentials and proprietary entry/exit code will not be shared. The Commander intelligence must be developed using: Defined signal/input interfaces Anonymized historical logs and replay data Mock EA signals and test harnesses Documented authority and
Liaqat 32+ USD
Title: Simple XAUUSD Trading Robot for MT5 Specification: 1. Platform: MetaTrader 5 2. Symbol: XAUUSD / Gold 3. Timeframe: M5 or M15 4. Strategy Logic: - BUY Entry: When RSI(14) is below 30 and candle closes green - SELL Entry: When RSI(14) is above 70 and candle closes red 5. Money Management: - Lot Size: 0.01 (user can change in settings) - Stop Loss: 500 points - Take Profit: 1000 points 6. Other
need an EA or indicator done , based on any strategy but with the following specific risk management parameters ; were i am able to do at least 2RR(standard reward-risk ratio for every trade) , fair win rate that is at leat 50% , EA should be able to generate at least 2 trades and above per week , favourable sharpe ratio . total drawdown of not more than 8% any given month and not over 3% any given day , would

Información sobre el proyecto

Presupuesto
50+ USD