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
buy stop sell stop logic experienced understand programmer need for this job... first understand logic and interested please message .... i need minimum 4 exit logic idea from developer same logic existing ea welcomes with mql file 4 types of entry 1-place stop orders candle high above and low below based 2- when i start point ea hh candle buy stop entry, after ll sell stop 3- i put entry point for buy stop or sell
I am looking for MQL5 developers to pitch solutions or build an Expert Advisor (EA) for XAUUSD (Gold) designed to capture high-volatility price movements during major high-impact news events (NFP, CPI, FOMC). Key Requirements: News Filter: Must use MQL5's built-in economic calendar ( CalendarValueHistory ) to automatically detect and trigger during high-impact USD news, remaining inactive during normal hours
I need an experienced MQL5 developer to build a simple, reliable Expert Advisor for MetaTrader 5. Trading Strategy Symbol: EURUSD (configurable) Timeframe: M15 (configurable) Buy Conditions: Candle 2 closes below the lower Bollinger Band. Candle 1 closes back above the lower Bollinger Band. Enter BUY at the first available tick of the next candle. Sell Conditions: Candle 2 closes above the upper Bollinger Band
i have existing EA but its decrypted i dont have its source code , i want you to decrypt the EA and give me the original source code of it
Hi gentlemen, I want MT5 market orders placed (open and close orders) on MEXC trading through web browser. MEXC doesnt allow algo trading. - Need source code budget: USD 50 (quote me your price and delivery time) I need this at the earliest and this job is only for mexc.com, not binance or any other exchange I look forward to your price offer and your suggestions. Appreciate
Creat a EA 200 - 1000 USD
FREELANCER JOB ORDER: DEVELOPMENT OF A MULTI-ASSETS EXPERT ADVISOR (EA) 1. Project Title Development of a Professional, Configurable MT5 Expert Advisor for Forex, Gold, Silver and Commodities 2. Project Overview I am seeking an experienced MQL5 developer to design and develop a professional automated trading system (Expert Advisor) for MetaTrader 5 (MT5). The EA must be designed to operate across multiple
I am interested in developing a custom Expert Advisor (EA) similar to the following MQL5 product: Reference EA: https://www.mql5.com/en/market/product/199258 Project Requirements Before starting development, I want you to carefully study and analyze the reference EA in detail. Please examine its available description, trading strategy, entry and exit logic, risk management, position management, trading behavior, and
I need an experienced MQL5 developer to create a simple automated trading Expert Advisor for MetaTrader 5. Trading Strategy Platform: MetaTrader 5 (MQL5). Symbol: EURUSD. Timeframe: M15. Indicators: EMA 20 (fast) and EMA 50 (slow), calculated using closing prices. Entry Rules Buy: EMA 20 crosses above EMA 50 on a completed candle. Sell: EMA 20 crosses below EMA 50 on a completed candle. All signals must be confirmed
I' 5000+ USD
من یک معامله گر روزانه نینجا هستم و با شرکتی به نام Legendary Trader کار کرده ام و از استراتژی های مشخص شده و خودکار آن ها برای معامله استفاده می کنم
https://www.youtube.com/watch?v=xMNx8f-aGQE&amp ;t=56s risk 1% per trade watch the video carefully and automate the trade setups in XAUUSD i prefer picking the least drawdown and good return expert advisor do not use overfitting(Strict) account type : hedging

Información sobre el proyecto

Presupuesto
50+ USD