How to start with MetaTrader and forex, the beginning - page 12

To add comments, please log in or register
Marco vd Heijden
Moderator
10998
Marco vd Heijden  
mfanafuthindlela:

I don't know how and where here can I start trading

You can start trading directly by clicking here: https://www.mql5.com/en/trading

If you have questions you can try the search function at the top right of the screen, or look it up on Google/Youtube.

MetaTrader 5 Web Platform
MetaTrader 5 Web Platform
  • www.mql5.com
Connect to your account and trade in financial markets directly from your browser
Sergey Golubev
Moderator
110473
Sergey Golubev  

Good article was published - 

----------------

Comparative analysis of 10 flat trading strategies 

Comparative analysis of 10 flat trading strategies

Trend following strategies are very popular and easy-to-use, especially for beginners. However, current markets have become more dynamic, while trend movements are less distinct (in terms of both range and duration). By not using the possibility of trading in flat or sideways markets, we lose potential profits. Trend following trading rules are simple: identify the signs of a trend and try to capitalize on it. Trading in flat periods differs much from that. During sideways movement, the price is in a small range and may stay unchanged for quite a long time. There is no directional movement in the market, and liquidity is low.

Sergey Golubev
Moderator
110473
Sergey Golubev  
Where Do I start from?
https://www.mql5.com/en/forum/212020 
Where Do I start from?
Where Do I start from?
  • 2017.07.25
  • www.mql5.com
Hi fam! Am a total newbie in the forex niche... Just signed up here on this platform... Please where do i start from? I need help...
Sergey Golubev
Moderator
110473
Sergey Golubev  

Using indicators for optimizing Expert Advisors in real time

Using indicators for optimizing Expert Advisors in real time

Every time we launch an Expert Advisor on a chart, we face an issue of selecting optimal parameters providing maximum profitability. To find such parameters, we optimize trading strategy on historical data. However, as you know, the market is in constant motion. Over time, the selected parameters lose their relevance.

Using indicators for optimizing Expert Advisors in real time

Thus, an EA re-optimization is required. This cycle is constant. Every user chooses the moment of re-optimization on their own. But is it possible to automate that process? What are possible solutions? Perhaps, you have already considered a possibility of program control of the standard strategy tester via running the terminal with a custom configuration file. I would like to offer an unconventional approach and assign the tester functions to an indicator.

Platform Start - For Advanced Users - MetaTrader 5
Platform Start - For Advanced Users - MetaTrader 5
  • www.metatrader5.com
After installation, a group of programs of the trading platform is added to the Start menu, and the program shortcut is created on the desktop. Use them to run the platform. Two copies of the platform cannot run from the same directory. If you need to run multiple copies at the same time, install the appropriate number of programs in different...
Sergey Golubev
Moderator
110473
Sergey Golubev  

Just to remind about this good thread - 

Forum on trading, automated trading systems and testing trading strategies

Where Do I start from?

Sergey Golubev, 2018.09.20 15:43

Use tips - the instruction about HowTo

=========

----------------

----------------

----------------


Sergey Golubev
Moderator
110473
Sergey Golubev  
MetaTrader 4 Help
MetaTrader 4 Help
  • www.metatrader4.com
For making a decision to trade, reliable on-line information is necessary. For that, quotes and news are delivered at the terminal in the real-time mode. On basis of on-line delivered quotes, it is possible to analyze markets using technical indicators and line studies. Expert advisors allow to work off routine of observing markets and the own...
Sergey Golubev
Moderator
110473
Sergey Golubev  

Mini Market Emulator or Manual Strategy Tester  


Mini Market Emulator or Manual Strategy Tester

This article is mainly aimed at beginners who cannot wait to trade on a demo account and test their strategies. There are two options here as well:

  • One group wants to try out a studied short-term strategy. But if its members work full time, they are left only with the night hours, because the market is closed on the weekends. 
  • The second category of traders works using medium-term or long-term strategies. They definitely do not want to spend a whole year refining their strategy on a demo account.

Naturally, you might wonder: if there is a history chart where any strategy can be tested quickly and effectively, why are such difficulties needed? In practice, however, this does not always work: it often happens that a strategy with splendid backtest results works very poorly in the "live" market for some reason. At any rate, it is better to learn trading in systems more or less close to the reality. For instance, market emulators are quite sufficient (such programs can be bought on the Internet).

In this article, I want to discuss my own implementation of such a system in MetaTrader 5. I have written the "Mini Market Emulator" indicator with a limited functionality compared to the full version of the terminal. It is designed for theoretical verification of strategies.

