How to Start with Metatrader 5 - page 103

 

Forum on trading, automated trading systems and testing trading strategies

MetaTrader 5 Platform Beta Build 1625: Custom financial instruments

MetaQuotes Software Corp., 2017.06.29 17:35

MetaTrader 5 Platform Beta Build 1625: Custom financial instruments

The updated version of the MetaTrader 5 platform will be released on Friday, June 30th 2017, in beta mode. We will update our public MetaQuotes-Demo server located at access.metatrader5.com:443. We invite all traders to join testing in order to evaluate the updated platform features and help developers fix errors.

In order to update the MetaTrader 5 platform to build 1625, connect to access.metatrader5.com:443.

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

  1. Terminal: Now it is possible to create custom financial instruments in the terminal. Using the new option, you can create any symbol, configure its settings, import your price data to the symbol and view its charts.

    Creating a Custom Symbol
    Open the symbol management window using the Market Watch context menu and click "Create Custom Symbol":


    A large number of symbol parameters can be configured. The full list of parameters and their description is available in the documentation. You can quickly configure your custom symbol by copying parameters of any similar instrument and modifying them. Select an existing symbol in the "Copy from" field.
    The name of the custom symbol must not be equal to the names of symbols provided by the brokers. If you connect to the server, on which a symbol with the same name exists, the custom symbol will be deleted.
    Commands for importing and exporting parameters are also available here. You can easily share custom symbols or transfer symbols between your terminals. Settings are exported to JSON text files.

    Managing Custom Symbols
    All symbols are displayed in a separate Custom group. If you need to modify or delete a symbol, use the context menu of the list:



    Importing the Price History
    You can import price data to your custom symbol from any text file, as well as from MetaTrader history files HST and HCC. Choose a symbol and go to the "Bars" tab. Import of ticks is not supported at the time.



    In the import dialog, specify the path to the file and set the required parameters:

    • Separator — element separator in a text file.
    • Skip columns and rows — amount of columns (from left to right) and rows (top to bottom) to be skipped during an import.
    • Shift — time shift by hours. The option is used when importing data saved in a different time zone.
    • Use selected only — import only rows highlighted in the row view area. You can highlight rows with your mouse while holding Ctrl or Shift.

    A file with 1-minute bars should have the following format: Date Time Open High Low Close TickVolume Volume Spread. For example:
    2016.06.27    00:01:00    1.10024    1.10136    1.10024    1.10070    18    54000000    44
    2016.06.27    00:02:00    1.10070    1.10165    1.10070    1.10165    32    55575000    46
    2016.06.27    00:03:00    1.10166    1.10166    1.10136    1.10163    13    13000000    46
    2016.06.27    00:04:00    1.10163    1.10204    1.10155    1.10160    23    51000000    41
    You can use data from any existing instrument for your custom symbol. Export data (the option was added in the previous platform version), modify them if necessary, and import the data back.
    The price history is stored in the form of one-minute bars in MetaTrader 5. All other timeframes are created based on these bars. You can also import data of higher timeframes, but charts on lower timeframes will have gaps in this case. For example, if you import one-hour data, one bar per hour will be shown on the M1 chart.
    Price data of custom symbols are saved in a separate Custom directory (not in the directories where data of trade servers are stored):
    C:\Users\[windows account]\AppData\Roaming\MetaQuotes\Terminal\[instance id]\bases\Custom

    Using Custom Symbols
    Use of custom symbols is similar to the use of instruments provided by the broker. Custom symbols are displayed in the Market Watch window; you can open charts of such symbols and apply indicators and analytical objects on them. Custom symbols cannot be traded.

    More possibilities will be available in future platform versions
    The development of custom symbols has not completed yet, and more functions will be added in the next builds of the platform. You will be able to import history to custom symbols straight from Expert Advisors, as well as broadcast data (add quotes) of such symbols in real time.

  2. Terminal: Added filtering of the Time & Sales feature by volume.

    Deals with the volume less than the specified value can be hidden from the Time & Sales table. If this filter is applied, only large deals will appear in the Time & Sales window.

    Double click on the first line in the Time & Sales window, specify the minimum volume in lots, and then click on any other area of ​​the Market Depth. Trades will be filtered, and the current filter value will appear in the volume column header.


    You can also specify the minimum volume using the Time & Sales context menu.

  3. Terminal: Added an option for binding the Market Depth to an active chart. Every time you switch to a chart of a financial instrument, the same instrument will be automatically enabled in the Market Depth window. So, you will not need to open the Market Depth window for each new symbol.



  4. Terminal: Fixed refreshing of toolbars after minimizing and maximizing the terminal window.
  5. Terminal: Fixed generation of position trading history if trade and position tickets overlap.
  6. MQL5: Added an option for profiling MQL5 programs on a price history. This option allows checking the performance of programs without waiting for new ticks.

    When profiling based on real data, the program is started on a normal chart of the terminal. Many programs, especially indicators, only perform calculations at the arrival of a new tick (OnTick, OnCalculate). Thus, in order to evaluate performance, you have to wait for new ticks in real time. If you test a program using history data, you can immediately provide the required load. Profiling is launched in the visual mode in the Strategy Tester, and you receive a lot of new tick events at a time.




  7. MQL5: Added support for union. Union is a special data type consisting of several variables sharing the same memory area. Therefore, the union provides the ability to interpret the same bit sequence in two (or more) different ways. Union declaration starts with the 'union' keyword.
    union LongDouble
    {
      long   long_value;
      double double_value;
    };
    Unlike the structure, various union members belong to the same memory area. In this example, the union of LongDouble is declared with long and double type values sharing the same memory area. Please note that it is impossible to make the union store a long integer value and a double real value simultaneously (unlike a structure), since long_value and double_value variables overlap (in memory). On the other hand, an MQL5 program is able to process data from the union as an integer (long) or real (double) value at any time. Therefore, the union allows receiving two (or more) options for representing the same data sequence.

    During the union declaration, the compiler automatically allocates the memory area sufficient to store the largest type (by volume) in the variable union. The same syntax is used for accessing the union element as for the structures, i.e. the point operator.
    union LongDouble
    {
      long   long_value;
      double double_value;
    };
    //+------------------------------------------------------------------+
    //| Script program start function                                    |
    //+------------------------------------------------------------------+
    void OnStart()
      {
    //---
       LongDouble lb;
    //--- get and display the invalid -nan(ind) number
       lb.double_value=MathArcsin(2.0);
       printf("1.  double=%f                integer=%I64X",lb.double_value,lb.long_value);
    //--- largest normalized value (DBL_MAX)
       lb.long_value=0x7FEFFFFFFFFFFFFF;
       printf("2.  double=%.16e  integer=%I64X",lb.double_value,lb.long_value);
    //--- smallest positive normalized (DBL_MIN)
       lb.long_value=0x0010000000000000;    
       printf("3.  double=%.16e  integer=%.16I64X",lb.double_value,lb.long_value);
      }
    /*  Execution result
        1.  double=-nan(ind)                integer=FFF8000000000000
        2.  double=1.7976931348623157e+308  integer=7FEFFFFFFFFFFFFF
        3.  double=2.2250738585072014e-308  integer=0010000000000000
    */

  8. MQL5: Added automatic generation of an implicit copy operator for the objects of structures and classes. Now, the compiler automatically creates copy operators, which allows writing simple entries for objects, such as b=a:
    class Foo
      {
       int               value;
    public:
       string Description(void){return IntegerToString(value);};
       //--- a default constructor
                         Foo(void){value=-1;};
       //--- a constructor with parameters   
                         Foo(int v){value=v;};
      };
    //+------------------------------------------------------------------+
    //|  Structure containing a Foo object                               |
    //+------------------------------------------------------------------+
    struct MyStruct
      {
       string            s;
       Foo               foo;
      };
    //+------------------------------------------------------------------+
    //| Script program start function                                    |
    //+------------------------------------------------------------------+
    void OnStart()
      {
    //---
       MyStruct a,b;
       Foo an_foo(5);
       a.s="test";
       a.foo=an_foo;
       Print("a.s=",a.s," a.foo.Description()=",a.foo.Description());
       Print("b.s=",b.s," b.foo.Description()=",b.foo.Description());
    //---
       Print("b=a");
       b=a;
    //---
       Print("a.s=",a.s," a.foo.Description()=",a.foo.Description());
       Print("b.s=",b.s," b.foo.Description()=",b.foo.Description());
    /*
       Execution result;
       a.s=test a.foo.Description()=5
       b.s= b.foo.Description()=-1
       b=a
       a.s=test a.foo.Description()=5
       b.s=test b.foo.Description()=5
    */
      }
    Memberwise copying of objects is performed in the implicit operator.

    • If a member is an object, the corresponding copying operator for this object is called.
    • If a member is an array of objects, the receiving array is increased or reduced to the require size using ArrayResize before calling the appropriate copying operator for each element.
    • If a member is an array of simple types, the ArrayCopy function is used for copying.
    • If a member is a pointer to an object, the pointer is copied rather than the object to which it points.

    If necessary, you can override the behavior and create your own option instead of an implicit copy operator, using overloading.

  9. MQL5: Optimized memory use when accessing the price history from Expert Advisors using the Copy* function. Memory consumption will be reduced manifold when working with large amounts of data.

  10. MQL5: Now, the TimeToStruct function returns a boolean value, allowing to check the success of conversion of datetime to MqlDateTime.
  11. MQL5: Added ban to use the FileWriteStruct and FileReadStruct functions for structures containing strings, dynamic arrays, object and pointers.
  12. MQL5: The following response codes have been added:

    • TRADE_RETCODE_REJECT_CANCEL — the request to activate a pending order is rejected, the order is canceled
    • TRADE_RETCODE_LONG_ONLY — the request is rejected, because the rule "Only long positions are allowed" is set for the symbol
    • TRADE_RETCODE_SHORT_ONLY — the request is rejected, because the rule "Only short positions are allowed" is set for the symbol
    • TRADE_RETCODE_CLOSE_ONLY — the request is rejected, because the rule "Only closing of existing positions is allowed" is set for the symbol

  13. MQL5: Added new return value of the SymbolInfoInteger function with the SYMBOL_ORDER_MODE parameter. SYMBOL_ORDER_CLOSEBY — permission of a Close By operation, i.e. closing a position by an opposite open position.
  14. MQL5: The SYMBOL_CUSTOM boolean property has been added to the ENUM_SYMBOL_INFO_INTEGER enumeration. The property allows finding out if the symbol is custom. Use the SymbolInfoInteger function to get the property.
  15. MQL5: Now it is possible to obtain the reason for the creation of an order, deal or position.

    New properties


    Order, deal and position creation reasons
    Three variables have been added for obtaining the reasons for the creation of trading operations:

    ENUM_POSITION_REASON ENUM_DEAL_REASON ENUM_ORDER_REASON Reason description
    POSITION_REASON_CLIENT DEAL_REASON_CLIENT ORDER_REASON_CLIENT The operation was executed as a result of activation of an order placed from a desktop terminal
    POSITION_REASON_MOBILE DEAL_REASON_MOBILE ORDER_REASON_MOBILE The operation was executed as a result of activation of an order placed from a mobile application
    POSITION_REASON_WEB DEAL_REASON_WEB ORDER_REASON_WEB The operation was executed as a result of activation of an order placed from the web platform
    POSITION_REASON_EXPERT DEAL_REASON_EXPERT ORDER_REASON_EXPERT The operation was executed as a result of activation of an order placed from an MQL5 program, i.e. an Expert Advisor or a script
    - DEAL_REASON_SL ORDER_REASON_SL The operation was executed as a result of Stop Loss activation
    - DEAL_REASON_TP ORDER_REASON_TP The operation was executed as a result of Take Profit activation
    - DEAL_REASON_SO ORDER_REASON_SO The operation was executed as a result of the Stop Out event
    - DEAL_REASON_ROLLOVER - The deal was executed due to a rollover
    - DEAL_REASON_VMARGIN - The deal was executed after charging the variation margin
    - DEAL_REASON_SPLIT - The deal was executed after the split (price reduction) of a stock or another asset, which had an open position during split announcement

  16. MQL5: Optimized synchronization and access to the tick history.
  17. MQL5: Fixed returning of ticks to the statistic array in the CopyTicksRange function. In earlier versions, 0 ticks were always returned in this case.
  18. MQL5: Various fixes have been made in Fuzzy Logic Library.
  19. Signals: Fixed opening of a signal from the website when there is no trading account connection.
  20. Tester: Optimized and accelerated work with orders and deals history. Operation speed will be increased manifold when working with large amounts of data (tens of thousands of history entries).
  21. Tester: Fixed calculation of position holding time in the testing report.
  22. MetaEditor: Fixed the display of the contents of static class member arrays in the debugger.
  23. MetaEditor: Added a list of breakpoints in the debugged program. The list can be opened using the context menu of the Debug tab:


    To jump to a breakpoint, double-click on it.

  24. Documentation has been updated.

