How to earn money by fulfilling traders' orders in the Freelance service
Quote:
MQL5 Freelance is a specialized service for trading application developers. Traders come here when they need custom-made trading robots, indicators, and other utility apps developed in MQL5/MQL4, Python, C++, and other modern programming languages.
more...
Developing a multi-currency Expert Advisor (Part 9): Collecting optimization results for single trading strategy instances
Quote:
We have already implemented a lot of interesting things in the previous
articles. We have a trading strategy or several trading strategies that we can implement in the EA. Besides, we have developed a structure for connecting many instances of trading strategies in a single EA, added tools for managing the maximum allowable drawdown, looked at possible ways of automated selection of sets of strategy parameters for their best work in a group, learned how to assemble an EA from groups of strategy instances and even from groups of different groups of strategy instances. But the value of the results already obtained will greatly increase if we manage to combine them together.
Let's try to outline a general structure within the article framework: single trading strategies are fed into the input, while the output is a ready-made EA, which uses selected and grouped copies of the original trading strategies that provide the best trading results.
more...
Developing a multi-currency Expert Advisor (Part 10): Creating objects from a string
Quote:
In the previous
article, I have outlined a general plan for developing the EA, which includes several stages. Each stage generates a certain amount of information to be used in the stages that follow. I decided to save this information in a database and created a table in it, in which we can place the results of single passes of the strategy tester for various EAs.
In order to be able to use this information in the next steps, we need to have some way of creating the necessary objects (trading strategies, their groups and EAs) from the information stored in the database. There is no option to save objects directly to the database. The best thing that can be suggested is to convert all the properties of objects into a string, save it in the database, then read this string from the database and create the required object from it.
more...
Data Science and ML (Part 31): Using CatBoost AI Models for Trading
Quote:
CatBoost is an open-source software library with gradient-boosting algorithms on
decision trees, it was designed specifically to address the challenges of handling categorical features and data in machine learning.
It was developed by Yandex and was made open-source in the year of 2017,
read more.
Despite being introduced recently compared to machine learning techniques such as Linear regression or SVM's, CatBoost gained massive popularity among AI communities and rose to the top of the most used machine learning models on platforms like Kaggle.
What made CatBoost gain this much attention is its ability to automatically handle categorical features in the dataset, which can be challenging to many machine learning algorithms.
more...
Neural Networks Made Easy (Part 91): Frequency Domain Forecasting (FreDF)
Quote:
Forecasting time series of future prices is critical in various financial market scenarios. Most of the methods that currently exist are based on certain autocorrelation in the data. In other words, we exploit the presence of correlation between time steps that exists both in the input data and in the predicted values.
Among the models gaining popularity are those based on the Transformer architecture that use Self-Attention mechanisms for dynamic autocorrelation estimation. Also, we see an increasing interest in the use of frequency analysis in forecasting models. The representation of the sequence of input data in the frequency domain helps avoid the complexity of describing autocorrelation and improves the efficiency of various models.
more...
Stepwise feature selection in MQL5
Quote:
In this article, we examine the limitations of conventional stepwise feature selection, such as its potential for overfitting and its challenges in capturing interactions between features. We then introduce an enhanced algorithm designed to address these issues, implemented in MQL5, which provides flexible integration with various supervised learning methods.
more...
Neural Networks Made Easy (Part 94): Optimizing the Input Sequence
Quote:
A common approach when processing time series is to keep the original arrangement of the time steps intact. It is assumed that the historical order is the most optimal. However, most existing models lack explicit mechanisms to explore the relationships between distant segments within each time series, which may in fact have strong dependencies. For example, models based on convolutional networks (CNN) used for time series learning can only capture patterns within a limited time window. As a result, when analyzing time series in which important patterns span longer time windows, such models have difficulty effectively capturing this information. The use of deep networks allows to increase the size of the receptive field and partially solves the problem. But the number of convolutional layers required to cover the entire sequence may be too large, and oversizing the model leads to the vanishing gradient problem.
more...
Building a Candlestick Trend Constraint Model (Part 10): Strategic Golden and Death Cross (EA)
Quote:
In this article, we delve into the integration of the Strategic Golden and Death Cross strategies into the Trend Constraint Expert Advisor, unlocking the potential of these time-tested moving average crossover techniques. Our goal is to enhance trend-following capabilities in algorithmic trading by automating these strategies, ensuring precision, consistency, and seamless compatibility with broader trading systems.
more...
The Kalman Filter for Forex Mean-Reversion Strategies
Quote:
The Kalman filter is a recursive algorithm used in algorithmic trading to estimate the true state of a financial time series by filtering out noise from price movements. It dynamically updates predictions based on new market data, making it valuable for adaptive strategies like mean reversion. This article first introduces the Kalman filter, covering its calculation and implementation. Next, we apply the filter to a classic mean-reversion forex strategy as an example. Finally, we conduct various statistical analyses by comparing the filter with a moving average across different forex pairs.
more...
Neural Networks in Trading: Memory Augmented Context-Aware Learning (MacroHFT) for Cryptocurrency Markets
Quote:
Financial markets attract a vast number of investors due to their broad accessibility and potential for high profitability. Among all available asset classes, cryptocurrencies stand out for their exceptional volatility, which creates unique opportunities for generating substantial profits over short time periods. An additional advantage is their 24/7 trading cycle, allowing traders to capture market changes at different times. However, this same volatility presents not only opportunities but also significant risks, necessitating the use of more sophisticated management strategies.
more...