Codes

RL algorithms for MetaTrader 5

Libraries based on the article "Random decision forest in reinforcement learning"

Cointegration for MetaTrader 5

The indicator calculates and displays a linear relationship between two or more financial symbols

Arbitrage Synthetic for MetaTrader 5

A trading robot for performing arbitrage between EURGBP and its synthetic quotes (triangular arbitrage)

Articles

Кластеризация временных рядов в причинно-следственном выводе for MetaTrader 5

Алгоритмы кластеризации в машинном обучении — это важные алгоритмы обучения без учителя, которые позволяют разделять исходные данные на группы с похожими наблюдениями. Используя эти группы, можно проводить анализ рынка для конкретного кластера, искать наиболее устойчивые кластеры на новых данных, а

Показатель склонности (Propensity score) в причинно-следственном выводе for MetaTrader 5

В статье рассматривается тема матчинга в причинно-следственном выводе. Матчинг используется для сопоставления похожих наблюдений в наборе данных. Это необходимо для правильного определения каузальных эффектов, избавления от предвзятости. Автор рассказывает, как это помогает в построении торговых

Causal inference in time series classification problems for MetaTrader 5

In this article, we will look at the theory of causal inference using machine learning, as well as the custom approach implementation in Python. Causal inference and causal thinking have their roots in philosophy and psychology and play an important role in our understanding of reality

Cross-validation and basics of causal inference in CatBoost models, export to ONNX format for MetaTrader 5

The article proposes the method of creating bots using machine learning

Metamodels in machine learning and trading: Original timing of trading orders for MetaTrader 5

Metamodels in machine learning: Auto creation of trading systems with little or no human intervention — The model decides when and how to trade on its own

Machine learning in Grid and Martingale trading systems. Would you bet on it? for MetaTrader 5

This article describes the machine learning technique applied to grid and martingale trading. Surprisingly, this approach has little to no coverage in the global network. After reading the article, you will be able to create your own trading bots

Finding seasonal patterns in the forex market using the CatBoost algorithm for MetaTrader 5

The article considers the creation of machine learning models with time filters and discusses the effectiveness of this approach. The human factor can be eliminated now by simply instructing the model to trade at a certain hour of a certain day of the week. Pattern search can be provided by a

Gradient boosting in transductive and active machine learning for MetaTrader 5

In this article, we will consider active machine learning methods utilizing real data, as well discuss their pros and cons. Perhaps you will find these methods useful and will include them in your arsenal of machine learning models. Transduction was introduced by Vladimir Vapnik, who is the

Advanced resampling and selection of CatBoost models by brute-force method for MetaTrader 5

This article describes one of the possible approaches to data transformation aimed at improving the generalizability of the model, and also discusses sampling and selection of CatBoost models

Gradient Boosting (CatBoost) in the development of trading systems. A naive approach for MetaTrader 5

Training the CatBoost classifier in Python and exporting the model to mql5, as well as parsing the model parameters and a custom strategy tester. The Python language and the MetaTrader 5 library are used for preparing the data and for training the model

Forum

Questions on the SI language

void quicksort( double *a, int *idx, int l, int u) { int i, m, idx_temp; double a_temp; if (l >= u) return ; m = l; for (i=l+ 1 ; i<=u; i++) { if (a[i] < a[l]) { ++m; idx_temp = idx[m]; idx[m] = idx[i]; idx[i] = idx_temp;

Interpolation, approximation and the like (alglib package)

I need to interpolate a function with arbitrary settings, so I chose splines. This subroutine builds cubic spline interpolant. INPUT PARAMETERS: X - spline nodes, array[ 0 ..N- 1 ]. Y - function values, array[ 0 ..N- 1 ]. OPTIONAL PARAMETERS: N - points

Analyse the most important STATISTICAL characteristics of the pattern and choose a method of trading on it.

Let's say we have a piece of a chart. We need to work out (on the history) the best way to open deals on it. Where to buy, where to sell, where to buy more, where to close, and so on. But we must consider that the patterns may be different, and we must find the most effective method of calculating

Retrieving a price stream via WebSocket in C#.

Hello, Dear Sirs. Interested in receiving quotes from different sources (including the LMAX exchange). Since different brokers are connected to different ECNs, liquidity providers, it is better to get quotes directly from the ECNs themselves. But there is a limitation there - most providers will not

Exchange arbitrage, is it worth digging into?

I wonder if anyone has encountered lagged quotes from different brokers on FORTS? Is it worth digging in this direction, or everything has been clear for a long time and there is no need to play around? :) Are there any differences or delays in quotes from different brokers? How it all corresponds

I'm about to give up fighting them already...

Can anyone tell me what could be causing these errors? StopLevels level is 20 pips, all trades should pass. Handicaps and off-quotes are annoying :)

Advisors on neural networks, sharing experiences.

There is little information on the forum about ready-made solutions and the effectiveness of neural networks for trading in the market. I suggest discussing and sharing experience here. If there is already a thread with discussion, please link to it. I am using classes from here , simple multilayer

Using OpenCV to recognize graphic patterns

Everyone knows that the correlation method and similar methods do not exactly cope with determining the correspondence of time series, and in some cases are not accurate at all. Recently, computer vision has become widespread. Basically, it is used to recognize images, such as faces in photos. As