The update will be available through the LiveUpdate system.

 

Forum on trading, automated trading systems and testing trading strategies

How to Start with Metatrader 5

Sergey Golubev, 2017.02.12 06:36

MetaTrader 5 - More Than You Can Imagine!

The development of MetaTrader 5 started in 2007. MetaTrader 5 was conceived as a revolutionary, multi-market platform that can run on Forex as well as on any other financial market. A lot of work has been done since then, and the result of this work is the platform that provides unlimited opportunities to traders. In this article, we will talk about all the key features of MetaTrader 5 and carry out a comparative analysis with the previous version of the trading platform.

  1. Charts
  2. Navigator
  3. Trading
  4. Toolbox
  5. Testing and Optimization
  6. Integration with MQL5.community
  7. MetaEditor
  8. The MQL5 Programming Language
  9. Services for Traders and Developers

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

And this is the MT5 user manual:

MetaTrader 5 Help - Trading Platform — User Manual


 

Forum on trading, automated trading systems and testing trading strategies

Frequently Asked Questions about the Signals service

MetaQuotes Software Corp., 2013.02.20 09:00

Discover in 15 Minutes: Watch the Video about Trading Signals in MetaTrader 4 and MetaTrader 5

The most frequently asked questions related to the Signals service will be collected and processed in this topic. The list of questions will be updated from time to time. Soon we will try to give answers to all incoming questions. Please, feel free to write a comment, if you didn't find the answer to your question.

