| Experts | ||
| Include | ||
| KIYA | ||
| Scripts | ||
| Book_Algo-MQL5-clear.png | ||
| NeuroBook.mqproj | ||
| README.md | ||
Neural Networks for Algorithmic Trading with MQL5
Examples and source code from the book Neural Networks for Algorithmic Trading with MQL5 - author Dmitriy Gizlyk
This repository serves as a practical addition to the book. It contains ready-to-use scripts for data preparation and model training, a neural network library for MQL5, examples of CNN / LSTM / Attention / GPT-like architectures, and a trading advisor template for testing models in real market conditions via MetaTrader 5.
Links
- Book (online): https://www.mql5.com/en/neurobook
- CodeBase publication (archive with examples): https://www.mql5.com/en/code/48097
- Repository (Algo Forge): https://forge.mql5.io/rosh/NeuroBook
Contents
- MQL5 Neural Network Library (Core):
Include/realization/
Implementation of networks, layers, and auxiliary components (including OpenCL support and positional encoding). - Activation Functions:
Include/about_ai/activation/(activations.mqh,activations.py) - Dataset Preparation for Training and Testing:
Scripts/initial_data/
Scriptcreate_initial_data.mq5generates filestudy_data.csvandtest_data.csvinMQL5/Files. - Models and Tests (MQL5 + Python):
- Perceptron and gradient check:
Scripts/perceptron/ - Convolutional Neural Networks (CNN):
Scripts/convolution/ - Recurrent Networks (LSTM):
Scripts/rnn/ - Self-Attention / Multi-Head (examples):
Scripts/attention/ - Batch Normalization:
Scripts/batch_norm/ - Dropout:
Scripts/dropout/ - GPT-like architecture (example):
Scripts/gpt/
- Perceptron and gradient check:
- OpenCL Acceleration / Performance Testing:
Scripts/opencl_test.mq5,Include/algotrading/mult_vect_ocl.* - Trading Expert Advisor Template for applying
.netmodels:Experts/ea_template.mq5 - Python Template for Experiments:
Scripts/template.py(TensorFlow/Keras + MetaTrader5)
Repository Structure
NeuroBook/
├─ Experts/
│ └─ ea_template.mq5
├─ Include/
│ ├─ about_ai/activation/ # activation functions (MQL5 + Python)
│ ├─ algotrading/ # OpenCL utilities (multiplication example)
│ └─ realization/ # neural network and layer implementations in MQL5
├─ Scripts/
│ ├─ initial_data/ # data preparation (CSV in MQL5/Files)
│ ├─ perceptron/ # Perceptron + gradient check
│ ├─ convolution/ # CNN examples + gradient check
│ ├─ rnn/ # LSTM examples + gradient check
│ ├─ attention/ # attention / multi-head attention
│ ├─ batch_norm/ # batch norm
│ ├─ dropout/ # dropout
│ ├─ gpt/ # GPT-like example
│ ├─ opencl_test.mq5 # CPU vs OpenCL speed comparison
│ └─ template.py # Python training/testing template
├─ KIYA/ # standalone mini-project/scaffold (mqproj)
└─ NeuroBook.mqproj # MetaEditor project
Table of Contents by Book Chapters
Below is a “map” of the chapters and where to find the corresponding examples in this repository.
Chapter 1 — Neural Network Building Blocks
- Activation functions, core AI concepts, and laying the foundation.
📁Include/about_ai/activation/
Chapter 2 — MetaTrader 5 Capabilities for Algorithmic Trading
- Practical use of MT5 tools, computation acceleration, and more.
📁Scripts/opencl_test.mq5,Include/algotrading/,Include/realization/opencl.*
Chapter 3 — Your First MQL5 Model: Data → Model → Test
- Dataset preparation, training, and saving the model.
📁Scripts/initial_data/,Scripts/perceptron/
Chapter 4 — Core Layer Types: Convolutions and Recurrent Networks
- CNN and LSTM: implementation and testing.
📁Scripts/convolution/,Scripts/rnn/
Chapter 5 — Attention Mechanisms
- Self‑Attention and Multi‑Head Self‑Attention, advanced data analysis techniques.
📁Scripts/attention/,Include/realization/neuronattention.mqh,neuronmhattention.mqh
Additionally: a GPT‑like architecture example: 📁Scripts/gpt/,Include/realization/neurongpt.mqh
Chapter 6 — Improving Convergence: BatchNorm and Dropout
- Practical stabilization and regularization techniques.
📁Scripts/batch_norm/,Scripts/dropout/
Chapter 7 — Testing Trading Strategies with Trained Models
- Using models inside an Expert Advisor and validating them under live-like conditions.
📁Experts/ea_template.mq5
Recommended to test in the Strategy Tester
Quick Start
1) Install into MetaTrader 5
- Open MetaTrader 5 → File → Open Data Folder
- Go to the
MQL5directory - Copy the repository contents (Experts / Include / Scripts / …) into your
MQL5/folder - Open MetaEditor (F4) and compile the required files (F7)
Tip: it’s more convenient to work via
NeuroBook.mqproj— open the project in MetaEditor and compile directly from the project tree.
2) End-to-end example: data → training → Expert Advisor
Step A. Generate datasets (CSV) Run the script:
Scripts/initial_data/create_initial_data.mq5
By default, it will create:
MQL5/Files/study_data.csv— training datasetMQL5/Files/test_data.csv— test dataset
⚠️ Important:
- before running, make sure the terminal has historical quotes downloaded for the selected period;
- the script uses standard indicators (RSI/MACD) and a ZigZag example.
Step B. Train the model in MQL5 and save .net
For example, run:
Scripts/perceptron/perceptron_test.mq5
After completion it saves (example):
MQL5/Files/Study.net— the model file and an error/loss log (example):MQL5/Files/loss_study.csv
Step C. Use the model in an Expert Advisor Compile and run:
Experts/ea_template.mq5
Key input parameters in ea_template:
-
Model— model file name (e.g.,Study.net) -
Common— where to look for the model filefalse:MQL5/Filesof the current terminal (training scripts typically save models here)true: the terminal’s common folder (FILE_COMMON) if you store models there
-
UseOpenCL— enable OpenCL (if supported) -
TimeFrame,BarsToPattern, and trading parameters — adjust to your testing idea
Then test in the Strategy Tester: https://www.metatrader5.com/en/automated-trading/strategy-tester
Python Part (Optional)
This repository includes Python scripts for experimentation and cross-checking approaches, including a template:
Scripts/template.py
It:
- connects to the installed terminal via the
MetaTrader5module, - reads
study_data.csvandtest_data.csvfromMQL5/Files, - trains a model in TensorFlow/Keras,
- saves
model.h5back intoMQL5/Files.
Typical dependencies (example):
pip install MetaTrader5 pandas numpy matplotlib tensorflow
More details on terminal and environment settings
OpenCL
Many examples can be accelerated with OpenCL (the UseOpenCL parameter).
To benchmark performance, use Scripts/opencl_test.mq5 (CPU vs OpenCL comparison).
If OpenCL fails to initialize, check your GPU/CPU drivers and OpenCL support on your system.
Notes
-
All examples are intended for learning and experimentation.
Always test thoroughly in the Strategy Tester or on a demo account before using real funds. -
The
Scripts/Pythonfolder contains examples for integrating MetaTrader 5 with Python.
Make sure to enable the appropriate terminal settings:
License and Usage
All materials are part of the book "MQL5 Programming for Traders" and the MQL5/MetaTrader 5 ecosystem. Please respect copyright and the MQL5.com/MetaQuotes terms when distributing or reusing code.
Contributing
- Bugs/improvements: use Issues.
- Pull Requests: welcome. Submit changes by part for easier review and alignment with the book.
