![MQL5 Cookbook - Pivot trading signals](https://c.mql5.com/2/26/MQL5_recipePivotePoint.png)
![MQL5 Cookbook - Pivot trading signals](https://c.mql5.com/i/articles/overlay.png)
MQL5 Cookbook - Pivot trading signals
The article describes the development and implementation of a class for sending signals based on pivots — reversal levels. This class is used to form a strategy applying the Standard Library. Improving the pivot strategy by adding filters is considered.
![Graphical Interfaces X: Word wrapping algorithm in the Multiline Text box (build 12)](https://c.mql5.com/2/27/MQL5-avatar-RedSquare-001.png)
![Graphical Interfaces X: Word wrapping algorithm in the Multiline Text box (build 12)](https://c.mql5.com/i/articles/overlay.png)
Graphical Interfaces X: Word wrapping algorithm in the Multiline Text box (build 12)
We continue to develop the Multiline Text box control. This time our task is to implement an automatic word wrapping in case a text box width overflow occurs, or a reverse word wrapping of the text to the previous line if the opportunity arises.
![Graphical Interfaces X: Sorting, rebuilding the table and controls in the cells (build 11)](https://c.mql5.com/2/26/MQL5-avatar-X-tableSort-001.png)
![Graphical Interfaces X: Sorting, rebuilding the table and controls in the cells (build 11)](https://c.mql5.com/i/articles/overlay.png)
Graphical Interfaces X: Sorting, rebuilding the table and controls in the cells (build 11)
We continue to add new features to the rendered table: data sorting, managing the number of columns and rows, setting the table cell types to place controls into them.
![Graphical Interfaces X: Updates for the Rendered table and code optimization (build 10)](https://c.mql5.com/2/26/MQL5-avatar-X-Auto-table-001.png)
![Graphical Interfaces X: Updates for the Rendered table and code optimization (build 10)](https://c.mql5.com/i/articles/overlay.png)
Graphical Interfaces X: Updates for the Rendered table and code optimization (build 10)
We continue to complement the Rendered table (CCanvasTable) with new features. The table will now have: highlighting of the rows when hovered; ability to add an array of icons for each cell and a method for switching them; ability to set or modify the cell text during the runtime, and more.
![Graphical interfaces X: New features for the Rendered table (build 9)](https://c.mql5.com/2/26/MQL5-avatar-X-table-003-1.png)
![Graphical interfaces X: New features for the Rendered table (build 9)](https://c.mql5.com/i/articles/overlay.png)
Graphical interfaces X: New features for the Rendered table (build 9)
Until today, the CTable was the most advanced type of tables among all presented in the library. This table is assembled from edit boxes of the OBJ_EDIT type, and its further development becomes problematic. Therefore, in terms of maximum capabilities, it is better to develop rendered tables of the CCanvasTable type even at the current development stage of the library. Its current version is completely lifeless, but starting from this article, we will try to fix the situation.
![Graphical Interfaces X: The Multiline Text box control (build 8)](https://c.mql5.com/2/26/MQL5-avatar-graphic-interface.png)
![Graphical Interfaces X: The Multiline Text box control (build 8)](https://c.mql5.com/i/articles/overlay.png)
Graphical Interfaces X: The Multiline Text box control (build 8)
The Multiline Text box control is discussed. Unlike the graphical objects of the OBJ_EDIT type, the presented version will not have restrictions on the number of input characters. It also adds the mode for turning the text box into a simple text editor, where the cursor can be moved using the mouse or keys.
![Graphical interfaces X: Advanced management of lists and tables. Code optimization (build 7)](https://c.mql5.com/2/25/Graphic-interface_11-2.png)
![Graphical interfaces X: Advanced management of lists and tables. Code optimization (build 7)](https://c.mql5.com/i/articles/overlay.png)
Graphical interfaces X: Advanced management of lists and tables. Code optimization (build 7)
The library code needs to be optimized: it should be more regularized, which is — more readable and comprehensible for studying. In addition, we will continue to develop the controls created previously: lists, tables and scrollbars.
![Graphical Interfaces X: Time control, List of checkboxes control and table sorting (build 6)](https://c.mql5.com/2/25/jxd7fn-zcrx8k35mvp-3ii6s7g5j1-II-001.png)
![Graphical Interfaces X: Time control, List of checkboxes control and table sorting (build 6)](https://c.mql5.com/i/articles/overlay.png)
Graphical Interfaces X: Time control, List of checkboxes control and table sorting (build 6)
Development of the library for creating graphical interfaces continues. The Time and List of checkboxes controls will be covered this time. In addition, the CTable class now provides the ability to sort data in ascending or descending order.
![Graphical Interfaces X: Text Edit box, Picture Slider and simple controls (build 5)](https://c.mql5.com/2/25/Graphic-interface_10__1.png)
![Graphical Interfaces X: Text Edit box, Picture Slider and simple controls (build 5)](https://c.mql5.com/i/articles/overlay.png)
Graphical Interfaces X: Text Edit box, Picture Slider and simple controls (build 5)
This article will consider new controls: Text Edit box, Picture Slider, as well as additional simple controls: Text label and Picture. The library continues to grow, and in addition to introduction of new controls, the previously created ones are also being improved.
![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.
![The 'Turtle Soup' trading system and its 'Turtle Soup Plus One' modification](https://c.mql5.com/2/25/turtles.png)
![The 'Turtle Soup' trading system and its 'Turtle Soup Plus One' modification](https://c.mql5.com/i/articles/overlay.png)
The 'Turtle Soup' trading system and its 'Turtle Soup Plus One' modification
The article features formalized rules of two trading strategies 'Turtle Soup' and 'Turtle Soup Plus One' from Street Smarts: High Probability Short-Term Trading Strategies by Linda Bradford Raschke and Laurence A. Connors. The strategies described in the book are quite popular. But it is important to understand that the authors have developed them based on the 15...20 year old market behavior.
![MQL5 Programming Basics: Global Variables of the MetaTrader 5 Terminal](https://c.mql5.com/2/25/variables.png)
![MQL5 Programming Basics: Global Variables of the MetaTrader 5 Terminal](https://c.mql5.com/i/articles/overlay.png)
MQL5 Programming Basics: Global Variables of the MetaTrader 5 Terminal
Global variables of the terminal provide an indispensable tool for developing sophisticated and reliable Expert Advisors. If you master the global variables, you will no more be able to imagine developing EAs on MQL5 without them.
![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.
![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.
![MQL5 Cookbook - Trading signals of moving channels](https://c.mql5.com/2/24/ava2.png)
![MQL5 Cookbook - Trading signals of moving channels](https://c.mql5.com/i/articles/overlay.png)
MQL5 Cookbook - Trading signals of moving channels
The article describes the process of developing and implementing a class for sending signals based on the moving channels. Each of the signal version is followed by a trading strategy with testing results. Classes of the Standard Library are used for creating derived classes.
![How to copy signals using an EA by your rules?](https://c.mql5.com/2/23/ava__1.png)
![How to copy signals using an EA by your rules?](https://c.mql5.com/i/articles/overlay.png)
How to copy signals using an EA by your rules?
When you subscribe to signals, such situation may occur: your trade account has a leverage of 1:100, the provider has a leverage of 1:500 and trades using the minimal lot, and your trade balances are virtually equal — but the copy ratio will comprise only 10% to 15%. This article describes how to increase the copy rate in such cases.
![Graphical Interfaces X: Updates for Easy And Fast Library (Build 2)](https://c.mql5.com/2/23/Graphic-interface_10.png)
![Graphical Interfaces X: Updates for Easy And Fast Library (Build 2)](https://c.mql5.com/i/articles/overlay.png)
Graphical Interfaces X: Updates for Easy And Fast Library (Build 2)
Since the publication of the previous article in the series, Easy And Fast library has received some new features. The library structure and code have been partially optimized slightly reducing CPU load. Some recurring methods in many control classes have been moved to the CElement base class.
![Graphical Interfaces IX: The Progress Bar and Line Chart Controls (Chapter 2)](https://c.mql5.com/2/23/IX__1.png)
![Graphical Interfaces IX: The Progress Bar and Line Chart Controls (Chapter 2)](https://c.mql5.com/i/articles/overlay.png)
Graphical Interfaces IX: The Progress Bar and Line Chart Controls (Chapter 2)
The second chapter of the part nine is dedicated to the progress bar and line chart controls. As always, there will be detailed examples provided to reveal how these controls can be used in custom MQL applications.
![Graphical Interfaces IX: The Color Picker Control (Chapter 1)](https://c.mql5.com/2/23/IX.png)
![Graphical Interfaces IX: The Color Picker Control (Chapter 1)](https://c.mql5.com/i/articles/overlay.png)
Graphical Interfaces IX: The Color Picker Control (Chapter 1)
With this article we begin chapter nine of series of articles dedicated to creating graphical interfaces in MetaTrader trading terminals. It consists of two chapters where new elements of controls and interface, such as color picker, color button, progress bar and line chart are presented.
![Graphical Interfaces VIII: the File Navigator Control (Chapter 3)](https://c.mql5.com/2/23/av8__2.png)
![Graphical Interfaces VIII: the File Navigator Control (Chapter 3)](https://c.mql5.com/i/articles/overlay.png)
Graphical Interfaces VIII: the File Navigator Control (Chapter 3)
In the previous chapters of the eighth part of the series, our library has been reinforced by several classes for developing mouse pointers, calendars and tree views. The current article deals with the file navigator control that can also be used as part of an MQL application graphical interface.
![Graphical Interfaces VIII: The Tree View Control (Chapter 2)](https://c.mql5.com/2/23/av8__1.png)
![Graphical Interfaces VIII: The Tree View Control (Chapter 2)](https://c.mql5.com/i/articles/overlay.png)
Graphical Interfaces VIII: The Tree View Control (Chapter 2)
The previous chapter of part VIII on graphical interfaces has focused on the elements of static and drop-down calendar. The second chapter will be dedicated to an equally complex element — a tree view, that is included in every complete library used for creating graphical interfaces. A tree view implemented in this article contains multiple flexible settings and modes, thus allowing to adjust this element of control to your needs.
![Graphical Interfaces VIII: The Calendar Control (Chapter 1)](https://c.mql5.com/2/23/av8.png)
![Graphical Interfaces VIII: The Calendar Control (Chapter 1)](https://c.mql5.com/i/articles/overlay.png)
Graphical Interfaces VIII: The Calendar Control (Chapter 1)
In the part VIII of the series of articles dedicated to creating graphical interfaces in MetaTrader, we will consider complex composite controls like calendars, tree view, and file navigator. Due to the large amount of information, there are separate articles written for every subject. The first chapter of this part describes the calendar control and its expanded version — a drop down calendar.
![Graphical Interfaces VII: The Tabs Control (Chapter 2)](https://c.mql5.com/2/23/avatar-vii__1.png)
![Graphical Interfaces VII: The Tabs Control (Chapter 2)](https://c.mql5.com/i/articles/overlay.png)
Graphical Interfaces VII: The Tabs Control (Chapter 2)
The first chapter of seventh part introduced three classes of controls for creating tables: text label table (CLabelsTable), edit box table (CTable) and rendered table (CCanvasTable). In this article (chapter two) we are going to consider the Tabs control.
![Graphical Interfaces VII: the Tables Controls (Chapter 1)](https://c.mql5.com/2/23/avatar-vii.png)
![Graphical Interfaces VII: the Tables Controls (Chapter 1)](https://c.mql5.com/i/articles/overlay.png)
Graphical Interfaces VII: the Tables Controls (Chapter 1)
The seventh part of the series on MetaTrader graphical interfaces deals with three table types: text label, edit box and rendered one. Another important and frequently used controls are tabs allowing you to show/hide groups of other controls and develop space effective interfaces in your MQL applications.
![Universal Expert Advisor: Integration with Standard MetaTrader Modules of Signals (Part 7)](https://c.mql5.com/2/23/zapvwy5wjkj_54w2.png)
![Universal Expert Advisor: Integration with Standard MetaTrader Modules of Signals (Part 7)](https://c.mql5.com/i/articles/overlay.png)
Universal Expert Advisor: Integration with Standard MetaTrader Modules of Signals (Part 7)
This part of the article describes the possibilities of the CStrategy engine integration with the signal modules included into the standard library in MetaTrader. The article describes how to work with signals, as well as how to create custom strategies on their basis.
![Working with sockets in MQL, or How to become a signal provider](https://c.mql5.com/2/23/server_client_exchange.png)
![Working with sockets in MQL, or How to become a signal provider](https://c.mql5.com/i/articles/overlay.png)
Working with sockets in MQL, or How to become a signal provider
Sockets… What in our IT world could possibly exist without them? Dating back to 1982, and hardly changed up to the present time, they smoothly work for us every second. This is the foundation of network, the nerve endings of the Matrix we all live in.
![Regular expressions for traders](https://c.mql5.com/2/23/ava.png)
![Regular expressions for traders](https://c.mql5.com/i/articles/overlay.png)
Regular expressions for traders
A regular expression is a special language for handling texts by applying a specified rule, also called a regex or regexp for short. In this article, we are going to show how to handle a trade report with the RegularExpressions library for MQL5, and will also demonstrate the optimization results after using it.
![Creating a trading robot for Moscow Exchange. Where to start?](https://c.mql5.com/2/23/expert-moex-avatar.png)
![Creating a trading robot for Moscow Exchange. Where to start?](https://c.mql5.com/i/articles/overlay.png)
Creating a trading robot for Moscow Exchange. Where to start?
Many traders on Moscow Exchange would like to automate their trading algorithms, but they do not know where to start. The MQL5 language offers a huge range of trading functions, and it additionally provides ready classes that help users to make their first steps in algo trading.
![Creating an assistant in manual trading](https://c.mql5.com/2/23/panel__1.png)
![Creating an assistant in manual trading](https://c.mql5.com/i/articles/overlay.png)
Creating an assistant in manual trading
The number of trading robots used on the currency markets has significantly increased recently. They employ various concepts and strategies, however, none of them has yet succeeded to create a win-win sample of artificial intelligence. Therefore, many traders remain committed to manual trading. But even for such specialists, robotic assistants or, so called, trading panels, are created. This article is yet another example of creating a trading panel from scratch.
![Universal Expert Advisor: A Custom Trailing Stop (Part 6)](https://c.mql5.com/2/23/63vov3f0bdp_1sl2.png)
![Universal Expert Advisor: A Custom Trailing Stop (Part 6)](https://c.mql5.com/i/articles/overlay.png)
Universal Expert Advisor: A Custom Trailing Stop (Part 6)
The sixth part of the article about the universal Expert Advisor describes the use of the trailing stop feature. The article will guide you through how to create a custom trailing stop module using unified rules, as well as how to add it to the trading engine so that it would automatically manage positions.
![Graphical Interfaces VI: the Slider and the Dual Slider Controls (Chapter 2)](https://c.mql5.com/2/23/avad1j__1.png)
![Graphical Interfaces VI: the Slider and the Dual Slider Controls (Chapter 2)](https://c.mql5.com/i/articles/overlay.png)
Graphical Interfaces VI: the Slider and the Dual Slider Controls (Chapter 2)
In the previous article, we have enriched our library with four controls frequently used in graphical interfaces: checkbox, edit, edit with checkbox and check combobox. The second chapter of the sixth part will be dedicated to the slider and the dual slider controls.
![Graphical Interfaces VI: the Checkbox Control, the Edit Control and their Mixed Types (Chapter 1)](https://c.mql5.com/2/23/avad1j.png)
![Graphical Interfaces VI: the Checkbox Control, the Edit Control and their Mixed Types (Chapter 1)](https://c.mql5.com/i/articles/overlay.png)
Graphical Interfaces VI: the Checkbox Control, the Edit Control and their Mixed Types (Chapter 1)
This article is the beginning of the sixth part of the series dedicated to the development of the library for creating graphical interfaces in the MetaTrader terminals. In the first chapter, we are going to discuss the checkbox control, the edit control and their mixed types.
![Universal Expert Advisor: Pending Orders and Hedging Support (Part 5)](https://c.mql5.com/2/22/xmz7zeb9vyt_ftv2.png)
![Universal Expert Advisor: Pending Orders and Hedging Support (Part 5)](https://c.mql5.com/i/articles/overlay.png)
Universal Expert Advisor: Pending Orders and Hedging Support (Part 5)
This article provides further description of the CStrategy trading engine. By popular demand of users, we have added pending order support functions to the trading engine. Also, the latest version of the MetaTrader 5 now supports accounts with the hedging option. The same support has been added to CStrategy. The article provides a detailed description of algorithms for the use of pending orders, as well as of CStrategy operation principles on accounts with the hedging option enabled.
![Graphical Interfaces V: The Combobox Control (Chapter 3)](https://c.mql5.com/2/22/v-avatar__1.png)
![Graphical Interfaces V: The Combobox Control (Chapter 3)](https://c.mql5.com/i/articles/overlay.png)
Graphical Interfaces V: The Combobox Control (Chapter 3)
In the first two chapters of the fifth part of the series, we developed classes for creating a scrollbar and a view list. In this chapter, we will speak about creating a class for the combobox control. This is also a compound control containing, among others, elements considered in the previous chapters of the fifth part.
![Self-organizing feature maps (Kohonen maps) - revisiting the subject](https://c.mql5.com/2/20/jursbu_z7z.png)
![Self-organizing feature maps (Kohonen maps) - revisiting the subject](https://c.mql5.com/i/articles/overlay.png)
Self-organizing feature maps (Kohonen maps) - revisiting the subject
This article describes techniques of operating with Kohonen maps. The subject will be of interest to both market researchers with basic level of programing in MQL4 and MQL5 and experienced programmers that face difficulties with connecting Kohonen maps to their projects.
![Universal Expert Advisor: Trading in a Group and Managing a Portfolio of Strategies (Part 4)](https://c.mql5.com/2/21/yrg4e17llif_3ae2.png)
![Universal Expert Advisor: Trading in a Group and Managing a Portfolio of Strategies (Part 4)](https://c.mql5.com/i/articles/overlay.png)
Universal Expert Advisor: Trading in a Group and Managing a Portfolio of Strategies (Part 4)
In the last part of the series of articles about the CStrategy trading engine, we will consider simultaneous operation of multiple trading algorithms, will learn to load strategies from XML files, and will present a simple panel for selecting Expert Advisors from a single executable module, and managing their trading modes.
![Graphical Interfaces V: The List View Element (Chapter 2)](https://c.mql5.com/2/22/v-avatar.png)
![Graphical Interfaces V: The List View Element (Chapter 2)](https://c.mql5.com/i/articles/overlay.png)
Graphical Interfaces V: The List View Element (Chapter 2)
In the previous chapter, we wrote classes for creating vertical and horizontal scrollbars. In this chapter, we will implement them. We will write a class for creating the list view element, a compound part of which will be a vertical scrollbar.
![Graphical Interfaces V: The Vertical and Horizontal Scrollbar (Chapter 1)](https://c.mql5.com/2/22/v-avatar__2.png)
![Graphical Interfaces V: The Vertical and Horizontal Scrollbar (Chapter 1)](https://c.mql5.com/i/articles/overlay.png)
Graphical Interfaces V: The Vertical and Horizontal Scrollbar (Chapter 1)
We are still discussing the development of the library for creating graphical interfaces in the MetaTrader environment. In the first article of the fifth part of the series, we will write classes for creating vertical and horizontal scrollbars.
![Graphical Interfaces IV: the Multi-Window Mode and System of Priorities (Chapter 2)](https://c.mql5.com/2/22/iv-avatar__1.png)
![Graphical Interfaces IV: the Multi-Window Mode and System of Priorities (Chapter 2)](https://c.mql5.com/i/articles/overlay.png)
Graphical Interfaces IV: the Multi-Window Mode and System of Priorities (Chapter 2)
In this chapter, we will extend the library implementation to the possibility of creating multi-window interfaces for the MQL applications. We will also develop a system of priorities for left mouse clicking on graphical objects. This is required to avoid problems when elements do not respond to the user's actions.