![Developing graphical interfaces for Expert Advisors and indicators based on .Net Framework and C#](https://c.mql5.com/2/35/icon__3.png)
![Developing graphical interfaces for Expert Advisors and indicators based on .Net Framework and C#](https://c.mql5.com/i/articles/overlay.png)
Developing graphical interfaces for Expert Advisors and indicators based on .Net Framework and C#
The article presents a simple and fast method of creating graphical windows using Visual Studio with subsequent integration into the Expert Advisor's MQL code. The article is meant for non-specialist audiences and does not require any knowledge of C# and .Net technology.
![Applying Monte Carlo method in reinforcement learning](https://c.mql5.com/2/32/family-eco.png)
![Applying Monte Carlo method in reinforcement learning](https://c.mql5.com/i/articles/overlay.png)
Applying Monte Carlo method in reinforcement learning
In the article, we will apply Reinforcement learning to develop self-learning Expert Advisors. In the previous article, we considered the Random Decision Forest algorithm and wrote a simple self-learning EA based on Reinforcement learning. The main advantages of such an approach (trading algorithm development simplicity and high "training" speed) were outlined. Reinforcement learning (RL) is easily incorporated into any trading EA and speeds up its optimization.
![Reversal patterns: Testing the Head and Shoulders pattern](https://c.mql5.com/2/34/5358_avatar.png)
![Reversal patterns: Testing the Head and Shoulders pattern](https://c.mql5.com/i/articles/overlay.png)
Reversal patterns: Testing the Head and Shoulders pattern
This article is a follow-up to the previous one called "Reversal patterns: Testing the Double top/bottom pattern". Now we will have a look at another well-known reversal pattern called Head and Shoulders, compare the trading efficiency of the two patterns and make an attempt to combine them into a single trading system.
![Reversal patterns: Testing the Double top/bottom pattern](https://c.mql5.com/2/34/double_top.png)
![Reversal patterns: Testing the Double top/bottom pattern](https://c.mql5.com/i/articles/overlay.png)
Reversal patterns: Testing the Double top/bottom pattern
Traders often look for trend reversal points since the price has the greatest potential for movement at the very beginning of a newly formed trend. Consequently, various reversal patterns are considered in the technical analysis. The Double top/bottom is one of the most well-known and frequently used ones. The article proposes the method of the pattern programmatic detection. It also tests the pattern's profitability on history data.
![Using limit orders instead of Take Profit without changing the EA's original code](https://c.mql5.com/2/34/Limit_TP.png)
![Using limit orders instead of Take Profit without changing the EA's original code](https://c.mql5.com/i/articles/overlay.png)
Using limit orders instead of Take Profit without changing the EA's original code
Using limit orders instead of conventional take profits has long been a topic of discussions on the forum. What is the advantage of this approach and how can it be implemented in your trading? In this article, I want to offer you my vision of this topic.
![Movement continuation model - searching on the chart and execution statistics](https://c.mql5.com/2/34/wave_movie.png)
![Movement continuation model - searching on the chart and execution statistics](https://c.mql5.com/i/articles/overlay.png)
Movement continuation model - searching on the chart and execution statistics
This article provides programmatic definition of one of the movement continuation models. The main idea is defining two waves — the main and the correction one. For extreme points, I apply fractals as well as "potential" fractals - extreme points that have not yet formed as fractals.
![EA remote control methods](https://c.mql5.com/2/34/RemoteControl_EA.png)
![EA remote control methods](https://c.mql5.com/i/articles/overlay.png)
EA remote control methods
The main advantage of trading robots lies in the ability to work 24 hours a day on a remote VPS server. But sometimes it is necessary to intervene in their work, while there may be no direct access to the server. Is it possible to manage EAs remotely? The article proposes one of the options for controlling EAs via external commands.
![Using indicators for optimizing Expert Advisors in real time](https://c.mql5.com/2/34/indicator_RealTime_optimaze.png)
![Using indicators for optimizing Expert Advisors in real time](https://c.mql5.com/i/articles/overlay.png)
Using indicators for optimizing Expert Advisors in real time
Efficiency of any trading robot depends on the correct selection of its parameters (optimization). However, parameters that are considered optimal for one time interval may not retain their effectiveness in another period of trading history. Besides, EAs showing profit during tests turn out to be loss-making in real time. The issue of continuous optimization comes to the fore here. When facing plenty of routine work, humans always look for ways to automate it. In this article, I propose a non-standard approach to solving this issue.
![Elder-Ray (Bulls Power and Bears Power)](https://c.mql5.com/2/33/Elder-Ray-las1su67-2niearv.png)
![Elder-Ray (Bulls Power and Bears Power)](https://c.mql5.com/i/articles/overlay.png)
Elder-Ray (Bulls Power and Bears Power)
The article dwells on Elder-Ray trading system based on Bulls Power, Bears Power and Moving Average indicators (EMA — exponential averaging). This system was described by Alexander Elder in his book "Trading for a Living".
![Combining trend and flat strategies](https://c.mql5.com/2/33/Trend_Flat__1.png)
![Combining trend and flat strategies](https://c.mql5.com/i/articles/overlay.png)
Combining trend and flat strategies
There are numerous trading strategies out there. Some of them look for a trend, while others define ranges of price fluctuations to trade within them. Is it possible to combine these two approaches to increase profitability?
![Expert Advisor featuring GUI: Adding functionality (part II)](https://c.mql5.com/2/32/avatar_expert_Graph_panel71p__1.png)
![Expert Advisor featuring GUI: Adding functionality (part II)](https://c.mql5.com/i/articles/overlay.png)
Expert Advisor featuring GUI: Adding functionality (part II)
This is the second part of the article showing the development of a multi-symbol signal Expert Advisor for manual trading. We have already created the graphical interface. It is now time to connect it with the program's functionality.
![Integrating MQL-based Expert Advisors and databases (SQL Server, .NET and C#)](https://c.mql5.com/2/25/ForArticle.png)
![Integrating MQL-based Expert Advisors and databases (SQL Server, .NET and C#)](https://c.mql5.com/i/articles/overlay.png)
Integrating MQL-based Expert Advisors and databases (SQL Server, .NET and C#)
The article describes how to add the ability to work with Microsoft SQL Server database server to MQL5-based Expert Advisors. Import of functions from a DLL is used. The DLL is created using the Microsoft .NET platform and the C# language. The methods used in the article are also suitable for experts written in MQL4, with minor adjustments.
![Visualizing optimization results using a selected criterion](https://c.mql5.com/2/32/VisualizeBest100.png)
![Visualizing optimization results using a selected criterion](https://c.mql5.com/i/articles/overlay.png)
Visualizing optimization results using a selected criterion
In the article, we continue to develop the MQL application for working with optimization results. This time, we will show how to form the table of the best results after optimizing the parameters by specifying another criterion via the graphical interface.
![Implementing indicator calculations into an Expert Advisor code](https://c.mql5.com/2/32/expert_indicator.png)
![Implementing indicator calculations into an Expert Advisor code](https://c.mql5.com/i/articles/overlay.png)
Implementing indicator calculations into an Expert Advisor code
The reasons for moving an indicator code to an Expert Advisor may vary. How to assess the pros and cons of this approach? The article describes implementing an indicator code into an EA. Several experiments are conducted to assess the speed of the EA's operation.
![Deep Neural Networks (Part VI). Ensemble of neural network classifiers: bagging](https://c.mql5.com/2/48/Deep_Neural_Networks_06.png)
![Deep Neural Networks (Part VI). Ensemble of neural network classifiers: bagging](https://c.mql5.com/i/articles/overlay.png)
Deep Neural Networks (Part VI). Ensemble of neural network classifiers: bagging
The article discusses the methods for building and training ensembles of neural networks with bagging structure. It also determines the peculiarities of hyperparameter optimization for individual neural network classifiers that make up the ensemble. The quality of the optimized neural network obtained in the previous article of the series is compared with the quality of the created ensemble of neural networks. Possibilities of further improving the quality of the ensemble's classification are considered.
![Expert Advisor featuring GUI: Creating the panel (part I)](https://c.mql5.com/2/32/avatar_expert_Graph_panel71p.png)
![Expert Advisor featuring GUI: Creating the panel (part I)](https://c.mql5.com/i/articles/overlay.png)
Expert Advisor featuring GUI: Creating the panel (part I)
Despite the fact that many traders still prefer manual trading, it is hardly possible to completely avoid the automation of routine operations. The article shows an example of developing a multi-symbol signal Expert Advisor for manual trading.
![Random Decision Forest in Reinforcement learning](https://c.mql5.com/2/31/family-eco.png)
![Random Decision Forest in Reinforcement learning](https://c.mql5.com/i/articles/overlay.png)
Random Decision Forest in Reinforcement learning
Random Forest (RF) with the use of bagging is one of the most powerful machine learning methods, which is slightly inferior to gradient boosting. This article attempts to develop a self-learning trading system that makes decisions based on the experience gained from interaction with the market.
![Developing multi-module Expert Advisors](https://c.mql5.com/2/26/4990806_hdlx-Gear-cgy8j3o-gb3o7dl-sbeht.png)
![Developing multi-module Expert Advisors](https://c.mql5.com/i/articles/overlay.png)
Developing multi-module Expert Advisors
MQL programming language allows implementing the concept of modular development of trading strategies. The article shows an example of developing a multi-module Expert Advisor consisting of separately compiled file modules.
![Multi-symbol balance graph in MetaTrader 5](https://c.mql5.com/2/31/MultiSymbol.png)
![Multi-symbol balance graph in MetaTrader 5](https://c.mql5.com/i/articles/overlay.png)
Multi-symbol balance graph in MetaTrader 5
The article provides an example of an MQL application with its graphical interface featuring multi-symbol balance and deposit drawdown graphs based on the last test results.
![Money Management by Vince. Implementation as a module for MQL5 Wizard](https://c.mql5.com/2/30/MQL5-avatar-capital-001.png)
![Money Management by Vince. Implementation as a module for MQL5 Wizard](https://c.mql5.com/i/articles/overlay.png)
Money Management by Vince. Implementation as a module for MQL5 Wizard
The article is based on 'The Mathematics of Money Management' by Ralph Vince. It provides the description of empirical and parametric methods used for finding the optimal size of a trading lot. Also the article features implementation of trading modules for the MQL5 Wizard based on these methods.
![Custom Strategy Tester based on fast mathematical calculations](https://c.mql5.com/2/30/Custom_math_tester.png)
![Custom Strategy Tester based on fast mathematical calculations](https://c.mql5.com/i/articles/overlay.png)
Custom Strategy Tester based on fast mathematical calculations
The article describes the way to create a custom strategy tester and a custom analyzer of the optimization passes. After reading it, you will understand how the math calculations mode and the mechanism of so-called frames work, how to prepare and load custom data for calculations and use effective algorithms for their compression. This article will also be interesting to those interested in ways of storing custom information within an expert.
![The Channel Breakout pattern](https://c.mql5.com/2/30/breakthow_channel.png)
![The Channel Breakout pattern](https://c.mql5.com/i/articles/overlay.png)
The Channel Breakout pattern
Price trends form price channels that can be observed on financial symbol charts. The breakout of the current channel is one of the strong trend reversal signals. In this article, I suggest a way to automate the process of finding such signals and see if the channel breakout pattern can be used for creating a trading strategy.
![Creating a custom news feed for MetaTrader 5](https://c.mql5.com/2/30/Creating_a_Custom_news_feed.png)
![Creating a custom news feed for MetaTrader 5](https://c.mql5.com/i/articles/overlay.png)
Creating a custom news feed for MetaTrader 5
In this article we look at the possibility of creating a flexible news feed that offers more options in terms of the type of news and also its source. The article will show how a web API can be integrated with the MetaTrader 5 terminal.
![Trading DiNapoli levels](https://c.mql5.com/2/30/MQL5-avatar-DiNapoli-001.png)
![Trading DiNapoli levels](https://c.mql5.com/i/articles/overlay.png)
Trading DiNapoli levels
The article considers one of the variants for Expert Advisor practical realization to trade DiNapoli levels using MQL5 standard tools. Its performance is tested and conclusions are made.
![Resolving entries into indicators](https://c.mql5.com/2/30/eagoh7z681u4_pdq0h_2f_8dqlderd9j5.png)
![Resolving entries into indicators](https://c.mql5.com/i/articles/overlay.png)
Resolving entries into indicators
Different situations happen in trader’s life. Often, the history of successful trades allows us to restore a strategy, while looking at a loss history we try to develop and improve it. In both cases, we compare trades with known indicators. This article suggests methods of batch comparison of trades with a number of indicators.
![Using the Kalman Filter for price direction prediction](https://c.mql5.com/2/30/1hud7w_rw12bho.png)
![Using the Kalman Filter for price direction prediction](https://c.mql5.com/i/articles/overlay.png)
Using the Kalman Filter for price direction prediction
For successful trading, we almost always need indicators that can separate the main price movement from noise fluctuations. In this article, we consider one of the most promising digital filters, the Kalman filter. The article provides the description of how to draw and use the filter.
![Fuzzy Logic in trading strategies](https://c.mql5.com/2/29/Avatar.png)
![Fuzzy Logic in trading strategies](https://c.mql5.com/i/articles/overlay.png)
Fuzzy Logic in trading strategies
The article considers an example of applying the fuzzy logic to build a simple trading system, using the Fuzzy library. Variants for improving the system by combining fuzzy logic, genetic algorithms and neural networks are proposed.
![Practical evaluation of the adaptive market following method](https://c.mql5.com/2/29/MQL5-avatar-adaptiveMethod-001.png)
![Practical evaluation of the adaptive market following method](https://c.mql5.com/i/articles/overlay.png)
Practical evaluation of the adaptive market following method
The main difference of the trading system proposed in the article is the use of mathematical tools for analyzing stock quotes. The system applies digital filtering and spectral estimation of discrete time series. The theoretical aspects of the strategy are described and a test Expert Advisor is created.
![Cross-Platform Expert Advisor: The CExpertAdvisor and CExpertAdvisors Classes](https://c.mql5.com/2/30/Cross_Platform_Expert_Advisor__2.png)
![Cross-Platform Expert Advisor: The CExpertAdvisor and CExpertAdvisors Classes](https://c.mql5.com/i/articles/overlay.png)
Cross-Platform Expert Advisor: The CExpertAdvisor and CExpertAdvisors Classes
This article deals primarily with the classes CExpertAdvisor and CExpertAdvisors, which serve as the container for all the other components described in this article-series regarding cross-platform expert advisors.
![Graphical Interfaces XI: Integrating the Standard Graphics Library (build 16)](https://c.mql5.com/2/29/MQL5-avatar-XI-CGraph.png)
![Graphical Interfaces XI: Integrating the Standard Graphics Library (build 16)](https://c.mql5.com/i/articles/overlay.png)
Graphical Interfaces XI: Integrating the Standard Graphics Library (build 16)
A new version of the graphics library for creating scientific charts (the CGraphic class) has been presented recently. This update of the developed library for creating graphical interfaces will introduce a version with a new control for creating charts. Now it is even easier to visualize data of different types.
![Cross-Platform Expert Advisor: Custom Stops, Breakeven and Trailing](https://c.mql5.com/2/30/Cross_Platform_Expert_Advisor__1.png)
![Cross-Platform Expert Advisor: Custom Stops, Breakeven and Trailing](https://c.mql5.com/i/articles/overlay.png)
Cross-Platform Expert Advisor: Custom Stops, Breakeven and Trailing
This article discusses how custom stop levels can be set up in a cross-platform expert advisor. It also discusses a closely-related method by which the evolution of a stop level over time can be defined.
![Graphical Interfaces XI: Text edit boxes and Combo boxes in table cells (build 15)](https://c.mql5.com/2/28/MQL5-avatar-XI-build_15.png)
![Graphical Interfaces XI: Text edit boxes and Combo boxes in table cells (build 15)](https://c.mql5.com/i/articles/overlay.png)
Graphical Interfaces XI: Text edit boxes and Combo boxes in table cells (build 15)
In this update of the library, the Table control (the CTable class) will be supplemented with new options. The lineup of controls in the table cells is expanded, this time adding text edit boxes and combo boxes. As an addition, this update also introduces the ability to resize the window of an MQL application during its runtime.
![Cross-Platform Expert Advisor: Stops](https://c.mql5.com/2/29/Cross_Platform_Expert_Advisor__3.png)
![Cross-Platform Expert Advisor: Stops](https://c.mql5.com/i/articles/overlay.png)
Cross-Platform Expert Advisor: Stops
This article discusses an implementation of stop levels in an expert advisor in order to make it compatible with the two platforms MetaTrader 4 and MetaTrader 5.
![Universal Expert Advisor: Accessing Symbol Properties (Part 8)](https://c.mql5.com/2/28/1tjuu2qd9po_i8o2.png)
![Universal Expert Advisor: Accessing Symbol Properties (Part 8)](https://c.mql5.com/i/articles/overlay.png)
Universal Expert Advisor: Accessing Symbol Properties (Part 8)
The eighth part of the article features the description of the CSymbol class, which is a special object that provides access to any trading instrument. When used inside an Expert Advisor, the class provides a wide set of symbol properties, while allowing to simplify Expert Advisor programming and to expand its functionality.
![Graphical Interfaces XI: Rendered controls (build 14.2)](https://c.mql5.com/2/28/av.png)
![Graphical Interfaces XI: Rendered controls (build 14.2)](https://c.mql5.com/i/articles/overlay.png)
Graphical Interfaces XI: Rendered controls (build 14.2)
In the new version of the library, all controls will be drawn on separate graphical objects of the OBJ_BITMAP_LABEL type. We will also continue to describe the optimization of code: changes in the core classes of the library will be discussed.
![Graphical Interfaces XI: Refactoring the Library code (build 14.1)](https://c.mql5.com/2/28/MQL5-avatar-XI-build14.png)
![Graphical Interfaces XI: Refactoring the Library code (build 14.1)](https://c.mql5.com/i/articles/overlay.png)
Graphical Interfaces XI: Refactoring the Library code (build 14.1)
As the library grows, its code must be optimized again in order to reduce its size. The version of the library described in this article has become even more object-oriented. This made the code easier to learn. A detailed description of the latest changes will allow the readers to develop the library independently based on their own needs.
![Cross-Platform Expert Advisor: Time Filters](https://c.mql5.com/2/28/Cross_Platform_Expert_Advisor__3.png)
![Cross-Platform Expert Advisor: Time Filters](https://c.mql5.com/i/articles/overlay.png)
Cross-Platform Expert Advisor: Time Filters
This article discusses the implementation of various methods of time filtering a cross-platform expert advisor. The time filter classes are responsible for checking whether or not a given time falls under a certain time configuration setting.
![Cross-Platform Expert Advisor: Money Management](https://c.mql5.com/2/28/Cross_Platform_Expert_Advisor__1.png)
![Cross-Platform Expert Advisor: Money Management](https://c.mql5.com/i/articles/overlay.png)
Cross-Platform Expert Advisor: Money Management
This article discusses the implementation of money management method for a cross-platform expert advisor. The money management classes are responsible for the calculation of the lot size to be used for the next trade to be entered by the expert advisor.
![Graphical Interfaces X: Text selection in the Multiline Text box (build 13)](https://c.mql5.com/2/27/MQL5-avatar-XRedHighlight-001__1.png)
![Graphical Interfaces X: Text selection in the Multiline Text box (build 13)](https://c.mql5.com/i/articles/overlay.png)
Graphical Interfaces X: Text selection in the Multiline Text box (build 13)
This article will implement the ability to select text using various key combinations and deletion of the selected text, similar to the way it is done in any other text editor. In addition, we will continue to optimize the code and prepare the classes to move on to the final process of the second stage of the library's evolution, where all controls will be rendered as separate images (canvases).
![Wolfe Waves](https://c.mql5.com/2/27/MQL5-avatar-Volni-002.png)
![Wolfe Waves](https://c.mql5.com/i/articles/overlay.png)
Wolfe Waves
The graphical method proposed by Bill Wolfe allows to detect a pattern, based on which a moment and direction for entry can be found, and also it helps forecast the target which the price should reach, as well as the time of target reaching. The article describes how to create an indicator based on a ZigZag, that would search for Wolfe Waves, and a simple Expert Advisor trading based on this indicator.