![Analyzing Candlestick Patterns](https://c.mql5.com/2/0/candlestick_research_MQL5__1.png)
![Analyzing Candlestick Patterns](https://c.mql5.com/i/articles/overlay.png)
Analyzing Candlestick Patterns
Construction of Japanese candlestick chart and analysis of candlestick patterns constitute an amazing area of technical analysis. The advantage of candlesticks is that they represent data in such a manner that you can track the dynamics inside the data. In this article we analyze candlestick types, classification of candlestick patterns and present an indicator that can determine candlestick patterns.
![MQL5: Create Your Own Indicator](https://c.mql5.com/2/0/indikator__1.png)
![MQL5: Create Your Own Indicator](https://c.mql5.com/i/articles/overlay.png)
MQL5: Create Your Own Indicator
What is an indicator? It is a set of calculated values that we want to be displayed on the screen in a convenient way. Sets of values are represented in programs as arrays. Thus, creation of an indicator means writing an algorithm that handles some arrays (price arrays) and records results of handling to other arrays (indicator values). By describing creation of True Strength Index, the author shows how to write indicators in MQL5.
![MQL5 Programming Basics: Time](https://c.mql5.com/2/0/datetime_avatar.png)
![MQL5 Programming Basics: Time](https://c.mql5.com/i/articles/overlay.png)
MQL5 Programming Basics: Time
The article focuses on standard MQL5 functions for working with time, as well as programming techniques and practically useful functions for working with time that are required when creating Expert Advisors and indicators. Particular attention is paid to the general theory of time measurement. This article should be of interest primarily to novice MQL5 programmers.
![How to Create Your Own Trailing Stop](https://c.mql5.com/2/0/Trailing_Stop_MQL5.png)
![How to Create Your Own Trailing Stop](https://c.mql5.com/i/articles/overlay.png)
How to Create Your Own Trailing Stop
The basic rule of trader - let profit to grow, cut off losses! This article considers one of the basic techniques, allowing to follow this rule - moving the protective stop level (Stop loss level) after increasing position profit, i.e. - Trailing Stop level. You'll find the step by step procedure to create a class for trailing stop on SAR and NRTR indicators. Everyone will be able to insert this trailing stop into their experts or use it independently to control positions in their accounts.
![Using MetaTrader 5 Indicators with ENCOG Machine Learning Framework for Timeseries Prediction](https://c.mql5.com/2/0/brain.png)
![Using MetaTrader 5 Indicators with ENCOG Machine Learning Framework for Timeseries Prediction](https://c.mql5.com/i/articles/overlay.png)
Using MetaTrader 5 Indicators with ENCOG Machine Learning Framework for Timeseries Prediction
This article presents connecting MetaTrader 5 to ENCOG - Advanced Neural Network and Machine Learning Framework. It contains description and implementation of a simple neural network indicator based on a standard technical indicators and an Expert Advisor based on a neural indicator. All source code, compiled binaries, DLLs and an exemplary trained network are attached to the article.
![Automatic construction of support and resistance lines](https://c.mql5.com/2/30/Auto_support_resisitance.png)
![Automatic construction of support and resistance lines](https://c.mql5.com/i/articles/overlay.png)
Automatic construction of support and resistance lines
The article deals with automatic construction of support/resistance lines using local tops and bottoms of price charts. The well-known ZigZag indicator is applied to define these extreme values.
![The Implementation of Automatic Analysis of the Elliott Waves in MQL5](https://c.mql5.com/2/0/MQL5_Elliott_Waves_Automated.png)
![The Implementation of Automatic Analysis of the Elliott Waves in MQL5](https://c.mql5.com/i/articles/overlay.png)
The Implementation of Automatic Analysis of the Elliott Waves in MQL5
One of the most popular methods of market analysis is the Elliott Wave Principle. However, this process is quite complicated, which leads us to the use of additional tools. One of such instruments is the automatic marker. This article describes the creation of an automatic analyzer of Elliott Waves in MQL5 language.
![The Price Histogram (Market Profile) and its implementation in MQL5](https://c.mql5.com/2/0/price__1.png)
![The Price Histogram (Market Profile) and its implementation in MQL5](https://c.mql5.com/i/articles/overlay.png)
The Price Histogram (Market Profile) and its implementation in MQL5
The Market Profile was developed by trully brilliant thinker Peter Steidlmayer. He suggested to use the alternative representation of information about "horizontal" and "vertical" market movements that leads to completely different set of models. He assumed that there is an underlying pulse of the market or a fundamental pattern called the cycle of equilibrium and disequilibrium. In this article I will consider Price Histogram — a simplified model of Market Profile, and will describe its implementation in MQL5.
![How to create Requirements Specification for ordering an indicator](https://c.mql5.com/2/31/Spec_Indicator.png)
![How to create Requirements Specification for ordering an indicator](https://c.mql5.com/i/articles/overlay.png)
How to create Requirements Specification for ordering an indicator
Most often the first step in the development of a trading system is the creation of a technical indicator, which can identify favorable market behavior patterns. A professionally developed indicator can be ordered from the Freelance service. From this article you will learn how to create a proper Requirements Specification, which will help you to obtain the desired indicator faster.
![Universal ZigZag](https://c.mql5.com/2/25/zigzag__1.png)
![Universal ZigZag](https://c.mql5.com/i/articles/overlay.png)
Universal ZigZag
ZigZag is one of the most popular indicators among the MetaTrader 5 users. The article analyzes the possibilities for creating various versions of the ZigZag. The result is a universal indicator with ample opportunities to extend its functionality, which is useful in the development of trading experts and other indicators.
![80-20 trading strategy](https://c.mql5.com/2/25/80-20.png)
![80-20 trading strategy](https://c.mql5.com/i/articles/overlay.png)
80-20 trading strategy
The article describes the development of tools (indicator and Expert Advisor) for analyzing the '80-20' trading strategy. The trading strategy rules are taken from the work "Street Smarts. High Probability Short-Term Trading Strategies" by Linda Raschke and Laurence Connors. We are going to formalize the strategy rules using the MQL5 language and test the strategy-based indicator and EA on the recent market history.
![How to call indicators in MQL5](https://c.mql5.com/2/0/Calling_indicators_MQL5.png)
![How to call indicators in MQL5](https://c.mql5.com/i/articles/overlay.png)
How to call indicators in MQL5
With new version of MQL programming language available not only the approach of dealing with indicators have changed, but there are also new ways of how to create indicators. Furthermore, you have additional flexibility working with indicator's buffers - now you can specify the desired direction of indexing and get exactly as many indicator's values as you want. This article explains the basic methods of calling indicators and retrieving data from the indicator's buffers.
![A New Approach to Interpreting Classic and Hidden Divergence](https://c.mql5.com/2/29/8570j_8kab7o_e_vfnp1de2egckv_mgttlcii9430_e_qyj29n6x_vhy07f77qa9.png)
![A New Approach to Interpreting Classic and Hidden Divergence](https://c.mql5.com/i/articles/overlay.png)
A New Approach to Interpreting Classic and Hidden Divergence
The article considers the classic method for divergence construction and provides an additional divergence interpretation method. A trading strategy was developed based on this new interpretation method. This strategy is also described in the article.
![Neural Networks Made Easy](https://c.mql5.com/2/49/Neural_Networks_Easy_002_600x314.jpg)
Neural Networks Made Easy
Artificial intelligence is often associated with something fantastically complex and incomprehensible. At the same time, artificial intelligence is increasingly mentioned in everyday life. News about achievements related to the use of neural networks often appear in different media. The purpose of this article is to show that anyone can easily create a neural network and use the AI achievements in trading.
![MQL5 for Newbies: Guide to Using Technical Indicators in Expert Advisors](https://c.mql5.com/2/0/chainik__1.png)
![MQL5 for Newbies: Guide to Using Technical Indicators in Expert Advisors](https://c.mql5.com/i/articles/overlay.png)
MQL5 for Newbies: Guide to Using Technical Indicators in Expert Advisors
In order to obtain values of a built-in or custom indicator in an Expert Advisor, first its handle should be created using the corresponding function. Examples in the article show how to use this or that technical indicator while creating your own programs. The article describes indicators that are built n the MQL5 language. It is intended for those who don't have much experience in the development of trading strategies and offers simple and clear ways of working with indicators using the offered library of functions.
![Custom Indicators in MQL5 for Newbies](https://c.mql5.com/2/0/s_002__1.png)
![Custom Indicators in MQL5 for Newbies](https://c.mql5.com/i/articles/overlay.png)
Custom Indicators in MQL5 for Newbies
Any new subject seems complicated and hard-to-learn for a newbie. Subjects that we know seem very simple and clear to us. But we simply do not remember, that everyone has to study something from scratch, and even our native language. The same is with the MQL5 programming language that offers wide possibilities of developing one's own trading strategies - you can start learning it from basic notions and simplest examples. Interaction of a technical indicator with the MetaTrader 5 client terminal is consider in this article on the example of the simple custom indicator SMA.
![The ZigZag Indicator: Fresh Approach and New Solutions](https://c.mql5.com/2/0/avatar2.png)
![The ZigZag Indicator: Fresh Approach and New Solutions](https://c.mql5.com/i/articles/overlay.png)
The ZigZag Indicator: Fresh Approach and New Solutions
The article examines the possibility of creating an advanced ZigZag indicator. The idea of identifying nodes is based on the use of the Envelopes indicator. We assume that we can find a certain combination of input parameters for a series of Envelopes, whereby all ZigZag nodes lie within the confines of the Envelopes bands. Consequently, we can try to predict the coordinates of the new node.
![An example of an indicator drawing Support and Resistance lines](https://c.mql5.com/2/28/MQL5-avatar-SupportLines-001.png)
![An example of an indicator drawing Support and Resistance lines](https://c.mql5.com/i/articles/overlay.png)
An example of an indicator drawing Support and Resistance lines
The article provides an example of how to implement an indicator for drawing support and resistance lines based on formalized conditions. In addition to having a ready-to-use indicator, you will see how simple the indicator creation process is. You will also learn how to formulate conditions for drawing any desired line by changing the indicator code.
![Indicator for Renko charting](https://c.mql5.com/2/0/LOGO__2.png)
![Indicator for Renko charting](https://c.mql5.com/i/articles/overlay.png)
Indicator for Renko charting
The article describes an example of Renko charting and its implementation in MQL5 as an indicator. Modifications of this indicator distinguish it from a classic chart. It can be constructed both in the indicator window and on the main chart. Moreover, there is the ZigZag indicator. You can find a few examples of the chart implementation.
![Create Your Own Graphical Panels in MQL5](https://c.mql5.com/2/0/graph_pannels_MQL5.png)
![Create Your Own Graphical Panels in MQL5](https://c.mql5.com/i/articles/overlay.png)
Create Your Own Graphical Panels in MQL5
The MQL5 program usability is determined by both its rich functionality and an elaborate graphical user interface. Visual perception is sometimes more important than fast and stable operation. Here is a step-by-step guide to creating display panels on the basis of the Standard Library classes on your own.
![MQL5 for beginners: Anti-vandal protection of graphic objects](https://c.mql5.com/2/20/ava.png)
![MQL5 for beginners: Anti-vandal protection of graphic objects](https://c.mql5.com/i/articles/overlay.png)
MQL5 for beginners: Anti-vandal protection of graphic objects
What should your program do, if graphic control panels have been removed or modified by someone else? In this article we will show you how not to have "ownerless" objects on the chart, and how not to lose control over them in cases of renaming or deleting programmatically created objects after the application is deleted.
![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.
![Transferring Indicators from MQL4 to MQL5](https://c.mql5.com/2/0/migrate_indicators_mql4_to_MQL5__1.png)
![Transferring Indicators from MQL4 to MQL5](https://c.mql5.com/i/articles/overlay.png)
Transferring Indicators from MQL4 to MQL5
This article is dedicated to peculiarities of transferring price constructions written in MQL4 to MQL5. To make the process of transferring indicator calculations from MQL4 to MQL5 easier, the mql4_2_mql5.mqh library of functions is suggested. Its usage is described on the basis of transferring of the MACD, Stochastic and RSI indicators.
![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.
![Timeseries in DoEasy library (part 43): Classes of indicator buffer objects](https://c.mql5.com/2/38/MQL5-avatar-doeasy-library__8.png)
![Timeseries in DoEasy library (part 43): Classes of indicator buffer objects](https://c.mql5.com/i/articles/overlay.png)
Timeseries in DoEasy library (part 43): Classes of indicator buffer objects
The article considers the development of indicator buffer object classes as descendants of the abstract buffer object simplifying declaration and working with indicator buffers, while creating custom indicator programs based on DoEasy library.
![Auto search for divergences and convergences](https://c.mql5.com/2/29/MQL5_article_Divergention.png)
![Auto search for divergences and convergences](https://c.mql5.com/i/articles/overlay.png)
Auto search for divergences and convergences
The article considers all kinds of divergence: simple, hidden, extended, triple, quadruple, convergence, as well as divergences of A, B and C classes. A universal indicator for their search and display on the chart is developed.
![Adding a control panel to an indicator or an Expert Advisor in no time](https://c.mql5.com/2/22/avatar.png)
![Adding a control panel to an indicator or an Expert Advisor in no time](https://c.mql5.com/i/articles/overlay.png)
Adding a control panel to an indicator or an Expert Advisor in no time
Have you ever felt the need to add a graphical panel to your indicator or Expert Advisor for greater speed and convenience? In this article, you will find out how to implement the dialog panel with the input parameters into your MQL4/MQL5 program step by step.
![Drawing Resistance and Support Levels Using MQL5](https://c.mql5.com/2/19/avatar__1.png)
![Drawing Resistance and Support Levels Using MQL5](https://c.mql5.com/i/articles/overlay.png)
Drawing Resistance and Support Levels Using MQL5
This article describes a method of finding four extremum points for drawing support and resistance levels based on them. In order to find extremums on a chart of a currency pair, RSI indicator is used. To give an example, we have provided an indicator code that displays support and resistance levels.
![Implementing a Scalping Market Depth Using the CGraphic Library](https://c.mql5.com/2/28/MQL5-avatar-cup-005.png)
![Implementing a Scalping Market Depth Using the CGraphic Library](https://c.mql5.com/i/articles/overlay.png)
Implementing a Scalping Market Depth Using the CGraphic Library
In this article, we will create the basic functionality of a scalping Market Depth tool. Also, we will develop a tick chart based on the CGraphic library and integrate it with the order book. Using the described Market Depth, it will be possible to create a powerful assistant tool for short-term trading.
![Creating Multi-Colored Indicators in MQL5](https://c.mql5.com/2/0/paint_indicator_MQL5__1.png)
![Creating Multi-Colored Indicators in MQL5](https://c.mql5.com/i/articles/overlay.png)
Creating Multi-Colored Indicators in MQL5
In this article, we will consider how to create multi-colored indicators or convert the existing ones to multi-color. MQL5 allows to represent the information in the convenient form. Now it isn't necessary to look at a dozen of charts with indicators and perform analyses of the RSI or Stochastic levels, it's better just to paint the candles with different colors depending on the values of the indicators.
![The Flag Pattern](https://c.mql5.com/2/28/MQL5-avatar-flag-001__1.png)
![The Flag Pattern](https://c.mql5.com/i/articles/overlay.png)
The Flag Pattern
The article provides the analysis of the following patterns: Flag, Pennant, Wedge, Rectangle, Contracting Triangle, Expanding Triangle. In addition to analyzing their similarities and differences, we will create indicators for detecting these patterns on the chart, as well as a tester indicator for the fast evaluation of their effectiveness.
![Creating a Multi-Currency Indicator, Using a Number of Intermediate Indicator Buffers](https://c.mql5.com/2/0/Multicurrency_Indicator_MQL5.png)
![Creating a Multi-Currency Indicator, Using a Number of Intermediate Indicator Buffers](https://c.mql5.com/i/articles/overlay.png)
Creating a Multi-Currency Indicator, Using a Number of Intermediate Indicator Buffers
There has been a recent rise of interest in the cluster analyses of the FOREX market. MQL5 opens up new possibilities of researching the trends of the movement of currency pairs. A key feature of MQL5, differentiating it from MQL4, is the possibility of using an unlimited amount of indicator buffers. This article describes an example of the creation of a multi-currency indicator.
![Graphical Interfaces X: Updates for Easy And Fast Library (Build 3)](https://c.mql5.com/2/24/Graphic-interface_10.png)
![Graphical Interfaces X: Updates for Easy And Fast Library (Build 3)](https://c.mql5.com/i/articles/overlay.png)
Graphical Interfaces X: Updates for Easy And Fast Library (Build 3)
The next version of the Easy And Fast library (version 3) is presented in this article. Fixed certain flaws and added new features. More details further in the article.
![Synchronizing several same-symbol charts on different timeframes](https://c.mql5.com/2/31/6cd68idtz6fac-lu770iwbwo-3ndzmpk7.png)
![Synchronizing several same-symbol charts on different timeframes](https://c.mql5.com/i/articles/overlay.png)
Synchronizing several same-symbol charts on different timeframes
When making trading decisions, we often have to analyze charts on several timeframes. At the same time, these charts often contain graphical objects. Applying the same objects to all charts is inconvenient. In this article, I propose to automate cloning of objects to be displayed on charts.
![Graphical Interfaces X: The Standard Chart Control (build 4)](https://c.mql5.com/2/25/Graphic-interface_10.png)
![Graphical Interfaces X: The Standard Chart Control (build 4)](https://c.mql5.com/i/articles/overlay.png)
Graphical Interfaces X: The Standard Chart Control (build 4)
This time we will consider the Standard chart control. It will allow to create arrays of subcharts with the ability to synchronize horizontal scrolling. In addition, we will continue to optimize the library code to reduce the CPU load.
![Creating an Indicator with Multiple Indicator Buffers for Newbies](https://c.mql5.com/2/0/P2054.png)
![Creating an Indicator with Multiple Indicator Buffers for Newbies](https://c.mql5.com/i/articles/overlay.png)
Creating an Indicator with Multiple Indicator Buffers for Newbies
The complex codes consist of a set of simple codes. If you are familiar with them, it doesn't look so complicated. In this article, we will consider how to create an indicator with multiple indicator buffers. As an example, the Aroon indicator is analyzed in details, and two different versions of the code are presented.
![MQL5 Cookbook: Monitoring Multiple Time Frames in a Single Window](https://c.mql5.com/2/0/avatar__9.png)
![MQL5 Cookbook: Monitoring Multiple Time Frames in a Single Window](https://c.mql5.com/i/articles/overlay.png)
MQL5 Cookbook: Monitoring Multiple Time Frames in a Single Window
There are 21 time frames available in MetaTrader 5 for analysis. You can take advantage of special chart objects that you can place on the existing chart and set the symbol, time frame and some other properties right there. This article will provide detailed information on such chart graphical objects: we will create an indicator with controls (buttons) that will allow us to set multiple chart objects in a subwindow at the same time. Furthermore, chart objects will accurately fit in the subwindow and will be automatically adjusted when the main chart or terminal window is resized.
![Creating Tick Indicators in MQL5](https://c.mql5.com/2/0/Untitled7.png)
![Creating Tick Indicators in MQL5](https://c.mql5.com/i/articles/overlay.png)
Creating Tick Indicators in MQL5
In this article, we will consider the creation of two indicators: the tick indicator, which plots the tick chart of the price and tick candle indicator, which plot candles with the specified number of ticks. Each of the indicators writes the incoming prices into a file, and uses the saved data after the restart of the indicator (these data also can be used by the other programs)
![Debugging MQL5 Programs](https://c.mql5.com/2/0/avatar21a.png)
![Debugging MQL5 Programs](https://c.mql5.com/i/articles/overlay.png)
Debugging MQL5 Programs
This article is intended primarily for the programmers who have already learned the language but have not fully mastered the program development yet. It reveals some debugging techniques and presents a combined experience of the author and many other programmers.
![Advanced Adaptive Indicators Theory and Implementation in MQL5](https://c.mql5.com/2/0/Advanced_adaptive_indicators_MQL5.png)
![Advanced Adaptive Indicators Theory and Implementation in MQL5](https://c.mql5.com/i/articles/overlay.png)
Advanced Adaptive Indicators Theory and Implementation in MQL5
This article will describe advanced adaptive indicators and their implementation in MQL5: Adaptive Cyber Cycle, Adaptive Center of Gravity and Adaptive RVI. All indicators were originally presented in "Cybernetic Analysis for Stocks and Futures" by John F. Ehlers.