![MQL5 Cookbook: Writing the History of Deals to a File and Creating Balance Charts for Each Symbol in Excel](https://c.mql5.com/2/0/avatar11.png)
![MQL5 Cookbook: Writing the History of Deals to a File and Creating Balance Charts for Each Symbol in Excel](https://c.mql5.com/i/articles/overlay.png)
MQL5 Cookbook: Writing the History of Deals to a File and Creating Balance Charts for Each Symbol in Excel
When communicating in various forums, I often used examples of my test results displayed as screenshots of Microsoft Excel charts. I have many times been asked to explain how such charts can be created. Finally, I now have some time to explain it all in this article.
![Another MQL5 OOP Class](https://c.mql5.com/2/0/hand.png)
![Another MQL5 OOP Class](https://c.mql5.com/i/articles/overlay.png)
Another MQL5 OOP Class
This article shows you how to build an Object-Oriented Expert Advisor from scratch, from conceiving a theoretical trading idea to programming a MQL5 EA that makes that idea real in the empirical world. Learning by doing is IMHO a solid approach to succeed, so I am showing a practical example in order for you to see how you can order your ideas to finally code your Forex robots. My goal is also to invite you to adhere the OO principles.
![MQL5 Cookbook: Developing a Multi-Currency Expert Advisor with Unlimited Number of Parameters](https://c.mql5.com/2/0/avatar__5.png)
![MQL5 Cookbook: Developing a Multi-Currency Expert Advisor with Unlimited Number of Parameters](https://c.mql5.com/i/articles/overlay.png)
MQL5 Cookbook: Developing a Multi-Currency Expert Advisor with Unlimited Number of Parameters
In this article, we will create a pattern that uses a single set of parameters for optimization of a trading system, while allowing for unlimited number of parameters. The list of symbols will be created in a standard text file (*.txt). Input parameters for each symbol will also be stored in files. This way we will be able to circumvent the restriction of the terminal on the number of input parameters of an Expert Advisor.
![MQL5 Cookbook: Multi-Currency Expert Advisor - Simple, Neat and Quick Approach](https://c.mql5.com/2/0/avatar__3.png)
![MQL5 Cookbook: Multi-Currency Expert Advisor - Simple, Neat and Quick Approach](https://c.mql5.com/i/articles/overlay.png)
MQL5 Cookbook: Multi-Currency Expert Advisor - Simple, Neat and Quick Approach
This article will describe an implementation of a simple approach suitable for a multi-currency Expert Advisor. This means that you will be able to set up the Expert Advisor for testing/trading under identical conditions but with different parameters for each symbol. As an example, we will create a pattern for two symbols but in such a way so as to be able to add additional symbols, if necessary, by making small changes to the code.
![MQL5 Cookbook: Developing a Framework for a Trading System Based on the Triple Screen Strategy](https://c.mql5.com/2/0/avatar__2.png)
![MQL5 Cookbook: Developing a Framework for a Trading System Based on the Triple Screen Strategy](https://c.mql5.com/i/articles/overlay.png)
MQL5 Cookbook: Developing a Framework for a Trading System Based on the Triple Screen Strategy
In this article, we will develop a framework for a trading system based on the Triple Screen strategy in MQL5. The Expert Advisor will not be developed from scratch. Instead, we will simply modify the program from the previous article "MQL5 Cookbook: Using Indicators to Set Trading Conditions in Expert Advisors" which already substantially serves our purpose. So the article will also demonstrate how you can easily modify patterns of ready-made programs.
![MQL5 Cookbook: Using Indicators to Set Trading Conditions in Expert Advisors](https://c.mql5.com/2/0/Avatar__1.png)
![MQL5 Cookbook: Using Indicators to Set Trading Conditions in Expert Advisors](https://c.mql5.com/i/articles/overlay.png)
MQL5 Cookbook: Using Indicators to Set Trading Conditions in Expert Advisors
In this article, we will continue to modify the Expert Advisor we have been working on throughout the preceding articles of the MQL5 Cookbook series. This time, the Expert Advisor will be enhanced with indicators whose values will be used to check position opening conditions. To spice it up, we will create a drop-down list in the external parameters to be able to select one out of three trading indicators.
![MQL5 Cookbook: The History of Deals And Function Library for Getting Position Properties](https://c.mql5.com/2/0/avatar-history.png)
![MQL5 Cookbook: The History of Deals And Function Library for Getting Position Properties](https://c.mql5.com/i/articles/overlay.png)
MQL5 Cookbook: The History of Deals And Function Library for Getting Position Properties
It is time to briefly summarize the information provided in the previous articles on position properties. In this article, we will create a few additional functions to get the properties that can only be obtained after accessing the history of deals. We will also get familiar with data structures that will allow us to access position and symbol properties in a more convenient way.
![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.
![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.
![MQL5 Cookbook: How to Avoid Errors When Setting/Modifying Trade Levels](https://c.mql5.com/2/0/avatar1.png)
![MQL5 Cookbook: How to Avoid Errors When Setting/Modifying Trade Levels](https://c.mql5.com/i/articles/overlay.png)
MQL5 Cookbook: How to Avoid Errors When Setting/Modifying Trade Levels
In continuation of our work on the Expert Advisor from the previous article of the series called "MQL5 Cookbook: Analyzing Position Properties in the MetaTrader 5 Strategy Tester", we will enhance it with a whole lot of useful functions, as well as improve and optimize the existing ones. The Expert Advisor will this time have external parameters that can be optimized in the MetaTrader 5 Strategy Tester and will in some ways resemble a simple trading system.
![MQL5 Cookbook: Analyzing Position Properties in the MetaTrader 5 Strategy Tester](https://c.mql5.com/2/0/Avatar_Recipes_tester.png)
![MQL5 Cookbook: Analyzing Position Properties in the MetaTrader 5 Strategy Tester](https://c.mql5.com/i/articles/overlay.png)
MQL5 Cookbook: Analyzing Position Properties in the MetaTrader 5 Strategy Tester
We will present a modified version of the Expert Advisor from the previous article "MQL5 Cookbook: Position Properties on the Custom Info Panel". Some of the issues we will address include getting data from bars, checking for new bar events on the current symbol, including a trade class of the Standard Library to a file, creating a function to search for trading signals and a function for executing trading operations, as well as determining trade events in the OnTrade() function.
![MQL5 Cookbook: Position Properties on the Custom Info Panel](https://c.mql5.com/2/0/Info-Panel-avatar.png)
![MQL5 Cookbook: Position Properties on the Custom Info Panel](https://c.mql5.com/i/articles/overlay.png)
MQL5 Cookbook: Position Properties on the Custom Info Panel
This time we will create a simple Expert Advisor that will get position properties on the current symbol and display them on the custom info panel during manual trading. The info panel will be created using graphical objects and displayed information will be refreshed at every tick. This is going to be much more convenient than all the time having to manually run the script described in the previous article of the series called "MQL5 Cookbook: Getting Position Properties".
![Change Expert Advisor Parameters From the User Panel "On the Fly"](https://c.mql5.com/2/0/avatar__24.png)
![Change Expert Advisor Parameters From the User Panel "On the Fly"](https://c.mql5.com/i/articles/overlay.png)
Change Expert Advisor Parameters From the User Panel "On the Fly"
This article provides a small example demonstrating the implementation of an Expert Advisor whose parameters can be controlled from the user panel. When changing the parameters "on the fly", the Expert Advisor writes the values obtained from the info panel to a file to further read them from the file and display accordingly on the panel. This article may be relevant to those who trade manually or in semi-automatic mode.
![Order Strategies. Multi-Purpose Expert Advisor](https://c.mql5.com/2/0/conveyor_ava.png)
![Order Strategies. Multi-Purpose Expert Advisor](https://c.mql5.com/i/articles/overlay.png)
Order Strategies. Multi-Purpose Expert Advisor
This article centers around strategies that actively use pending orders, a metalanguage that can be created to formally describe such strategies and the use of a multi-purpose Expert Advisor whose operation is based on those descriptions
![Neural Networks: From Theory to Practice](https://c.mql5.com/2/0/ava_seti.png)
![Neural Networks: From Theory to Practice](https://c.mql5.com/i/articles/overlay.png)
Neural Networks: From Theory to Practice
Nowadays, every trader must have heard of neural networks and knows how cool it is to use them. The majority believes that those who can deal with neural networks are some kind of superhuman. In this article, I will try to explain to you the neural network architecture, describe its applications and show examples of practical use.
![How Secure Is It to Buy MQL5 Market Products?](https://c.mql5.com/2/0/avatar__18.png)
![How Secure Is It to Buy MQL5 Market Products?](https://c.mql5.com/i/articles/overlay.png)
How Secure Is It to Buy MQL5 Market Products?
We have launched the service for selling MetaTrader 5 trading applications paying much attention to security issues. We have minimized all associated risks to allow you to concentrate on more important matters - searching for the most suitable trading robot!
![Quick Start: Short Guide for Beginners](https://c.mql5.com/2/0/start_ava.png)
![Quick Start: Short Guide for Beginners](https://c.mql5.com/i/articles/overlay.png)
Quick Start: Short Guide for Beginners
Hello dear reader! In this article, I will try to explain and show you how you can easily and quickly get the hang of the principles of creating Expert Advisors, working with indicators, etc. It is beginner-oriented and will not feature any difficult or abstruse examples.
![Trade Operations in MQL5 - It's Easy](https://c.mql5.com/2/0/egg.png)
![Trade Operations in MQL5 - It's Easy](https://c.mql5.com/i/articles/overlay.png)
Trade Operations in MQL5 - It's Easy
Almost all traders come to market to make money but some traders also enjoy the process itself. However, it is not only manual trading that can provide you with an exciting experience. Automated trading systems development can also be quite absorbing. Creating a trading robot can be as interesting as reading a good mystery novel.
![Application of the Eigen-Coordinates Method to Structural Analysis of Nonextensive Statistical Distributions](https://c.mql5.com/2/0/Eigencoordinates_Nonextensive_Statistical_Distributions_MQL5.png)
![Application of the Eigen-Coordinates Method to Structural Analysis of Nonextensive Statistical Distributions](https://c.mql5.com/i/articles/overlay.png)
Application of the Eigen-Coordinates Method to Structural Analysis of Nonextensive Statistical Distributions
The major problem of applied statistics is the problem of accepting statistical hypotheses. It was long considered impossible to be solved. The situation has changed with the emergence of the eigen-coordinates method. It is a fine and powerful tool for a structural study of a signal allowing to see more than what is possible using methods of modern applied statistics. The article focuses on practical use of this method and sets forth programs in MQL5. It also deals with the problem of function identification using as an example the distribution introduced by Hilhorst and Schehr.
![AutoElliottWaveMaker - MetaTrader 5 Tool for Semi-Automatic Analysis of Elliott Waves](https://c.mql5.com/2/0/ElliottWaveMaker2_0.png)
![AutoElliottWaveMaker - MetaTrader 5 Tool for Semi-Automatic Analysis of Elliott Waves](https://c.mql5.com/i/articles/overlay.png)
AutoElliottWaveMaker - MetaTrader 5 Tool for Semi-Automatic Analysis of Elliott Waves
The article provides a review of AutoElliottWaveMaker - the first development for Elliott Wave analysis in MetaTrader 5 that represents a combination of manual and automatic wave labeling. The wave analysis tool is written exclusively in MQL5 and does not include external dll libraries. This is another proof that sophisticated and interesting programs can (and should) be developed in MQL5.
![How to Develop an Expert Advisor using UML Tools](https://c.mql5.com/2/0/MQL5_UML_modelling.png)
![How to Develop an Expert Advisor using UML Tools](https://c.mql5.com/i/articles/overlay.png)
How to Develop an Expert Advisor using UML Tools
This article discusses creation of Expert Advisors using the UML graphical language, which is used for visual modeling of object-oriented software systems. The main advantage of this approach is the visualization of the modeling process. The article contains an example that shows modeling of the structure and properties of an Expert Advisor using the Software Ideas Modeler.
![Simple Trading Systems Using Semaphore Indicators](https://c.mql5.com/2/0/Semafor.png)
![Simple Trading Systems Using Semaphore Indicators](https://c.mql5.com/i/articles/overlay.png)
Simple Trading Systems Using Semaphore Indicators
If we thoroughly examine any complex trading system, we will see that it is based on a set of simple trading signals. Therefore, there is no need for novice developers to start writing complex algorithms immediately. This article provides an example of a trading system that uses semaphore indicators to perform deals.
![Trademinator 3: Rise of the Trading Machines](https://c.mql5.com/2/0/Terminator_3_Rise_of_the_Machines.png)
![Trademinator 3: Rise of the Trading Machines](https://c.mql5.com/i/articles/overlay.png)
Trademinator 3: Rise of the Trading Machines
In the article "Dr. Tradelove..." we created an Expert Advisor, which independently optimizes parameters of a pre-selected trading system. Moreover, we decided to create an Expert Advisor that can not only optimize parameters of one trading system underlying the EA, but also select the best one of several trading systems. Let's see what can come of it...
![Creating Expert Advisors Using Expert Advisor Visual Wizard](https://c.mql5.com/2/0/Expert_Advisor_Visual_Wizard.png)
![Creating Expert Advisors Using Expert Advisor Visual Wizard](https://c.mql5.com/i/articles/overlay.png)
Creating Expert Advisors Using Expert Advisor Visual Wizard
Expert Advisor Visual Wizard for MetaTrader 5 provides a highly intuitive graphical environment with a comprehensive set of predefined trading blocks that let you design Expert Advisors in minutes. The click, drag and drop approach of Expert Advisor Visual Wizard allows you to create visual representations of forex trading strategies and signals as you would with pencil and paper. These trading diagrams are analyzed automatically by Molanis’ MQL5 code generator that transforms them into ready to use Expert Advisors. The interactive graphical environment simplifies the design process and eliminates the need to write MQL5 code.
![Dr. Tradelove or How I Stopped Worrying and Created a Self-Training Expert Advisor](https://c.mql5.com/2/0/smart_EA.png)
![Dr. Tradelove or How I Stopped Worrying and Created a Self-Training Expert Advisor](https://c.mql5.com/i/articles/overlay.png)
Dr. Tradelove or How I Stopped Worrying and Created a Self-Training Expert Advisor
Just over a year ago joo, in his article "Genetic Algorithms - It's Easy!", gave us a tool for implementation of the genetic algorithm in MQL5. Now utilizing the tool we will create an Expert Advisor that will genetically optimize its own parameters upon certain boundary conditions...
![Creating MQL5 Expert Advisors in minutes using EA Tree: Part One](https://c.mql5.com/2/0/EA_Tree_Expert_Advisor_Builder.png)
![Creating MQL5 Expert Advisors in minutes using EA Tree: Part One](https://c.mql5.com/i/articles/overlay.png)
Creating MQL5 Expert Advisors in minutes using EA Tree: Part One
EA Tree is the first drag and drop MetaTrader MQL5 Expert Advisor builder. You can create complex MQL5 using a very easy to use graphical user interface. In EA Tree, Expert Advisors are created by connecting boxes together. Boxes may contain MQL5 functions, technical indicators, custom indicators, or values. Using the "tree of boxes", EA Tree generates the MQL5 code of the Expert Advisor.
![Using Self-Organizing Feature Maps (Kohonen Maps) in MetaTrader 5](https://c.mql5.com/2/0/Self_organizing_maps_in_MQL5.png)
![Using Self-Organizing Feature Maps (Kohonen Maps) in MetaTrader 5](https://c.mql5.com/i/articles/overlay.png)
Using Self-Organizing Feature Maps (Kohonen Maps) in MetaTrader 5
One of the most interesting aspects of Self-Organizing Feature Maps (Kohonen maps) is that they learn to classify data without supervision. In its basic form it produces a similarity map of input data (clustering). The SOM maps can be used for classification and visualizing of high-dimensional data. In this article we will consider several simple applications of Kohonen maps.
![The Fundamentals of Testing in MetaTrader 5](https://c.mql5.com/2/68/midjourney_image_239_100_922_3_600x314.jpg)
The Fundamentals of Testing in MetaTrader 5
What are the differences between the three modes of testing in MetaTrader 5, and what should be particularly looked for? How does the testing of an EA, trading simultaneously on multiple instruments, take place? When and how are the indicator values calculated during testing, and how are the events handled? How to synchronize the bars from different instruments during testing in an "open prices only" mode? This article aims to provide answers to these and many other questions.
![MQL5 Wizard: New Version](https://c.mql5.com/2/0/New_Master_MQL5.png)
![MQL5 Wizard: New Version](https://c.mql5.com/i/articles/overlay.png)
MQL5 Wizard: New Version
The article contains descriptions of the new features available in the updated MQL5 Wizard. The modified architecture of signals allow creating trading robots based on the combination of various market patterns. The example contained in the article explains the procedure of interactive creation of an Expert Advisor.
![The Indicators of the Micro, Middle and Main Trends](https://c.mql5.com/2/0/three_degrees_of_trend.png)
![The Indicators of the Micro, Middle and Main Trends](https://c.mql5.com/i/articles/overlay.png)
The Indicators of the Micro, Middle and Main Trends
The aim of this article is to investigate the possibilities of trade automation and the analysis, on the basis of some ideas from a book by James Hyerczyk "Pattern, Price & Time: Using Gann Theory in Trading Systems" in the form of indicators and Expert Advisor. Without claiming to be exhaustive, here we investigate only the Model - the first part of the Gann theory.
![Parallel Calculations in MetaTrader 5](https://c.mql5.com/2/0/parallel.png)
![Parallel Calculations in MetaTrader 5](https://c.mql5.com/i/articles/overlay.png)
Parallel Calculations in MetaTrader 5
Time has been a great value throughout the history of mankind, and we strive not to waste it unnecessarily. This article will tell you how to accelerate the work of your Expert Advisor if your computer has a multi-core processor. Moreover, the implementation of the proposed method does not require the knowledge of any other languages besides MQL5.
![Connecting NeuroSolutions Neuronets](https://c.mql5.com/2/0/neural_DLL.png)
![Connecting NeuroSolutions Neuronets](https://c.mql5.com/i/articles/overlay.png)
Connecting NeuroSolutions Neuronets
In addition to creation of neuronets, the NeuroSolutions software suite allows exporting them as DLLs. This article describes the process of creating a neuronet, generating a DLL and connecting it to an Expert Advisor for trading in MetaTrader 5.
![MQL5 Wizard: How to Create a Module of Trailing of Open Positions](https://c.mql5.com/2/0/MQL5_Wizard_Trailing_Stop__1.png)
![MQL5 Wizard: How to Create a Module of Trailing of Open Positions](https://c.mql5.com/i/articles/overlay.png)
MQL5 Wizard: How to Create a Module of Trailing of Open Positions
The generator of trade strategies MQL5 Wizard greatly simplifies the testing of trading ideas. The article discusses how to write and connect to the generator of trade strategies MQL5 Wizard your own class of managing open positions by moving the Stop Loss level to a lossless zone when the price goes in the position direction, allowing to protect your profit decrease drawdowns when trading. It also tells about the structure and format of the description of the created class for the MQL5 Wizard.
![MQL5 Wizard: How to Create a Risk and Money Management Module](https://c.mql5.com/2/0/CMoney_MQL5.png)
![MQL5 Wizard: How to Create a Risk and Money Management Module](https://c.mql5.com/i/articles/overlay.png)
MQL5 Wizard: How to Create a Risk and Money Management Module
The generator of trading strategies of the MQL5 Wizard greatly simplifies testing of trading ideas. The article describes how to develop a custom risk and money management module and enable it in the MQL5 Wizard. As an example we've considered a money management algorithm, in which the size of the trade volume is determined by the results of the previous deal. The structure and format of description of the created class for the MQL5 Wizard are also discussed in the article.
![Creating Multi-Expert Advisors on the basis of Trading Models](https://c.mql5.com/2/0/Multi_Expert_Advisor_MQL5__1.png)
![Creating Multi-Expert Advisors on the basis of Trading Models](https://c.mql5.com/i/articles/overlay.png)
Creating Multi-Expert Advisors on the basis of Trading Models
Using the object-oriented approach in MQL5 greatly simplifies the creation of multi-currency/multi-system /multi-time-frame Expert Advisors. Just imagine, your single EA trades on several dozens of trading strategies, on all of the available instruments, and on all of the possible time frames! In addition, the EA is easily tested in the tester, and for all of the strategies, included in its composition, it has one or several working systems of money management.
![MQL5 Wizard: How to Create a Module of Trading Signals](https://c.mql5.com/2/0/MQL5_CExpertSignal.png)
![MQL5 Wizard: How to Create a Module of Trading Signals](https://c.mql5.com/i/articles/overlay.png)
MQL5 Wizard: How to Create a Module of Trading Signals
The article discusses how to write your own class of trading signals with the implementation of signals on the crossing of the price and the moving average, and how to include it to the generator of trading strategies of the MQL5 Wizard, as well as describes the structure and format of the description of the generated class for the MQL5 Wizard.
![MQL5 Wizard: Creating Expert Advisors without Programming](https://c.mql5.com/2/0/editor_wizard.png)
![MQL5 Wizard: Creating Expert Advisors without Programming](https://c.mql5.com/i/articles/overlay.png)
MQL5 Wizard: Creating Expert Advisors without Programming
Do you want to try out a trading strategy while wasting no time for programming? In MQL5 Wizard you can simply select the type of trading signals, add modules of trailing positions and money management - and your work is done! Create your own implementations of modules or order them via the Jobs service - and combine your new modules with existing ones.
![Simulink: a Guide for the Developers of Expert Advisors](https://c.mql5.com/2/0/Simulink_MQL5__1.png)
![Simulink: a Guide for the Developers of Expert Advisors](https://c.mql5.com/i/articles/overlay.png)
Simulink: a Guide for the Developers of Expert Advisors
I am not a professional programmer. And thus, the principle of "going from the simple to the complex" is of primary importance to me when I am working on trading system development. What exactly is simple for me? First of all, it is the visualization of the process of creating the system, and the logic of its work. Also, it is a minimum of handwritten code. In this article, I will attempt to create and test the trading system, based on a Matlab package, and then write an Expert Advisor for MetaTrader 5. The historical data from MetaTrader 5 will be used for the testing process.
![The Use of the MQL5 Standard Trade Class libraries in writing an Expert Advisor](https://c.mql5.com/2/0/Trade_Classes_Stdlib_MQL5.png)
![The Use of the MQL5 Standard Trade Class libraries in writing an Expert Advisor](https://c.mql5.com/i/articles/overlay.png)
The Use of the MQL5 Standard Trade Class libraries in writing an Expert Advisor
This article explains how to use the major functionalities of the MQL5 Standard Library Trade Classes in writing Expert Advisors which implements position closing and modifying, pending order placing and deletion and verifying of Margin before placing a trade. We have also demonstrated how Trade classes can be used to obtain order and deal details.
![Building interactive semi-automatic drag-and-drop Expert Advisor based on predefined risk and R/R ratio](https://c.mql5.com/2/0/z5491084X.png)
![Building interactive semi-automatic drag-and-drop Expert Advisor based on predefined risk and R/R ratio](https://c.mql5.com/i/articles/overlay.png)
Building interactive semi-automatic drag-and-drop Expert Advisor based on predefined risk and R/R ratio
Some traders execute all their trades automatically, and some mix automatic and manual trades based on the output of several indicators. Being a member of the latter group I needed an interactive tool to asses dynamically risk and reward price levels directly from the chart. This article will present a way to implement an interactive semi-automatic Expert Advisor with predefined equity risk and R/R ratio. The Expert Advisor risk, R/R and lot size parameters can be changed during runtime on the EA panel.