Before asking a question, please read the following featured articles:


Questions

  1. What the Signals service is needed for?

  2. Who can create a trading Signal at MQL5.com? Should I pay for this?

  3. When a free Signal will become available for subscription?

  4. How to create a free signal?

  5. How to subscribe to a Signal?

  6. I created a signal, but it is not available for subscription on the website. Why?

  7. How to subscribe to a signal from the MetaTrader 4 (MetaTrader 5) client terminal?

  8. Can I copy trades from MetaTrader 4 to MetaTrader 5 or vice versa?

  9. How paid subscriptions are charged? What will happen if a free subscription becomes paid?

  10. Can I cancel a paid subscription?

  11. I want to copy trades with fixed volume of 1.0 lots. Is it possible?

  12. On Provider's account all trades are performed with volume of 0.1 lots. I want to copy these trades with larger volume, for example 0.3 lots. Can I raise the volume somehow?

  13. The Provider has trading symbol called GOLD, and my broker has the same instrument, but it is called XAUUSD. Are trades on GOLD copied to XAUUSD in that case?

  14. Can I set my own rules of copying trades from a Provider's symbol to a Subscriber's one?

  15. What rounding scheme is used for Provider's and Subscriber's percentage ratio of deals volume?

  16. Why there should be no open positions and pending orders on my account in order to subscribe to a signal?

  17. Why manual trading leads to problems with copying of signals (accounts out of sync)? Why I cannot simultaneously subscribe to a signal and trade on one account?

  18. How to disable your own Signal? I do not want to broadcast it anymore.

  19. Does the MetaTrader 4/5 terminal has to be running at Subscriber's end for trades to be copied?

  20. Can I unsubscribe from the Signal in the same way I subscribed to it?

  21. How can I find out what Signal I am subscribed to in the terminal and how can I cancel the subscription?

  22. How are transactions copied if the Provider has 4-digit quotes for a Symbol and the Subscriber has 5-digit quotes for the same Symbol or vice verse?

  23. How is the Growth in Signals Calculated?

  24. How is the year-to-date growth (YTD) calculated, if a sum of monthly growths differs from this value?

  25. How to know the signals copy ratio to my account and the size of the required account deposit in advance?


