Hlomohang John Borotho / Publications
Articles
Swing Extremes and Pullbacks in MQL5 (Part 3): Defining Structural Validity Beyond Simple Highs/Lows for MetaTrader 5
This article presents an MQL5 Expert Advisor that upgrades raw swing detection to a rule-based Structural Validation Engine. Swings are confirmed by a break of structure, displacement, liquidity sweeps, or time-based respect, then linked to a liquidity map and a structural state machine. The result
Developing Market Entropy Indicator: Trading System Based on Information Theory for MetaTrader 5
This article explores the development of a Market Entropy Indicator based on principles from Information Theory to measure the uncertainty and information content within financial markets. By applying concepts such as Shannon Entropy to price movements, the indicator quantifies whether the market is
Integrating MQL5 with Data Processing Packages (Part 8): Using Graph Neural Networks for Liquidity Zone Recognition for MetaTrader 5
This article shows how to represent market structure as a graph in MQL5, turning swing highs/lows into nodes with features and linking them by edges. It trains a Graph Neural Network to score potential liquidity zones, exports the model to ONNX, and runs real-time inference in an Expert Advisor
Graph Theory: Traversal Depth-First Search (DFS) Applied in Trading for MetaTrader 5
This article applies Depth-First Search to market structure by modeling swing highs and lows as graph nodes and tracking one structural path as deeply as conditions remain valid. When a key swing is broken, the algorithm backtracks and explores an alternative branch. Readers gain a practical
Formulating Dynamic Multi-Pair EA (Part 7): Cross-Pair Correlation Mapping for Real-Time Trade Filtering for MetaTrader 5
In this part, we will integrate a real-time correlation matrix into a multi-symbol Expert Advisor to prevent redundant or risk-stacked trades. By dynamically measuring cross-pair relationships, the EA will filter entries that conflict with existing exposure, improving portfolio balance, reducing
Swing Extremes and Pullbacks in MQL5 (Part 2): Automating the Strategy with an Expert Advisor for MetaTrader 5
Built on lower-timeframe market structure, and then orchestrated on the higher-timeframe, this indicator detects swing extremes where price becomes statistically vulnerable to reversal. It visualizes overextension and pullback zones, offering early insight into mean-reversion behavior
Swing Extremes and Pullbacks in MQL5 (Part 1): Developing a Multi-Timeframe Indicator for MetaTrader 5
In this discussion we will Automate Swing Extremes and the Pullback Indicator, which transforms raw lower-timeframe (LTF) price action into a structured map of market intent, precisely identifying swing highs, swing lows, and corrective phases in real time. By programmatically tracking
Automating Market Memory Zones Indicator: Where Price is Likely to Return for MetaTrader 5
This article turns Market Memory Zones from a chart-only concept into a complete MQL5 Expert Advisor. It automates Displacement, Structure Transition (CHoCH), and Liquidity Sweep zones using ATR- and candle-structure filters, applies lower-timeframe confirmation, and enforces risk-based position
Integrating MQL5 with Data Processing Packages (Part 7): Building Multi-Agent Environments for Cross-Symbol Collaboration for MetaTrader 5
The article presents a complete Python–MQL5 integration for multi‑agent trading: MT5 data ingestion, indicator computation, per‑agent decisions, and a weighted consensus that outputs a single action. Signals are stored to JSON, served by Flask, and consumed by an MQL5 Expert Advisor for execution
Graph Theory: Traversal Breadth-First Search (BFS) Applied in Trading for MetaTrader 5
Breadth First Search (BFS) uses level-order traversal to model market structure as a directed graph of price swings evolving through time. By analyzing historical bars or sessions layer by layer, BFS prioritizes recent price behavior while still respecting deeper market memory
Forum
'CopyRates' Error
Greetings to you all can any one please help me i have been bugged by this error for quite some time now: ' CopyRates ' - no one of the overloads can be applied to the function call here is the code: MqlRates oneHourCandleAgo; if ( CopyRates ( _Symbol , onehourtf, 0 , 1 , oneHourCandleAgo
how can i make my EA fully and always invested
Hey fellas i need some help with my EA, for example when the "Buy" condition is true, i need it to place buy orders one after the other when the tp is hit, and the same for "Sell". currently it only opens one order only here is my code below... if (newBar){ //Buy Condition: if









