Display VaR per Symbol as opposed to the Entire Portfolio

MQL5 Indicators Experts

Job finished

Execution time 11 days
Feedback from customer
Was flexible and able to solve a difficult task. I appreciate his patience and hard work throughout this project :)
Feedback from employee
Super client

Specification

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.



Responded

1
Developer 1
Rating
(16)
Projects
35
23%
Arbitration
4
0% / 50%
Overdue
2
6%
Working
2
Developer 2
Rating
(7)
Projects
7
29%
Arbitration
3
0% / 100%
Overdue
1
14%
Free
Similar orders
I am looking for an experienced MQL5 or MQL4 developer with a strong understanding of high-frequency trading (HFT) concepts who can explain how certain HFT-style strategies have historically been able to pass proprietary firm evaluations while also being profitable on demo accounts and capable of transitioning successfully to live trading. I am interested in understanding the legitimate trading logic, execution
Looking for a Prop Firm Trading Bot (Gold/XAUUSD Preferred) I am looking for an experienced developer who can either: Create a custom prop firm trading bot, or Provide an existing, proven prop firm trading bot. Requirements: Preferably trades Gold (XAUUSD) . Designed to pass prop firm evaluation challenges. Must respect the following risk parameters: Daily Drawdown: Maximum 5% Overall Maximum Drawdown: 10% Strong
السلام عليكم، مطلوب مطور محترف وخبير في لغة MQL5 لتطوير مستشار خبير (Expert Advisor) مخصص للتداول تلقائياً على معدن الذهب (XAUUSD) ليعمل على منصة MetaTrader 5. ​الشروط المطلوبة: ​الاعتماد على استراتيجية ذكية لإدارة المخاطر (تحتوي على Stop Loss و Take Profit تلقائي وديناميكي). ​إمكانية دمج خوارزميات تحليل ذكية (أو الربط مع بايثون إذا لزم الأمر لتنفيذ منطق الذكاء الاصطناعي). ​توفير خاصية الـ Trailing Stop (ملاحقة
Sniper elite 30+ USD
I need the bot to enter trades at a sniper level so that market does not blow up my account and also can it be using RSI,EMA and have entries with zero retracement
I need an expert advisor for fast excursion of trades. So that I can up my skills, I need it to have a good balance and need you to at least to price the the bot below $50
احتاج استراتيجية مع تحويله لمؤشر وفي المستقبل لربورت تداول مع وقف خسارة متحرك يعمل علي mt5وعمل علي مناطق دخول ىخروج يعمل علي الناسداك والعمل علي تقويتها باقصى نسبه نجاح بنسبه ٩٥ بالميه
Brotus AI 32+ USD
And let's talk about Linux and more about those technologies, ideas, those AI ideas.Let's make an AI technology summit for us base on wgat i wanna build and their example pictures of roadmapBoss can we take those idea all we've talked about base on technology, tech, UI...J.A.R.V.I.S...eDEX-UI into reality (solution) using laptop cause I think it give accces to build app amd more
أحتاج إلى برنامج تداول آلي (EA) مربح للمضاربة السريعة على الذهب. لا أرغب في استخدام استراتيجيات الشبكة أو المارتينجال. إذا كان لديك برنامج متطور وجاهز للعمل، يُرجى التواصل معي. يجب أن تكون قادرًا على توفير نسخة تجريبية
I am looking for an experienced MQL5 developer to code a custom Expert Advisor for MetaTrader 5 based on my own private trading strategy.I have all the specific entry rules, exit conditions, and risk management parameters fully prepared. I will share these exact details with the selected developer via direct message once the job is initiated.The final delivery must include the clean, fully commented source code (.mq5
I have a bot working XAUUSD. Need another bot to work in XAUUSD as a stoploss @ 10 dollar per trade. A universal one which can work with or without magic number

Project information

Budget
50+ USD