Answers

  1. What the Signals service is needed for?
    The special "Signals" section at MQL5.community website allows all registered users to broadcast their own trading operations from their MetaTrader 4 or MetaTrader 5 trading accounts, as well as to subscribe to copy deals into their trading accounts from Signals of other traders. Each trading signal has its own page in the Signals section, where you can see a detailed trading statistics of deals history, charts of growth and balance, number of subscribers, etc.

  2. Who can create a trading Signal at MQL5.com? Should I pay for this?
    To create a signal you only need to register at MQL5.com. You can create signals with free and paid subscription - in both cases, you don't need to pay anything to create a signal.

  3. When a free Signal will become available for subscription?
    Free signals become available to subscribers as soon as the signal server can connect to a trading account from which the signals will be broadcast.

  4. How to create a free signal?
    If you are registered at MQL5.com, in the upper right corner of the Signals section click "Create your own signal" to open the corresponding page where you can create your own Signal.

    Enter the name of your future Signal, then select either MetaTrader 4 or MetaTrader 5 platform, set specify login and investor password of your account on selected trading platform. In the Broker field enter the name of trading server or broker (while typing, you can find the server you need in the appeared drop-down list).


    After completing all these four fields, click “Add” and you will open the page of your newly created Signal. Enter description for your Signal and save it.



  5. How to subscribe to a Signal?
    You can subscribe to a trading signal in two ways. First - subscribe directly from the desired signal at the website:


    Second - subscribe from the client terminal. To do this, you must enter your MQL5.com login and password in the Community tab of the client terminal settings dialog box. For a paid subscription you will also need the required sum of money on your account in MQL5.community payment system.



  6. I created a signal, but it is not available for subscription on the website. Why?
    Go to the "My signals" section to view the status of your signal. There may be problems with its connection.


    When you open your signal page you will see the error message. You can correct account number, password and the name of trading server using the "Edit" command.



  7. How to subscribe to a signal from the MetaTrader 4 (MetaTrader 5) client terminal?
    Select the desired signal in the terminal and open it. Then click "Subscribe" and in the opened dialog box fill in all the required data: agree to the terms of use, confirm password of your MQL5.com account and then click "OK".


    Then, after a second or two, the next dialog box will appear in which you must configure the setting of signal copying and click "OK".



  8. Can I copy trades from MetaTrader 4 to MetaTrader 5 or vice versa?
    No, MetaTrader 4 and MetaTrader 5 trading platforms have differences in order accounting and execution. Therefore, you should select signal from the same trading platform as your account to be able to copy trades. Or you can open an account on the same platform (and preferably at the same broker) as a Signal you want to subscribe.
    We recommend you to read the MetaTrader 5 Trading System and Orders, Positions and Deals in MetaTrader 5 articles if you are new to MetaTrader 5.

  9. How paid subscriptions are charged? What will happen if a free subscription becomes paid?
    When subscribing to a paid signal, the required amount of money for the entire subscription period (week or month) freezes on Subscriber's account. But these money are not transferred immediately to Provider's account - provider receives money automatically when subscription is expired. If Provider cancels his Signal, frozen money are returned to subscribers.

    If Provider decides to make a free Signal paid, then all existing subscriptions remain active and free until the end of subscription period. After subscription is expired, you will be offered to pay to renew this subscription, which you can accept or reject. Thus, converting free subscription to paid one will not charge your account if you have previously subscribed to free signal.

  10. Can I cancel a paid subscription?
    If Subscriber cancels his subscription, frozen money will be transferred to Provider. In this case, Subscriber will receive a clear warning:



  11. I want to copy trades with fixed volume of 1.0 lots. Is it possible?
    No, the volumes of copied trades are calculated automatically by the client terminal on the basis of specified settings and balance ratio of Subscriber's and Provider's accounts. You can not specify fixed volume of deals.

  12. On Provider's account all trades are performed with volume of 0.1 lots. I want to copy these trades with larger volume, for example 0.3 lots. Can I raise the volume somehow?
    All volumes are calculated automatically. Subscriber can copy trades with volume larger than on Provider's account only in one case - if Subscriber's account balance reserved for signals copying is greater than Provider's account balance (Subscriber_Balance * Load > Provider_Balance).

  13. The Provider has trading symbol called GOLD, and my broker has the same instrument, but it is called XAUUSD. Are trades on GOLD copied to XAUUSD in that case?

    If a Subscriber's account has a symbol with the same name as the one on the Provider's account, and trading is fully allowed for the symbol, trades will be copied for this symbol. If trading is allowed partially or disabled for the found symbol, this symbol is considered inappropriate for copying, and the system will continue to search for a suitable symbol:

    1. On the Subscriber's account, the system searches for all symbols with the names coinciding with the Provider's symbol by the first 6 characters. For example, EURUSD == EURUSDxxx == EURUSDyyy.
    2. Full permission to perform trading is checked for each detected symbol. If trading is allowed partially or completely forbidden, such a symbol is discarded.
    3. Margin calculation type is checked for each remaining symbol - if it is Forex, a symbol is considered to be suitable. Symbols of CFD, Futures or other calculation types are discarded.
    4. If no symbols remain after conducting all the checks or more than one symbol is found, it is considered that a symbol mapping attempt has failed and it is impossible to copy Provider's trades for that symbol.
    5. If one suitable symbol is found, it is used for copying Provider's trades.

    The algorithm provides only two exceptions for metal symbols:

    1. XAUUSD == GOLD
    2. XAGUSD == SILVER

    In these two cases, only full permission to perform trades is checked. If such permission is present, the mapping attempt is considered to be successful.

    Example 1: A Provider has positions on EURUSD, while a Subscriber – on EURUSD! (or vice versa) with full trading permission. The terminal performs mapping automatically and copies the trades.

    Example 2: A Provider has positions on EURUSD, while a Subscriber – both on EURUSD! and EURUSD. The copying is performed for EURUSD.

    Example 3: A Provider has positions on GOLD, while a Subscriber – on XAUUSD with full trading permission. The terminal performs mapping automatically and copies the trades.

    Example 4: A Provider has positions on GOLD, while a Subscriber – on XAUUSD with close-only (partial) trading permission. The mapping is considered unsuccessful and no copying is performed.


  14. Can I set my own rules of copying trades from a Provider's symbol to a Subscriber's one?
    Provider's and Subscriber's symbols are mapped automatically when copying trades. No custom rules can be set.

  15. What rounding scheme is used for Provider's and Subscriber's percentage ratio of deals volume?

    The following step-by-step algorithm is used for percentage rounding:

    1. If the value is less than 0.01%, it is rounded to 0.001%, i.e. it is assumed to be 0.001%. Examples: 0.007% => 0.001%, 0.000099 => 0.001%.
    2. If the value is greater than 0.01% and is less than 0.1%, it is rounded to hundredths. Examples: 0.063% =>0.06%, 0.045 => 0.05%. 
    3. If the value is greater than 0.1% and is less than 1%, it is rounded to tenths. Examples: 0.11 => 0.1%, 0.25% => 0.3%.
    4. If the value is greater than 1% and is less than 10%, it is rounded down to the nearest whole number. Examples: 6.25% => 6%, 7.79% =>7%.
    5. If the value is greater than 10% and is less than 100%, it is rounded down to the nearest whole number with step of 5%. Example: 29.7% => 25%.
    6. If the value is greater than 100%, it is rounded down to the nearest whole number with step of 10%. Example: 129.6% => 120%.

    You can see an example of calculations in the General information on Trading Signals for MetaTrader 4 and MetaTrader 5 article.

  16. Why there should be no open positions and pending orders on my account in order to subscribe to a signal?

    Open positions and pending orders do not allow Subscriber's account to correctly copy Provider's signals.

    • Subscription to a signal means that you completely rely on Provider's trading strategy. Positions and pending orders created by you or any other signal are not part of the current Provider's trading strategy.
    • The volume of copied trade operations is calculated based on the value of account balance. Subscriber's positions opened manually or by any other signal increase the deposit load and may also prevent signal copying due to insufficient free margin or lead to Margin Call.
    • In MetaTrader 5 you can have only one common position for one symbol at the same time. If Subscriber's account and Provider's account have open positions for the same symbols, signal copying can lead to reverse of the final position or to a significant change in its volume.


  17. Why manual trading leads to problems with copying of signals (accounts out of sync)? Why I cannot simultaneously subscribe to a signal and trade on one account?

    Manual intervention in trading on account subscribed to a signal, prevents correct copying of Provider's signals and complicates the analysis of signal copying results.

    • Subscription to a signal means that you completely rely on Provider's trading strategy. Positions and pending orders created by you or any other signal are not part of the current Provider's trading strategy.
    • The volume of copied trade operations is calculated based on the value of account balance. Subscriber's positions opened manually or by any other signal increase the deposit load and may also prevent signal copying due to insufficient free margin or lead to Margin Call.
    • In MetaTrader 5 you can have only one common position for one symbol at the same time. If Subscriber's account and Provider's account have open positions for the same symbols, signal copying can lead to reverse of the final position or to a significant change in its volume.

    Should the synchronization reveal any inconsistencies, i.e. positions different from those of the Provider or any pending orders set, a standard pop-up window will appear to prompt you for permission to synchronize.

    Subscriber's account is not ready for synchronization


  18. How to disable your own Signal? I do not want to broadcast it anymore.

    In the "My Signals" section open the signal you want to delete


    and click "Edit".


    Turn off the "Enabled" option and click "Save".


  19. Does the MetaTrader 4/5 terminal has to be running at Subscriber's end for trades to be copied?
    Trades are copied directly in the Subscriber's terminal which must be running and connected to the relevant account.

  20. Can I unsubscribe from the Signal in the same way I subscribed to it?
    You can cancel the Signal subscription in My Subscriptions on https://www.mql5.com/en/signals or directly in the terminal: see MetaTrader 5 Help → User Interface → Toolbox → Signals: Unsubscribe from Signal. If you unsubscribe from a fee-based Signal, the amount blocked in your account for payment of the subscription fee will be deducted from your account upon canceling the subscription.

  21. How can I find out what Signal I am subscribed to in the terminal and how can I cancel the subscription?
    First, when establishing a connection to the account, the terminal connects to the signal server and checks for any available subscriptions. If the account is subscribed to a Signal, a relevant message will be written to the Journal. In addition, the name of the Signal to which the account is subscribed is displayed in blue in the first line of the Signals section of the terminal settings.
    Second, there is an alternative simple way that allows you to instantly view all your current and expired subscriptions on the Signals page of My Subscriptions. To be able to use this option you should be logged in to your MQL5.com account.

  22. How are transactions copied if the Provider has 4-digit quotes for a Symbol and the Subscriber has 5-digit quotes for the same Symbol or vice verse?
    All transactions copied to the Subscriber's account are executed at current market prices considering the deviation set in the terminal settings and contract specification of the given symbol. Thus when copying deals the number of digits doesn't matter.

  23. How is the Growth in Signals Calculated?
    The growth shows how the balance of an account grows. It is calculated so that the influence of deposits and withdrawals is avoided.

    The entire trade history of an account is divided into periods between balance operations (deposits and withdrawals). First, the total growth coefficient (K) is calculated by multiplying the growth coefficients computed for each period between the balance operations (BO) and then the growth in percentage terms is calculated.
    Growth Coefficient К = (Balance before BO1/Initial Deposit) * (Balance before BO2/Balance after BO1 * ... * Balance before BOn/Balance after BOn-1)

    Growth in Percentage Terms = (К - 1) * 100%

    On the chart below, the balance operations are marked with big red dots and the dashed lines indicate the periods of growth calculation:


    Growth Calcualtion

    In this case, the total growth for the account is calculated as follows:
    Growth Coefficient К = К1 * K2 * K3 = (6 615/10 000 * 17 847/11 115 * 15 547/14 847) = 1.1

    Growth in Percentage Terms = (K-1) * 100% = (1.1 - 1) * 100 = 10%

    Despite the current balance is about 50% higher than the initial deposit, the real growth due to trade operations is only 10%.

  24. How is the year-to-date growth (YTD) calculated, if a sum of monthly growths differs from this value?

    We use a compound rate when calculating YTD. This means that the YTD rate is calculated not by a simple addition of growth for several periods of time, but by their multiplication. Every period growth is superimposed on total cumulative growth of previous periods. This can be shown by an example.


    In 2014 the signal had following monthly growth values:

      January
    February
     March April
     May
    June
    July
    August
    September
    October
    November
    December
     Annual data
     Growth, % 14.71
    20.51
    20.43
    12.77
    0.18
    -
    195.28
    -
    -
    130.00 30.55 12.48 1 776
     Growth ratio for the period
     1.1471  1.2051 1.2043
     1.1277 1.0018
     1  2.9528  1 1
     2.3000  1.3055  1.1248 18.76
     Total growth ratio for the period  1.1471  1.3823  1.6648  1.8774  1.8808  1.8808  5.5535  5.5535  5.5535  12.7731  16.6753  18.7563  
    1. There was 14.71% growth in January. That means that a trading account has been multiplied by 1.1471 this month. This is what we call the growth ratio for the period.
    2. There was 20.51% growth in February, so the growth ratio in February is equal to 1.2051.

    The growth ratio for the period is calculated according to the formula: (Growth in percentage terms) / 100%  + 1.0.   The growth ratio in January = (14.71%/100%)+1.0 = 1.1471.

    You have to multiply together growth ratios of January and February of 2014 and get the general growth ratio for these months to calculate the growth for the period.

    Total growth ratio = 1.1471 * 1.2051 = 1.3823

    The total growth ratio helps us get the ratio in percentage terms as (Total growth ratio - 1) * 100% = Growth for the period

    Growth for January-February of 2013 in percentage terms  = (1.3823 - 1.0) * 100% = 38.23%

    As you can see, there was 38.23% growth in these two months. And it differs greatly from simple addition of percents for every month ( 38.23% != 14.71% + 20.15%)

    So if you want to get a year growth ratio, you need to multiply together growth ratios for each month, then subtract 1.0 from the product and multiply the result by 100%. This will be the compound year-to-date rate (YTD).

    You need to do the same with annual growth values to see the growth for all years of trading.

  25. How to know the signals copy ratio to my account and the size of the required account deposit in advance?

    The signals copy ratio from the provider's account to the subscriber's account depends on 4 factors. The article "Calculator of signals" describes the calculation mechanism and provides an application to automatically calculate these parameters before subscribing to the selected signal.n

  26. Next question

 

