A years backtest with M1 historical data executes the strategy about 3 million times. If a C-written strategy needs 1 minute for this, the same strategy in EasyLanguage would need about 30 minutes, in Python 2 hours, and in R more than 10 hours!
It may become necessary to write information in a file or to read it from a file for several reasons. A file can be used to deliver information to another program. In this case, the file can be created by an application program and used by it as an information receiver.
For example, the trading history of an account can be written to a file at the execution of an application. This file can be later opened by another program e. In other cases, there is a need to deliver some information, for example, the news timetable, to an application.
An executable program e. File Names and Directories The name of a working file must be composed according to the requirements of the operating system. The name of any file used in MQL4 consists of two parts: Technically, a file name has no relation to the file content, so a file name and extension can be set voluntarily by the programmer.
A file name is usually chosen so that it represents the information the file contains. Most programs are automatically launched on the user's PC, if the file is double-clicked with the mouse button.
According to the file extension, the operating environment loads one or another program displaying the file content. Therefore, you should assign the file extension considering the program if necessary that will usually be used to view the file.
The most popular file types the type is determined by its extension are the following: Internet Explorer, Netscape Navigator, etc. There are three folders with subfolders that can contain working files: A working file can be saved in one of these folders or in their subfolders.
In case of no available folder at the moment of file saving, the folder will be automatically created by the client terminal. Working with files in other directories is not involved. Modes of File Operations The technology of interaction between an application and a working file has several modes.
In general, a file can be opened by several programs at the same time within a PC or several PCs connected to the network. At the same time, the operational environment provides the full access to the file, namely the right to read the file and write the information in it, only to one program.
The other programs can only read it. Dialog box that appears when a program tries to access to the file that has already been opened by another program.
The execution of this technology guaranties that a file won't be modified simultaneously by two different programs. In order to allow an applicable program to interact with a file, you should open that file first.
The mode of opening a file is specified in the FileOpen function. An application program can open several working files at a time. In order to allow the program to differentiate one file from another the file descriptor is set in accordance to every opened file.
File descriptor — unique number of the file that is opened by the program at the moment. The FileOpen function will return some integer value this value is usually assigned to the 'handle' variableif a file is opened successfully.
That value is the file descriptor. Most functions that are intended to work with files suppose the use of a file descriptor as one of the formal parameters. The function returns a file descriptor or -1, in case of failure. It is ';' by default. A trial to open a file in this mode can fail, in case of no available file with the specified name.
A try to open a file in this mode results in opening a file of a zero length. Even if there was some information in the file before opening, it will be erased.Array Functions - MQL4 Reference. Group of Functions for Working with Arrays. Arrays are allowed to be maximum four-dimensional. Each dimension is indexed from 0 to dimension_size In a particular case of a one-dimensional array of 50 elements, calling of the first element will appear as array, of the last one - as array.
For example, there is a double array as below: double PriceHighList,which contains elements.
Now,I want to transfer the data in this array to a file named plombier-nemours.com,and the date should be saved as one element per line in CSV file.
File Functions. This is a group of functions for working with files. For security reasons, work with files is strictly controlled in the MQL4 language. etc. 3). MetaTrader 4 Build with Updated MQL4 Language and Market of Applications Released - MQL4 forum etc. 4). MQL4 Reference. Jan 08, · Is there any frame on the website that fit the description of what i am trying to do?
the write to file functions, would be very useful for the testing of the code. thanks If you don’t know what a variable is then the first thing you should do is and learn the basics of MQL4. An array is really nothing more than a regular variable that can hold multiple values.
Sounds confusing right? It’s really not so stick with me on this one. MQL4 Tutorial – Learn for Free!
In MQL4, it is possible to work with files containing a certain set of information. It may become necessary to write information in a file or to read etc.