Drawdown DNA Analyzer
Info
The Drawdown DNA Analyzer is a Script for MetaTrader 5 that most traders judge a strategy's risk by a single number: its maximum drawdown. That figure tells you how far equity fell from its peak, but it says nothing about how often declines happen, how long the account stays below a previous peak, or how quickly it recovers.
Usage
This tool is typically used for enhancing chart analysis and decision making.
Platform
This Script works exclusively on MetaTrader 5 (both build 600+ and newer versions).
Setup
Place the downloaded file in MQL5/Scripts folder via File ? Open Data Folder in MetaTrader 5.
How to Install and Use Drawdown DNA Analyzer
1. Installation: Move your script file into the MQL/Scripts directory and restart the platform.
2. Execution: Drag the script onto a chart; it will perform a one-time action, such as closing all open orders or clearing chart objects.
3. Editing: Use MetaEditor (F4) to modify code, click "Compile," and verify no errors appear in the terminal before running.
4. Removing: Scripts stop automatically, but you can remove them manually by right-clicking the chart and choosing "Remove Script."
Frequently Asked Questions
Q: How are scripts different from EAs? A: Scripts execute a single action and then stop; EAs monitor the market and trade continuously.
Q: Can I assign a hotkey to a script? A: Yes, right-click the script in the Navigator, select "Set Hotkey," and define your preferred keyboard shortcut.
Q: Why did my script stop? A: Scripts are designed to stop immediately after finishing their programmed command; this is normal behavior.
What this tool does
Most traders judge a strategy's risk by a single number: its maximum drawdown.
Typical Use Case
This Script excels in automated trading and technical analysis on MetaTrader 5.
Compatible Platform & Setup
This Script works on MetaTrader 5. Place the file in the MQL5/Scripts folder and restart the terminal.
Description & Settings
Related: Portfolio Correlation Analyzer - another powerful script for MetaTrader 5 traders.
Most traders judge a strategy's risk by a single number: its maximum drawdown. That figure tells you how far equity fell from its peak, but it says nothing about how often declines happen, how long the account stays below a previous peak, or how quickly it recovers. Two equity curves with the same maximum drawdown can be very different to hold.Also recommended: Cost and Slippage Sensitivity Analyzer - similar script with strong performance on MetaTrader 5.
DrawdownDNA is a script that reads a daily equity curve and dissects the full structure of its declines. It rebuilds the equity curve and its underwater curve, splits the underwater curve into individual drawdown episodes, and combines a set of risk metrics into a single resilience grade.
On each run it prints, in the Experts tab:
A text underwater curve, so the shape of the declines is visible at a glance.
A table of drawdown episodes with depth, drawdown duration, recovery time and underwater length.
Maximum and average drawdown, number of episodes, longest underwater period and time underwater.
The Ulcer Index, the Pain Index and the Recovery Factor.
A composite resilience score (depth, recovery and stability), graded from A+ to F, with recommendations.
Input. The script reads a CSV file with two columns, Date and DailyPnL, one row per trading day. On the first run, if no file is found, it creates a sample EquityCurve.csv and analyzes it, so you can see the output immediately (the file not found message with error 5004 is expected on that first run). To analyze your own strategy, export its daily results to the same format; the included helper ExportEquity.mq5 writes that file from the trade history and can be called from an Expert Advisor's OnTester() event.
Parameters. InpFileName (the CSV file), InpStartCapital (starting capital used to rebuild the equity), InpMinDepthPct (ignore episodes shallower than this), and three weights InpWeightDepth, InpWeightRecov and InpWeightUlcer for the composite score.
You may also like: Profit Concentration Analyzer - excellent alternative for script users on MetaTrader 5.
Source Code
#property copyright "RobotFX"
#property version "1.00"
#property script_show_inputs
#property description "This code is educational. Feel free to use, modify and upgrade as you wish. Visit ROBOTFX.ORG for professional trading tools"
input string InpFileName = "EquityCurve.csv";
input double InpStartCapital = 10000.0;
input double InpMinDepthPct = 1.0;
input double InpWeightDepth = 0.40;
input double InpWeightRecov = 0.30;
input double InpWeightUlcer = 0.30;
.......
⚠ Limitations & Risk Warning
- This tool is provided for educational and testing purposes only.
- Past performance does not guarantee future results.
- Trading involves substantial risk of loss. Use on a demo account first.
- Results may vary depending on market conditions, broker, and settings.
- We recommend thorough backtesting and forward testing before using with real funds.