Forum on trading, automated trading systems and testing trading strategies

signal to twitter

Sergey Golubev, 2016.11.22 08:01

MetaTrader 5: Publishing trading forecasts and live trading statements via e-mail on blogs, social networks and dedicated websites


Automatic web-publication of trading forecasts has become a widespread trend in the trading industry. Some traders or companies use Internet as a medium for selling subscribed signals, some traders use it for their own blogs to inform about their track record, some do it in order to offer programming or consultancy services. Others publish signals just for fame or fun.

This article aims to present ready-made solutions for publishing forecasts using MetaTrader 5. It covers a range of ideas: from using dedicated websites for publishing MetaTrader statements, through setting up one's own website with virtually no web programming experience needed and finally integration with a social network microblogging service that allows many readers to join and follow the forecasts.

All solutions presented here are 100% free and possible to setup by anyone with a basic knowledge of e-mail and ftp services. There are no obstacles to use the same techniques for professional hosting and commercial trading forecast services.

 

Digital Filters' Trading Systems


The beginning

  1. Generator of filter's indicator for MT4 thread.
  2. Digital Filters (basic explanation) thread.
  3. (Digital) Filters indicators thread
    3.1 T3 Digitals indicators are on this post. These are using t3 smoothing, they are mtf, and have alerts, 1 has arrows, if you prefer no smoothing just turn t3 period to 1 or zero.
    3.2. T3 Dtm indicator is on this post. This is t3 dtm actually stlm and ftlm together they have mtf with alerts on slope change.
  4. Template with indicators - the post.
  5. Digital ASCTrend thread (Digital Filters with ASCTrend system combined).

