![Gain An Edge Over Any Market (Part II): Forecasting Technical Indicators](https://c.mql5.com/2/80/Gain_An_Edge_Over_Any_Market_Part_II_600x314.jpg)
Gain An Edge Over Any Market (Part II): Forecasting Technical Indicators
Did you know that we can gain more accuracy forecasting certain technical indicators than predicting the underlying price of a traded symbol? Join us to explore how to leverage this insight for better trading strategies.
![Building A Candlestick Trend Constraint Model (Part 5): Notification System (Part I)](https://c.mql5.com/2/81/Building_A_Candlestick_Trend_Constraint_Model_Part_5_600x314__2.jpg)
Building A Candlestick Trend Constraint Model (Part 5): Notification System (Part I)
We will breakdown the main MQL5 code into specified code snippets to illustrate the integration of Telegram and WhatsApp for receiving signal notifications from the Trend Constraint indicator we are creating in this article series. This will help traders, both novices and experienced developers, grasp the concept easily. First, we will cover the setup of MetaTrader 5 for notifications and its significance to the user. This will help developers in advance to take notes to further apply in their systems.
![DRAW_ARROW drawing type in multi-symbol multi-period indicators](https://c.mql5.com/2/65/Drawing_type_DRAW_ARROW_in_multi-symbol_multi-period_indicators_600x314.jpg)
DRAW_ARROW drawing type in multi-symbol multi-period indicators
In this article, we will look at drawing arrow multi-symbol multi-period indicators. We will also improve the class methods for correct display of arrows showing data from arrow indicators calculated on a symbol/period that does not correspond to the symbol/period of the current chart.
![Data Science and Machine Learning (Part 20): Algorithmic Trading Insights, A Faceoff Between LDA and PCA in MQL5](https://c.mql5.com/2/70/Data_Science_and_Machine_Learning_Part_20_Algorithmic_Trading_Insightsx_A_Faceoff_Between_LDA_and_PC.jpg)
Data Science and Machine Learning (Part 20): Algorithmic Trading Insights, A Faceoff Between LDA and PCA in MQL5
Uncover the secrets behind these powerful dimensionality reduction techniques as we dissect their applications within the MQL5 trading environment. Delve into the nuances of Linear Discriminant Analysis (LDA) and Principal Component Analysis (PCA), gaining a profound understanding of their impact on strategy development and market analysis.
![Advanced Variables and Data Types in MQL5](https://c.mql5.com/2/73/Advanced_Variables_and_Data_Types_in_MQL5_600x314.jpg)
Advanced Variables and Data Types in MQL5
Variables and data types are very important topics not only in MQL5 programming but also in any programming language. MQL5 variables and data types can be categorized as simple and advanced ones. In this article, we will identify and learn about advanced ones because we already mentioned simple ones in a previous article.
![Developing a Replay System — Market simulation (Part 23): FOREX (IV)](https://c.mql5.com/2/57/replay_p23_600x314.jpg)
Developing a Replay System — Market simulation (Part 23): FOREX (IV)
Now the creation occurs at the same point where we converted ticks into bars. This way, if something goes wrong during the conversion process, we will immediately notice the error. This is because the same code that places 1-minute bars on the chart during fast forwarding is also used for the positioning system to place bars during normal performance. In other words, the code that is responsible for this task is not duplicated anywhere else. This way we get a much better system for both maintenance and improvement.
![Developing a Replay System — Market simulation (Part 13): Birth of the SIMULATOR (III)](https://c.mql5.com/2/54/replay-p13_600x314.jpg)
Developing a Replay System — Market simulation (Part 13): Birth of the SIMULATOR (III)
Here we will simplify a few elements related to the work in the next article. I'll also explain how you can visualize what the simulator generates in terms of randomness.
![Neural networks made easy (Part 42): Model procrastination, reasons and solutions](https://c.mql5.com/2/54/NN_Simple_Part_42_procrastination_600x314.jpg)
Neural networks made easy (Part 42): Model procrastination, reasons and solutions
In the context of reinforcement learning, model procrastination can be caused by several reasons. The article considers some of the possible causes of model procrastination and methods for overcoming them.
![Developing a Replay System — Market simulation (Part 24): FOREX (V)](https://c.mql5.com/2/57/replay_p24_600x314.jpg)
Developing a Replay System — Market simulation (Part 24): FOREX (V)
Today we will remove a limitation that has been preventing simulations based on the Last price and will introduce a new entry point specifically for this type of simulation. The entire operating mechanism will be based on the principles of the forex market. The main difference in this procedure is the separation of Bid and Last simulations. However, it is important to note that the methodology used to randomize the time and adjust it to be compatible with the C_Replay class remains identical in both simulations. This is good because changes in one mode lead to automatic improvements in the other, especially when it comes to handling time between ticks.
![DoEasy. Controls (Part 31): Scrolling the contents of the ScrollBar control](https://c.mql5.com/2/51/doeasy_031_600x314.jpg)
DoEasy. Controls (Part 31): Scrolling the contents of the ScrollBar control
In this article, I will implement the functionality of scrolling the contents of the container using the buttons of the horizontal scrollbar.
![MQL5 Wizard Techniques you should know (Part 16): Principal Component Analysis with Eigen Vectors](https://c.mql5.com/2/75/MQL5_Wizard_Techniques_you_should_know_5Part_162_600x314.jpg)
MQL5 Wizard Techniques you should know (Part 16): Principal Component Analysis with Eigen Vectors
Principal Component Analysis, a dimensionality reducing technique in data analysis, is looked at in this article, with how it could be implemented with Eigen values and vectors. As always, we aim to develop a prototype expert-signal-class usable in the MQL5 wizard.
![Design Patterns in software development and MQL5 (Part 2): Structural Patterns](https://c.mql5.com/2/60/Design_Patterns_zPart_2v_Structural_Patterns_600x314.jpg)
Design Patterns in software development and MQL5 (Part 2): Structural Patterns
In this article, we will continue our articles about Design Patterns after learning how much this topic is more important for us as developers to develop extendable, reliable applications not only by the MQL5 programming language but others as well. We will learn about another type of Design Patterns which is the structural one to learn how to design systems by using what we have as classes to form larger structures.
![Developing a Replay System — Market simulation (Part 22): FOREX (III)](https://c.mql5.com/2/57/replay_p22_600x314.jpg)
Developing a Replay System — Market simulation (Part 22): FOREX (III)
Although this is the third article on this topic, I must explain for those who have not yet understood the difference between the stock market and the foreign exchange market: the big difference is that in the Forex there is no, or rather, we are not given information about some points that actually occurred during the course of trading.
![Modified Grid-Hedge EA in MQL5 (Part IV): Optimizing Simple Grid Strategy (I)](https://c.mql5.com/2/79/Modified_Grid-Hedge_EA_in_MQL5_Part_III_600x314__1.jpg)
Modified Grid-Hedge EA in MQL5 (Part IV): Optimizing Simple Grid Strategy (I)
In this fourth part, we revisit the Simple Hedge and Simple Grid Expert Advisors (EAs) developed earlier. Our focus shifts to refining the Simple Grid EA through mathematical analysis and a brute force approach, aiming for optimal strategy usage. This article delves deep into the mathematical optimization of the strategy, setting the stage for future exploration of coding-based optimization in later installments.
![Developing a Replay System — Market simulation (Part 19): Necessary adjustments](https://c.mql5.com/2/56/replay_p19_600x314.jpg)
Developing a Replay System — Market simulation (Part 19): Necessary adjustments
Here we will prepare the ground so that if we need to add new functions to the code, this will happen smoothly and easily. The current code cannot yet cover or handle some of the things that will be necessary to make meaningful progress. We need everything to be structured in order to enable the implementation of certain things with the minimal effort. If we do everything correctly, we can get a truly universal system that can very easily adapt to any situation that needs to be handled.
![Developing a multi-currency Expert Advisor (Part 2): Transition to virtual positions of trading strategies](https://c.mql5.com/2/69/Developing_a_multi-currency_advisor_5Part_2f_Transition_to_virtual_positions_of_trading_strategies_6.jpg)
Developing a multi-currency Expert Advisor (Part 2): Transition to virtual positions of trading strategies
Let's continue developing a multi-currency EA with several strategies working in parallel. Let's try to move all the work associated with opening market positions from the strategy level to the level of the EA managing the strategies. The strategies themselves will trade only virtually, without opening market positions.
![Neural networks made easy (Part 40): Using Go-Explore on large amounts of data](https://c.mql5.com/2/54/neural_networks_go_explore_040_600x314.jpg)
Neural networks made easy (Part 40): Using Go-Explore on large amounts of data
This article discusses the use of the Go-Explore algorithm over a long training period, since the random action selection strategy may not lead to a profitable pass as training time increases.
![Neural networks made easy (Part 71): Goal-Conditioned Predictive Coding (GCPC)](https://c.mql5.com/2/63/Neural_networks_made_easy_aPart_71__GCPCr_600x314.jpg)
Neural networks made easy (Part 71): Goal-Conditioned Predictive Coding (GCPC)
In previous articles, we discussed the Decision Transformer method and several algorithms derived from it. We experimented with different goal setting methods. During the experiments, we worked with various ways of setting goals. However, the model's study of the earlier passed trajectory always remained outside our attention. In this article. I want to introduce you to a method that fills this gap.
![Category Theory in MQL5 (Part 10): Monoid Groups](https://c.mql5.com/2/55/Category_Theory_Part_10_600x314.jpg)
Category Theory in MQL5 (Part 10): Monoid Groups
This article continues the series on category theory implementation in MQL5. Here we look at monoid-groups as a means normalising monoid sets making them more comparable across a wider span of monoid sets and data types..
![Bill Williams Strategy with and without other indicators and predictions](https://c.mql5.com/2/79/Bill_Williams_Strategy_with_and_without_other_Indicators_and_Predictions___3_600x314.jpg)
Bill Williams Strategy with and without other indicators and predictions
In this article, we will take a look to one the famous strategies of Bill Williams, and discuss it, and try to improve the strategy with other indicators and with predictions.
![News Trading Made Easy (Part 2): Risk Management](https://c.mql5.com/2/79/News_Trading_Made_Easy_Part_2_600x314__1.jpg)
News Trading Made Easy (Part 2): Risk Management
In this article, inheritance will be introduced into our previous and new code. A new database design will be implemented to provide efficiency. Additionally, a risk management class will be created to tackle volume calculations.
![Population optimization algorithms: Mind Evolutionary Computation (MEC) algorithm](https://c.mql5.com/2/58/Mind-Evolutionary-Computation_600x314.jpg)
Population optimization algorithms: Mind Evolutionary Computation (MEC) algorithm
The article considers the algorithm of the MEC family called the simple mind evolutionary computation algorithm (Simple MEC, SMEC). The algorithm is distinguished by the beauty of its idea and ease of implementation.
![DoEasy. Controls (Part 12): Base list object, ListBox and ButtonListBox WinForms objects](https://c.mql5.com/2/49/doeasy_012_600x314.jpg)
DoEasy. Controls (Part 12): Base list object, ListBox and ButtonListBox WinForms objects
In this article, I am going to create the base object of WinForms object lists, as well as the two new objects: ListBox and ButtonListBox.
![Data label for time series mining (Part 4):Interpretability Decomposition Using Label Data](https://c.mql5.com/2/61/Data_label_for_time_series_mining_zPart_4oInterpretability_Decomposition_Using_Label_Data_600x314.jpg)
Data label for time series mining (Part 4):Interpretability Decomposition Using Label Data
This series of articles introduces several time series labeling methods, which can create data that meets most artificial intelligence models, and targeted data labeling according to needs can make the trained artificial intelligence model more in line with the expected design, improve the accuracy of our model, and even help the model make a qualitative leap!
![Developing a Replay System — Market simulation (Part 12): Birth of the SIMULATOR (II)](https://c.mql5.com/2/54/replay-p12_600x314.jpg)
Developing a Replay System — Market simulation (Part 12): Birth of the SIMULATOR (II)
Developing a simulator can be much more interesting than it seems. Today we'll take a few more steps in this direction because things are getting more interesting.
![Developing a Replay System (Part 37): Paving the Path (I)](https://c.mql5.com/2/61/Desenvolvendo_um_sistema_de_Replay__Parte_37_600x314.jpg)
Developing a Replay System (Part 37): Paving the Path (I)
In this article, we will finally begin to do what we wanted to do much earlier. However, due to the lack of "solid ground", I did not feel confident to present this part publicly. Now I have the basis to do this. I suggest that you focus as much as possible on understanding the content of this article. I mean not simply reading it. I want to emphasize that if you do not understand this article, you can completely give up hope of understanding the content of the following ones.
![DoEasy. Controls (Part 19): Scrolling tabs in TabControl, WinForms object events](https://c.mql5.com/2/49/doeasy_019_600x314.jpg)
DoEasy. Controls (Part 19): Scrolling tabs in TabControl, WinForms object events
In this article, I will create the functionality for scrolling tab headers in TabControl using scrolling buttons. The functionality is meant to place tab headers into a single line from either side of the control.
![Population optimization algorithms: Differential Evolution (DE)](https://c.mql5.com/2/61/Population_optimization_algorithms_-_Differential_evolution_600x314.jpg)
Population optimization algorithms: Differential Evolution (DE)
In this article, we will consider the algorithm that demonstrates the most controversial results of all those discussed previously - the differential evolution (DE) algorithm.
![Developing a Replay System (Part 28): Expert Advisor project — C_Mouse class (II)](https://c.mql5.com/2/58/Replay-p28_II_600x314.jpg)
Developing a Replay System (Part 28): Expert Advisor project — C_Mouse class (II)
When people started creating the first systems capable of computing, everything required the participation of engineers, who had to know the project very well. We are talking about the dawn of computer technology, a time when there were not even terminals for programming. As it developed and more people got interested in being able to create something, new ideas and ways of programming emerged which replaced the previous-style changing of connector positions. This is when the first terminals appeared.
![StringFormat(). Review and ready-made examples](https://c.mql5.com/2/56/stringformatnw_600x314.jpg)
StringFormat(). Review and ready-made examples
The article continues the review of the PrintFormat() function. We will briefly look at formatting strings using StringFormat() and their further use in the program. We will also write templates to display symbol data in the terminal journal. The article will be useful for both beginners and experienced developers.
![Neural networks made easy (Part 57): Stochastic Marginal Actor-Critic (SMAC)](https://c.mql5.com/2/57/stochastic_marginal_actor_critic_600x314.jpg)
Neural networks made easy (Part 57): Stochastic Marginal Actor-Critic (SMAC)
Here I will consider the fairly new Stochastic Marginal Actor-Critic (SMAC) algorithm, which allows building latent variable policies within the framework of entropy maximization.
![Category Theory in MQL5 (Part 4): Spans, Experiments, and Compositions](https://c.mql5.com/2/52/Category-Theory-p4_600x314.jpg)
Category Theory in MQL5 (Part 4): Spans, Experiments, and Compositions
Category Theory is a diverse and expanding branch of Mathematics which as of yet is relatively uncovered in the MQL5 community. These series of articles look to introduce and examine some of its concepts with the overall goal of establishing an open library that provides insight while hopefully furthering the use of this remarkable field in Traders' strategy development.
![Triangular arbitrage with predictions](https://c.mql5.com/2/78/Triangular_arbitrage_with_predictions__600x314.jpg)
Triangular arbitrage with predictions
This article simplifies triangular arbitrage, showing you how to use predictions and specialized software to trade currencies smarter, even if you're new to the market. Ready to trade with expertise?
![Neural networks made easy (Part 52): Research with optimism and distribution correction](https://c.mql5.com/2/57/optimistic-actor-critic_600x314.jpg)
Neural networks made easy (Part 52): Research with optimism and distribution correction
As the model is trained based on the experience reproduction buffer, the current Actor policy moves further and further away from the stored examples, which reduces the efficiency of training the model as a whole. In this article, we will look at the algorithm of improving the efficiency of using samples in reinforcement learning algorithms.
![Alternative risk return metrics in MQL5](https://c.mql5.com/2/59/Alternative_risk_return_V3_up_600x314.jpg)
Alternative risk return metrics in MQL5
In this article we present the implementation of several risk return metrics billed as alternatives to the Sharpe ratio and examine hypothetical equity curves to analyze their characteristics.
![Data Science and Machine Learning (Part 17): Money in the Trees? The Art and Science of Random Forests in Forex Trading](https://c.mql5.com/2/63/midjourney_image_13765_54_491_3_600x314.jpg)
Data Science and Machine Learning (Part 17): Money in the Trees? The Art and Science of Random Forests in Forex Trading
Discover the secrets of algorithmic alchemy as we guide you through the blend of artistry and precision in decoding financial landscapes. Unearth how Random Forests transform data into predictive prowess, offering a unique perspective on navigating the complex terrain of stock markets. Join us on this journey into the heart of financial wizardry, where we demystify the role of Random Forests in shaping market destiny and unlocking the doors to lucrative opportunities
![Category Theory in MQL5 (Part 23): A different look at the Double Exponential Moving Average](https://c.mql5.com/2/58/Category_Theory_23_V4__Improved_600x314.jpg)
Category Theory in MQL5 (Part 23): A different look at the Double Exponential Moving Average
In this article we continue with our theme in the last of tackling everyday trading indicators viewed in a ‘new’ light. We are handling horizontal composition of natural transformations for this piece and the best indicator for this, that expands on what we just covered, is the double exponential moving average (DEMA).
![MQL5 Wizard Techniques you should know (Part 11): Number Walls](https://c.mql5.com/2/66/MQL5_Wizard_Techniques_you_should_know_0Part_11w_Number_Walls_600x314.jpg)
MQL5 Wizard Techniques you should know (Part 11): Number Walls
Number Walls are a variant of Linear Shift Back Registers that prescreen sequences for predictability by checking for convergence. We look at how these ideas could be of use in MQL5.
![Developing a Replay System — Market simulation (Part 25): Preparing for the next phase](https://c.mql5.com/2/58/replay-p25_600x314.jpg)
Developing a Replay System — Market simulation (Part 25): Preparing for the next phase
In this article, we complete the first phase of developing our replay and simulation system. Dear reader, with this achievement I confirm that the system has reached an advanced level, paving the way for the introduction of new functionality. The goal is to enrich the system even further, turning it into a powerful tool for research and development of market analysis.
![Neural networks made easy (Part 64): ConserWeightive Behavioral Cloning (CWBC) method](https://c.mql5.com/2/60/Neural_networks_made_easy_mPart_64s_CWBC_600x314.jpg)
Neural networks made easy (Part 64): ConserWeightive Behavioral Cloning (CWBC) method
As a result of tests performed in previous articles, we came to the conclusion that the optimality of the trained strategy largely depends on the training set used. In this article, we will get acquainted with a fairly simple yet effective method for selecting trajectories to train models.