NetworkMomentum/README.md
2026-08-14 00:10:39 +00:00

47 lines
1.9 KiB
Markdown

# NetworkMomentum
A research paper's network-momentum trend-following strategy, implemented
entirely in MQL5.
Companion code for the MQL5 article: https://www.mql5.com/en/articles/23763
## What it does
Momentum does not stay inside one market. If A reliably leads B, then A's trend
carries information about B's next move. The strategy trades that spillover.
Three pieces make it work. Derivative Dynamic Time Warping detects lead-lag
relationships between markets, comparing shapes rather than levels. A convex
optimisation then learns a weighted graph from those relationships, so the
network is fitted rather than hand-drawn. Momentum is propagated across that
graph and turned into a signal.
Returns are volatility-scaled before any of this, so a loud market does not
dominate the network for the wrong reason.
`NM_Native.mq5` is the Expert Advisor. The article covers the Strategy Tester
results, including where the approach struggles.
## Layout
```
Include/NetworkMomentum/NM_Config.mqh configuration
Include/NetworkMomentum/NM_Matrix.mqh matrix helpers
Include/NetworkMomentum/NM_Data.mqh multi-symbol data handling
Include/NetworkMomentum/NM_Symbols.mqh the basket
Include/NetworkMomentum/NM_Momentum.mqh volatility scaling and oscillators
Include/NetworkMomentum/NM_DDTW.mqh derivative dynamic time warping
Include/NetworkMomentum/NM_GraphLearner.mqh convex graph learning
Include/NetworkMomentum/NM_Engine.mqh ensemble, propagation, signal
Include/NetworkMomentum/NM_Live.mqh chart-side layer
Experts/NetworkMomentum/NM_Native.mq5 the Expert Advisor
```
Put every basket symbol in Market Watch before running, since the EA pulls
history for all of them.
## Disclaimer
Educational code. Past behaviour of any model or dataset says nothing about
future results. Test on your own data and broker conditions before drawing
conclusions.