Examples from the book Neural networks for algorithmic trading with MQL5 yes
Buscar un archivo
Archivos del repositorio (más recientes primero)
Nombre del archivo Detalles del último cambio Fecha de última modificación
2026-02-23 10:05:09 +02:00
Experts convert 2025-05-30 16:12:30 +02:00
Include convert 2025-05-30 16:12:30 +02:00
KIYA convert 2025-05-30 16:12:30 +02:00
Scripts convert 2025-05-30 16:12:30 +02:00
Book_Algo-MQL5-clear.png new files added 2026-02-18 15:14:17 +02:00
NeuroBook.mqproj convert 2025-05-30 16:12:30 +02:00
README.md links 2026-02-23 10:05:09 +02:00

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.

MQL5 Programming for Traders

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/
    Script create_initial_data.mq5 generates file study_data.csv and test_data.csv in MQL5/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/
  • OpenCL Acceleration / Performance Testing:
    Scripts/opencl_test.mq5, Include/algotrading/mult_vect_ocl.*
  • Trading Expert Advisor Template for applying .net models: 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

  1. Open MetaTrader 5 → File → Open Data Folder
  2. Go to the MQL5 directory
  3. Copy the repository contents (Experts / Include / Scripts / …) into your MQL5/ folder
  4. 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 dataset
  • MQL5/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 file

    • false: MQL5/Files of 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 MetaTrader5 module,
  • reads study_data.csv and test_data.csv from MQL5/Files,
  • trains a model in TensorFlow/Keras,
  • saves model.h5 back into MQL5/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/Python folder 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.