ForexWinner81
16
ForexWinner81  
To make money from forex you need to:
1) study
2) use a legit broker where you are in control of your money(hugosway or IC Markets for example, but of course there are plenty)
3) demo
4) if consistent on demo go live!
Sergey Golubev
Moderator
110473
Sergey Golubev  

Forum on trading, automated trading systems and testing trading strategies

MetaTrader 5 Platform Beta Build 1995: Economic Calendar, MQL5 applications as services and R language API

MetaQuotes Software Corp., 2019.02.15 12:49

The beta version of the updated MetaTrader 5 platform will be released on February 15, 2019. We invite traders to join testing and to evaluate updated platform features, as well as help developers fix errors.

To update the MetaTrader 5 platform up to build 1995, navigate to Help \ Check Desktop Updates \ Latest Beta Version:

The final build of the new MetaTrader 5 platform will be released after the completion of public beta testing.

The new version features the following changes:

  1. Terminal: Completely revised built-in Economic Calendar.

    The Economic Calendar is our proprietary solution. Therein you will find over 600 financial news and indicators related to the 13 largest global economies: USA, European Union, Japan, UK, Canada, Australia, China among others. Relevant data is collected from open sources in real time.

    The new version features updated contents and advanced event filters: by time, priority, currencies and countries.

    The possibility to access the calendar data from MQL5 programs will be implemented soon.




  2. Terminal: Added new type of MQL5 applications — Services. This new type enables the creation of custom price feeds for the terminal, i.e. to implement price delivery from external systems in real time, just like it is implemented on brokers' trade servers.

    Unlike Expert Advisors, indicators and scripts, services are not linked to a specific chart. Such applications run in the background and are launched automatically when the terminal is started (unless such an app was forcibly stopped).

    Services can be managed from a new section within the Navigator window:




    How to create services
    To create a service template, use the corresponding MQL5 Wizard option. Services have one OnStart entry point, similar to scripts. At this point, you can implement an endless data receiving and handling cycle using network functions.

    How to launch the services
    To run multiple Expert Advisor or indicator copies with different parameters, you should launch them on different charts. In this case different program instances are created, which then operate independently. Services are not linked to charts, therefore a special mechanism has been implemented for the creation of service instances.

    Select a service from the Navigator and click "Add service" in its context menu. This will open a standard MQL5 program dialog, in which you can enable/disable trading and access to signal settings, as well as set various parameters.




    A service instance can be launched and stopped using the appropriate instance menu. To manage all instances, use the service menu.

  3. Terminal: A learning program has been added.

    The new feature will help beginners in learning how to interact with the platform. We have added over 100 interactive tips concerning the main platform features.

    • Tips are seamlessly displayed as a progress bar on the toolbar and thus they do not distract the user.
    • Tips only appear for the actions which you have never performed in the platform.
    • All tips include interactive links, by which you can navigate to the relevant interface elements. For example, a trading dialog or a menu with the desired program can be launched straight from the tip.

    The filled area of the progress bar will increase whenever you perform appropriate actions and continue training.




  4. Terminal: The trading account history can be presented as positions. The platform collects data on deals related to the position (opening, volume increase, partial or full closing) and groups the information into a single record. Thus you can access position details: open and close time, volume, price and result. This efficient presentation form is now available in history reports exported to files.




  5. Terminal: Added new API enabling request of MetaTrader 5 terminal data through applications using the R language.

    We have prepared a special MetaTraderR package. It contains DLL for interactions between R and the MetaTrader 5 terminal, documentation and auxiliary r files. We are completing the package registration in the CRAN repository, after which it will be available for download and installation.




    The package can be installed using a special command:
    R CMD INSTALL --build MetaTraderR
    The following commands related to data request are available:

    • MT5Initialize initializes and establishes connection with the MetaTrader 5 terminal. If necessary, the terminal is launched during command execution.
    • MT5Shutdown de-initializes and disconnects from MetaTrader 5.
    • MT5Version gets the MetaTrader 5 terminal version.
    • MT5TerminalInfo gets the state and parameters of terminal connection to a broker's server (account number and server address).
    • MT5WaitTerminal sets a 2-minute waiting period for the MetaTrader 5 terminal to connect to a broker's server.
    • MT5CopyTicksFrom(symbol, from, count, flags) copies the specified number of ticks starting from the specified date. The date is specified in milliseconds since 01.01.1970.
    • MT5CopyTicksRange(symbol, from, to, flags) copies ticks from within the specified period. The dates are specified in milliseconds since 01.01.1970.
    • MT5CopyRatesFrom(symbol, timeframe, from, count) copies the specified number of one-minute bars starting from the specified date. The date is specified in seconds since 01.01.1970.
    • MT5CopyRatesFromPos(symbol, timeframe, start_pos, count) copies one-minute bars from the specified position relative to the last bar.
    • MT5CopyRatesFromRange(symbol, timeframe, date_from, date_to) copies bars from within the specified period. The dates are specified in seconds since 01.01.1970.

    The list of supported commands will be further expanded.

  6. Terminal: Optimized Close By dialog used for closing a position by an opposite one. Now, the dialog is not slowed down even if you have a large number of open positions.
  7. Terminal: Fixed synthetic symbol calculation errors, due to which data could be occasionally skipped.
  8. Terminal: When a custom symbol is deleted, files storing its tick and bar history are also deleted. This avoids the accumulation of unused data on the hard disk.
  9. MQL5: Fixes and operation speed improvements related to tick and bar history.
  10. MQL5: Fixes and significant operation speed improvements related to tick and bars history modification functions of custom trading symbols, CustomTicks* and CustomRates*.
  11. MQL5: New data conversion functions.

    CharArrayToStruct copies a uchar array to a POD structure.
    bool  CharArrayToStruct(
       void&         struct_object,    // structure
       const uchar&  char_array[],     // array
       uint          start_pos=0       // starting position in the array
       );

    StructToCharArray copies a POD structure to a uchar array.
    bool  StructToCharArray(
       const void&  struct_object,     // structure
       uchar&       char_array[],      // array
       uint         start_pos=0        // starting position in the array
       );

  12. Added MathSwap function for changing byte order in ushort, uint and ulong values.
    ushort MathSwap(ushort value);
    uint   MathSwap(uint   value);
    ulong  MathSwap(ulong  value);

  13. MQL5: Added network functions for creating TCP connections to remote hosts via system sockets:

    • SocketCreate creates a socket with specified flags and returns its handle
    • SocketClose closes the socket
    • SocketConnect connects to the server, with timeout control
    • SocketIsConnected checks if the socket is currently connected
    • SocketIsReadable gets the number of bytes which can be read from the socket
    • SocketIsWritable checks if data writing to this socket is possible at the current time
    • SocketTimeouts sets data receiving and sending timeouts for the system socket object
    • SocketRead reads data from a socket
    • SocketSend writes data to a socket
    • SocketTlsHandshake initiates a secure TLS (SSL) connection with the specified host using the TLS Handshake protocol
    • SocketTlsCertificate receives information concerning the certificate used for secure network connection
    • SocketTlsRead reads data from a secure TLS connection
    • SocketTlsReadAvailable reads all available data from a secure TLS connection
    • SocketTlsSend sends data using a secure TLS connection

    The address of the host, to which connection using network functions is established, must be explicitly added to the list of allowed addresses in terminal settings.
    New error codes have been added for operations with network functions:

    • ERR_NETSOCKET_INVALIDHANDLE (5270): invalid socket handle passed to the function
    • ERR_NETSOCKET_TOO_MANY_OPENED (5271): too many sockets open (maximum 128)
    • ERR_NETSOCKET_CANNOT_CONNECT (5272): error while connecting to remote host
    • ERR_NETSOCKET_IO_ERROR (5273): error while sending/receiving data from the socket
    • ERR_NETSOCKET_HANDSHAKE_FAILED (5274): secure connection establishment error (TLS Handshake)
    • ERR_NETSOCKET_NO_CERTIFICATE (5272): no data about certificate used for secure connection

  14. MQL5: Added new functions for string operations:

    StringReserve reserves for a string the memory buffer of the specified size.
    bool  StringReserve(
       string&        string_var,          // string
       uint           new_capacity         // buffer size for the string
       );
    StringSetLength sets the specified string length in characters.
    bool  StringSetLength(
       string&        string_var,          // string
       uint           new_length           // new string length
       );

  15. MQL5: Added new function for array operations:

    ArrayRemove removes from an array the specified number of elements starting with the specified index.
    bool  ArrayRemove(
       void&         array[],              // array of any type
       uint          start,                // the index to start removal
       uint          count=WHOLE_ARRAY     // number of elements
       );
    ArrayInsert inserts to a receiver array the specified number of elements from the source array, starting with the specified index.
    bool  ArrayInsert(
       void&         dst_array[],          // receiver array
       const void&   src_array[],          // source array
       uint          dst_start,            // index in the receiver array where to insert
       uint          src_start=0,          // index in the source array to start copying
       uint          count=WHOLE_ARRAY     // number of inserted elements
       );
    ArrayReverse reverses in an array the specified number of elements starting with the specified index.
    bool  ArrayReverse(
       void&         array[],              // array of any type
       uint          start=0,              // index to start reversing
       uint          count=WHOLE_ARRAY     // number of elements
       );

  16. MQL5: New "uint count" parameter has been added in functions CustomRatesUpdate, CustomRatesReplace, CustomTicksAdd and CustomTicksReplace. It allows specification of the number of elements of the passed array. The WHOLE_ARRAY value is used for the parameter by default. It means that the whole array will be urilized.
  17. MQL5: Added CustomBookAdd function to pass the status of the Depth of Market for a custom symbol. The function allows broadcasting the Depth of Market as if the prices arrive from a broker's server.
    int  CustomBookAdd(
       const string        symbol,            // symbol name
       const MqlBookInfo&  books[]            // an array with the DOM elements descriptions
       uint                count=WHOLE_ARRAY  // number of elements to be used
       );
  18. MQL5: Added CustomSymbolCreate function overloading. This allows the creation of a custom trading symbol based on an existing one. After creation, any symbol property can be edited using corresponding functions.
    bool  CustomSymbolCreate(
       const string        symbol_name,       // custom symbol name
       const string        symbol_path="",    // name of the group in which the symbol will be created
       const string        symbol_origin=NULL // name of the symbol based on which the custom symbol will be created
       );
    The name of the symbol, from which the properties of for the custom symbol should be copied, is specified in the "symbol_origin" parameter.

  19. The StringToTime function converting the string with date/time to a datetime value has been updated. Now it supports the following date formats:

    • yyyy.mm.dd [hh:mi]
    • yyyy.mm.dd [hh:mi:ss]
    • yyyymmdd [hh:mi:ss]
    • yyyymmdd [hhmiss]
    • yyyy/mm/dd [hh:mi:ss]
    • yyyy-mm-dd [hh:mi:ss]

  20. MQL5: New TERMINAL_VPS property in the ENUM_TERMINAL_INFO_INTEGER enumeration; it shows that the terminal is running on the MetaTrader Virtual Hosting server (MetaTrader VPS). If an application is running on a hosting server, you can disable all its visual functions, since the virtual server does not have a graphical user interface.
  21. MQL5: New SYMBOL_EXIST property in the ENUM_SYMBOL_INFO_INTEGER enumeration, means that the symbol under this name exists.
  22. MQL5: Fixed typing when using template function pre-declarations.
  23. MQL5: Added re-initialization of indicators when changing a trading account.
  24. MQL5: Optimized StringSplit function.
  25. MQL5: Fixed errors in the standard library operation.
  26. Tester: Added TesterStop function — routine early shutdown of an Expert Advisor on a test agent. Now you can forcibly stop testing after reaching the specified number of losing trades, a preset drawdown level or any other criterion.

    Testing completed using this function is considered successful. After the function call, the trading history obtained during testing and all trade statistics are passed to the terminal.

  27. Tester: Disabled ability to test and optimize Expert Advisors through MQL5 Cloud Network in the real tick mode. This mode can only be used on local agents and local network farms.
  28. Tester: Improved work with indicators during visual testing. Now the price chart and indicator lines are drawn synchronously, even for the maximum visualization speed.
  29. Tester: Optimized and significantly accelerated testing and optimization.
  30. Tester: Fixed debugging of indicators on historical data. Now the OnInit and OnDeinit indicator functions can be properly debugged.
  31. Tester: Implemented faster access to historical data when testing multicurrency Expert Advisors.
  32. Tester: Fixed occasional freezing of the visual tester during debugging on historical data.
  33. Tester: Implemented faster start of optimization passes when processing a task package by an agent.
  34. Tester: Changed policy of distributing task packages to testing agents. The package size has been increased and thus resource consumption on network operations has been significantly reduced.
  35. Tester: Changed behavior of options enabling the use of local, network and cloud agents. Now, when you switch off the options, the agents complete processing of received tasks, while no more new tasks are given to them. In earlier versions, the behavior was similar to the "Disable" command, which immediately stopped agent operation.




  36. MetaEditor: Added support for non-ANSI characters in the debugger. Now, the expressions are properly displayed even if the variable name is specified in Cyrillic.
  37. Added user interface translation into Croatian.
  38. Documentation has been updated.

The update will be available through the LiveUpdate system.


Sergey Golubev
Moderator
110473
Sergey Golubev  

Good article was published - 

----------------

Applying Monte Carlo method in reinforcement learning 

Applying Monte Carlo method in reinforcement learning

In the previous article, we considered the Random Decision Forest algorithm and wrote a simple self-learning EA based on Reinforcement learning. 

To add comments, please log in or register