After

  1. Trading Strategies Based On Digital Filters thread.
    1.1. T3Digital_Martingale EA (for MT4) is on this post and the trading results with the settings uploaded on this post. It is the first version of Digital Martingale: this EA is using some of the indicators posted a couple weeks ago, with the exception of normalized t3 rbci. The rbci was optimized so it being used in this Ea as a long term trend watcher, but it seems to work equally as well in hourly timeframe. This Ea version is using Satl,Fatl,Stlm, and the before mentioned rbci all indicators you have the ability to change timeframes as desired.
 

Forum on trading, automated trading systems and testing trading strategies

How to Start with Metatrader 5

Sergey Golubev, 2013.06.04 20:32

I am on the way of preparation of the creation of some thread about Digital Filters/ So, I am inside Codebase now :) trying to find some indicators about. I found the following (it is just one of many articles about digital filters which invented by russians based on british research):

I used digital filters for the long time for MT4 ... as I remember - I created few of them (KGBP ... and it is still on MT4 CodeBase).

So, I am in big preparation for now. Just for information.


 

Good article - related to the Digital Filters:

Forecasting market movements using the Bayesian classification and indicators based on Singular Spectrum Analysis


One promising way to achieve this is building a recommendatory system for time-efficient trading by combining the capabilities of forecasting with the singular spectrum analysis (SSA) and important machine learning method on the basis of Bayes' Theorem. The value of the selected approach lies in that the processing of data is based on the statistical analysis methods exclusively, and does not imply groundless assumptions. This gives a clear idea of both the capabilities and limitations of the method, its perspectives in creating an automated trading system.

