MetaTrader 5 Platform Update Build 1035: Option Strategy Builder and Access to Ticks

What's new in MetaTrader 5

12 December 2014

Trading Terminal

  1. Implementation of functions for trading options is currently underway. The Option Strategy Builder has been added. It helps users combine different options in one investment portfolio, and to assess the possibilities and potential risks.



    The Builder is easy to use: a trader chooses the option based on the expiration date and the underlying asset, and then selects one of the more than 30 available strategies. The Builder displays the appropriate combination of options and calculates evaluation parameters - the so-called Greeks. The profit/loss chart and the Greeks based chart appear at the bottom of the window.

    In addition to a large number of built-in strategies, traders can create and save their own strategies for later use.

  2. Added display of the number of newsletters received in the last 24 hours.




  3. Optimized and accelerated synchronization of large history of trading orders and deals.
  4. Fixed launch of several custom indicators in one chart subwindow.
  5. Fixed recalculation of Bill Williams Market Facilitation Index for a changed chart period.
  6. Fixed minimization of the "Toolbox window".
  7. Fixed generation of the account state report published over FTP.
  8. Updated translation of user interface into German.
  9. Added translation of user interface into Greek and Uzbek.

MQL5 Language

  1. New function for working with the tick history CopyTicks. The function is used for receiving an array of ticks accumulated by the terminal for the current session. The depth is limited to the last 2000 ticks.

    The new function expands the possibilities for developing scalping trading robots. The OnTick function does not handle every tick, it notifies the Expert Advisor of market changes. It can be a batch of changes: the terminal can simultaneously make a few ticks, but OnTick will be called only once to notify the EA of the latest market state. The CopyTicks function allows you to receive and analyze all the ticks.
    int  CopyTicks(
       const string      symbol_name,           // Symbol name
       MqlTick           &ticks_array[],        // the array where ticks will be placed
       uint              flags=COPY_TICKS_ALL,  // the flag that defines the type of received ticks
       ulong             from=0,                // the date starting from which ticks will be received, specified in milliseconds since 01.01.1970
       uint              count=0                // the number of latest ticks that should be received
       );
    Ticks can be requested by the date if the 'from' value is specified, or based on their number using the 'count' value. If none of the parameters are specified, all available ticks are received, but not more than 2000. Ticks can also be requested based on their type using the 'flags' parameter. Available values:

    • COPY_TICKS_ALL - all ticks.
    • COPY_TICKS_INFO - only information ticks (Bid and Ask).
    • COPY_TICKS_TRADE - only trade ticks (Last and Volume).

  2. Added an option for overloading template functions using array parameters.
  3. Added an option for overloading a method based on its constancy.
  4. Added generation of the CHARTEVENT_MOUSE_MOVE event (in the OnChartEvent entry point) at the right mouse button click on the chart.
  5. Fixed the functioning of the Switch operator if the case condition contains a negative value.
  6. Improved calculation accuracy in functions ObjectGetValueByTime() and ObjectGetTimeByValue(), used for receiving the price value for the specified object time and vice versa - time value for a price.

Strategy Tester

  1. MQL5 programs purchased in MetaTrader AppStore can now be tested and optimized on the MQL5 Cloud Network agents and on remote agents.
  2. Fixed calculation of swaps in points for positions with less than 1 lot.
  3. Fixed check and normalization of Stop Loss and Take Profit levels when opening a position for the trading instrument with "Market Execution" type.
  4. Fixed behavior of the ObjectGetValueByTime function. In some cases, the behavior of the function in the tester could be different from its behavior in the terminal.

MetaEditor

  1. Fixed MetaEditor crash when debugging and profiling looped programs.
  2. Added translation of user interface into Greek and Uzbek.

Fixed errors reported in crash logs.

Documentation has been updated.

The update is available through the LiveUpdate system.