During the development of this system, the focus was on the scale of the time frame units from 5 minutes to an hour. A fundamentally larger scale, hours and days, is more popular in the majority of descriptions of theoretically successful statistical methods (due to the reduced contribution of the chaotic component). However, such methods are of little use in the actual practice of individual speculative trading.

 

Forum on trading, automated trading systems and testing trading strategies

MT4 & MT5 backtest

Sergey Golubev, 2017.02.17 20:53

If you are backtesting EA on MT5 using 'every tick based on real ticks' so it will be almost same with trading on MT5 platform with some particular broker (because it is based on actual historical data).

Example, read this thread: Why is it better MT5 than MT4?? Does it have fewer limitations ??? - this is the quote from the first post of the thread:

  • In MT5 you can backtesting robots with the closest possible conditions to the real market natively  (real tick data, real variable spreads, lag, slippage, etc). In MT4 you can't natively. You only can if you pay for a third-party software. If so, you also have to download history data from a few sources (there are many few, almost everyone uses the same source), transform it to MT4 format and open the platform through this third-party software in order to patch MT4 behavior. You take many hours to complete this process, and you have to repeat it every time you want to incorporate new data. 
    We have all seen hundreds of robots that obtained spectacular results in backtesting, but when operating in real account the results were very bad. This is mainly because they were made with conditions that had nothing to do with real market conditions.

For more information about it - read this summary.

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

As i know - some coders/traders are converting their MT4 EAs to MT5 just to backtest them and/or to find the settings with optimization to get the backtesting results that are closest to reality. 


Reason: