テスターエージェントは64ビットシステムでのみ動作するようになりました。この決定は、IT業界の発展に従う必要があることによって推進されました。新しいテクノロジーに切り替えることで、コンピューティングパフォーマンスが向上し、MQL5クラウドネットワークのさらなる開発が可能になります。
プラットフォームコンポーネントの変更:
int WebRequest (string method, string url,string headers,int timeout, const char &data[], int data_size,char &result[], string &result_headers)この関数を使用すると、さまざまなWebサービスとやりとりするためのより柔軟なメカニズムを提供する、HTTP要求ヘッダーの内容を明示的に作成できます。
クラッシュログで報告されたエラーが修正されました。
ドキュメントを更新しました。
更新はLiveUpdateシステムを介して利用できるようになります。
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:
Fixed errors reported in crash logs.
Documentation has been updated.
The update is available through the LiveUpdate system.
ご自身のAndroidデバイスで、モバイルMetaTrader 5の新しい機能をぜひご評価ください。Google Playから私たちのアプリケーションをダウンロードしてください!
//+------------------------------------------------------------------+ //| MacroExample | //| Copyright 2014, MetaQuotes Software Corp. | //| https://www.metaquotes.net | //+------------------------------------------------------------------+ #property script_show_inputs input bool InpSecond=true; #define DEFCLASS(class_name) class class_name:public CBase{public:class_name(string name):CBase(name){}}; #define TOSTR(x) #x #define AUTODEL(obj) CAutoDelete auto_##obj(obj) #define NEWOBJ(type,ptr) do { ptr=new type(TOSTR(ptr)); \ Print("Create object '",TOSTR(type)," ",TOSTR(ptr),"' by macro NEWOBJ"); } \ while(0) //+------------------------------------------------------------------+ //| The basic class required for automatic deletion of objects | //+------------------------------------------------------------------+ class CBase { protected: string m_name; public: CBase(string name):m_name(name) { } string Name(void) const{ return(m_name); } }; //+------------------------------------------------------------------+ //| The object auto-delete class makes watching of created | //| objects unnecessary. It deletes them in its destructor | //+------------------------------------------------------------------+ class CAutoDelete { CBase *m_obj; public: CAutoDelete(CBase *obj):m_obj(obj) { } ~CAutoDelete() { if(CheckPointer(m_obj)==POINTER_DYNAMIC) { Print("Delete object '",m_obj.Name(),"' by CAutoDelete class"); delete m_obj; } } }; //+------------------------------------------------------------------+ //| Declaring two new classes CFoo and CBar | //+------------------------------------------------------------------+ DEFCLASS(CFoo); DEFCLASS(CBar); //+------------------------------------------------------------------+ //| The main script function | //+------------------------------------------------------------------+ void OnStart() { CFoo *foo; //--- Creating an object of the CFoo class NEWOBJ(CFoo,foo); //--- Creating an instance of the CFoo foo object auto-deletion class AUTODEL(foo); //--- if(InpSecond) { CBar *bar; //--- NEWOBJ(CBar,bar); AUTODEL(bar); } //--- No need to delete foo, it will be deleted automatically } //+------------------------------------------------------------------+
Fixed errors reported in crash logs.
Documentation has been updated.
Fixed errors reported in crash logs.
Updated documentation.
The update is available through the LiveUpdate system.
The money transfer option should be enabled on the trade
server. Depending on the settings, there are some restrictions on the
accounts, between which transfer is allowed. In particular, money
transfer can be allowed only for accounts with identical names and
emails.
Fixed display of the Label and Bitmap Label graphical objects with the anchor point located in one of the bottom corners of a chart.
int CryptEncode(ENUM_CRYPT_METHOD method,const uchar &data[],const uchar &key[],uchar &result[]); int CryptDecode(ENUM_CRYPT_METHOD method,const uchar &data[],const uchar &key[],uchar &result[]);A new enumeration ENUM_CRYPT_METHOD has been added for working with the functions:
CRYPT_BASE64, // BASE64 encryption (re-encoding) CRYPT_AES128, // AES encryption with 128-bit key CRYPT_AES256, // AES encryption with 256-bit key CRYPT_DES, // DES encryption (key length is 56 bits - 7 bytes) CRYPT_HASH_SHA1, // calculation of HASH SHA1 CRYPT_HASH_SHA256, // calculation of HASH SHA256 CRYPT_HASH_MD5, // calculation of HASH MD5 CRYPT_ARCH_ZIP, // ZIP archive
Fixed errors reported in crash logs.
Updated documentation.
The update will be available through the LiveUpdate system.
ご自身のiOS版MetaTrader 5のアップデートをお忘れなく。
Fixed errors reported in crash logs.
Updated documentation.The update will be available through the LiveUpdate system.
Market: Added new product category in MetaTrader AppStore — Magazines. Now, users can buy not only trading applications but also trading and financial magazines quickly and easily.
Just like MetaTrader 5 applications, magazines can be purchased at MQL5.community Market as well as directly via MetaTrader 5 terminal. All magazines are accompanied by detailed descriptions and screenshot galleries:
The latest magazine issues are always displayed in the showcase, while the previous ones can be found on the Archive tab.
To buy a magazine, you should have an MQL5.com account and the necessary amount of funds on it. The account data should be specified at the Community tab of the terminal settings:
Click Buy on the magazine's page to purchase it. Purchase confirmation dialog appears:
To continue, agree to the rules of using the Market service and enter your MQL5.community password. After that, the specified amount of funds will be withdrawn from your account and the magazine will be downloaded. Buy button will be replaced by Open one.
Magazine files are downloaded to My Documents\MQL5 Market\Magazines\[Magazine name]\[Issue name]. The download may be performed in two formats:
MQB - this protected format is used for paid magazines. When purchasing and downloading a magazine file, it is encoded so that it can be opened only on the PC it has been downloaded to. Generation of an encoded copy is called activation. Each magazine can be activated at least 5 times on different hardware. Magazine sellers can increase the number of activations at their sole discretion.
PDF - this format is used for free magazines. After downloading, such file can be moved and viewed on other devices.
The special component called MetaViewer has been added to MetaTrader 5 terminal allowing users to view MQB files. This application is launched when you click Open at the downloaded magazine page. If User Account Control system is enabled on the user's PC, the user will be prompted to allow the terminal to associate MQB files with MetaViewer during the first launch. After the association, MQB files are automatically opened in MetaViewer when launched from Windows file explorer.
If you click ÎÊ, the files are associated and the selected magazine issue is opened in MetaViewer immediately. If you click Cancel, only the magazine issue is opened.
MetaViewer is a convenient application for viewing books and magazines in MQB and PDF formats. Keyboard arrows are used to turn over the pages: left and right arrows - for page-by-page navigation, while up and down arrows - for scrolling. MetaViewer menu and control panel contain additional commands for setting the journal's view and navigation:
Terminal: Added MQL tab to EX5 file properties. The tab contains the program's icon as well as its name and description specified in the application's source code via the appropriate #property parameters.
The tab appears only after MetaViewer is registered in the system. If a current user has sufficient rights and User Account Control system is disabled, MetaViewer is registered automatically during the terminal's first launch after the update. Otherwise, the user will see the dialog window requesting a one-time elevation of rights for MetaViewer during the first attempt to open a magazine.
Terminal: Added MQL5.community fast registration dialog in case a user has no account. Now, an MQL5.community account can be created without the need to leave the terminal.
Specify login and email address in the registration window. After clicking Register, an email for MQL5.community account activation is sent to the specified address.
MQL5.community account allows traders to use additional powerful services:
Terminal: Added information about margin charging rates for various order types, as well as the list of spreads that may include orders and positions for the symbol, to the trading symbol data dialog.
Margin Rates:
A multiplier for calculating margin requirements relative to the margin's main amount is specified for each order type. The main amount of margin is calculated depending on the specified calculation method (Forex, Futures, etc.).
Calculation of margin requirements is described in details in the client terminal user guide.
Spreads:
The margin can be charged on preferential basis in case trading positions are in spread relative to each other. The spread is defined as the presence of the oppositely directed positions at related symbols. Reduced margin requirements provide traders with more trading opportunities.
The spread has two legs - A and B. The legs are the oppositely directed positions in a spread - buy or sell. The leg type is not connected with some definite position direction (buy or sell). It is important that trader's positions at all leg's symbols are either long or short.
Several symbols with their own volume rates can be set for each spread leg. These rates are shown in parentheses, for example, LKOH-3.13 (1).
Take a look at the following example:
To keep positions in the spread, a trader should open positions of 1 and 2 lots for GAZR-9.12 and GAZR-3.13 respectively in one direction and a position of 1 lot for GAZR-6.13 in another.
Margin column displays margin charging type at this spread:
Specific values mean charging a fixed margin for a spread in a specified volume. The first value specifies the volume of the initial margin, while the second one specifies the volume of the maintenance one.
Maximal - initial and maintenance margin values are calculated for each spread leg. The calculation is performed by summing up the margin requirements for all leg symbols. The margin requirements of the leg having a greater value will be used for the spread.
CME Inter Spread - the rates (in percentage value) for margin are specified: the first one is for the initial margin, while the second is for the maintenance one. The total margin value will be defined by summing up the margin requirements for all symbols of the spread and multiplying the total value by the specified rate.
CME Intra Spread - two values for margin increase are specified: the first value is for the initial margin, while the second is for the maintenance one. During the calculation, the difference between the total margin of A leg symbols and the total margin of B leg symbols is calculated (the difference in absolute magnitude is used, so that it does not matter what leg is a deductible one). According to the type of the calculated margin, the first (for the initial margin) or the second (for the maintenance one) value is added to the obtained difference.
The specified margin is charged per spread unit - for the specified combination of positions. If any part of the position does not fit the spread, it will be charged by an additional margin according to the symbol settings. If the client's current positions have the volume the specified combination fits in several times, the charged margin is increased appropriately. For example, suppose that A and B symbols with the ratios of 1 and 2 are in spread. If a client has positions for these symbols with the volumes of 3 and 4 respectively, the total margin size is equal to the doubled value from the spread settings (two spreads: 1 lot of A and 2 lots of B, 1 lot of A and 2 lots of B) plus the margin for the single remaining A symbol lot.
Spreads are described in details in the client terminal user guide.
Market: Added product activation confirmation dialog displaying the number of remaining activations.
Each application purchased in MetaTrader AppStore is additionally protected, so that it can be launched only on the PC it has been downloaded to during the purchase. Generation of an encoded copy is called activation. Each product can be activated at least 5 times on different hardware. Sellers can increase the number of activations at their sole discretion.
The new dialog protects users from wasting activations by informing that their number is limited.
Signals: Added information about a signal, to which an account is subscribed, to the Navigator window:
If the account is subscribed to the signal, the appropriate icon with the signal's name is shown for it. When hovering the mouse cursor over the name, the subscription's expiration date is displayed. The context menu contains commands for viewing the signal and unsubscribing from it. The latter one is displayed only if the appropriate trading account is currently active in the terminal.
The subscription icon makes working with signals more convenient.
Signals: Added legend for equity, growth, balance and distribution graphs. Also, marks displaying funds depositing and withdrawal have been added to the equity graph. When hovering the mouse cursor over the balance operation triangle, a tooltip with the operation sum is displayed:
The time is displayed up to milliseconds in the client terminal's, MetaEditor's and MetaTester's Journal.
Improved scanning and searching for servers in demo account opening dialog - scanning speed has been increased and additional search for access points for the servers having no connection has been added.
Added __MQL4BUILD__ and __MQL5BUILD__ macros - MQL5 compiler versions in MetaTrader 4 and MetaTrader 5 client terminals respectively. These macros can be used for displaying information about the compiler version used for compiling EX4\EX5 file in Experts log of the client terminal:
//+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- Print(__FILE__," compiled with ",__MQL5BUILD__," build"); //--- return(INIT_SUCCEEDED); }
Fixed signals copying when performing balance and credit operations on the subscriber's account. The total amount of client's funds is changed after a balance/credit operation is performed. If the percentage value of signals copying has decreased by more than 1% afterwards (the volume of copied trades is calculated considering the ratio of the subscriber's and provider's balance), the subscriber's account is forcedly synchronized with the provider's one. This is done to correct the subscriber's current positions according to the new copying percentage value.
If the subscriber's funds have increased due to the balance or credit operation, no forced synchronization is performed.
Fixed errors reported in crash logs.
Updated documentation.
The live update is available through the LiveUpdate system.
The MetaTrader 5 Trading Terminal can be downloaded at https://download.mql5.com/cdn/web/metaquotes.ltd/mt5/mt5setup.exe?utm_source=www.metatrader5.com
ご自身のiOS版MetaTrader 5のアップデートをお忘れなく。そして、ぜひモバイルプラットフォームの新しい機能をご体験ください。
Fixed errors reported in crash logs.
Updated documentation.
The live update is available through the LiveUpdate system.
The MetaTrader 5 Trading Terminal can be downloaded at https://download.mql5.com/cdn/web/metaquotes.ltd/mt5/mt5setup.exe?utm_source=www.metatrader5.com
Added the option for unconditional synchronization of positions between a signal source and a subscriber's account. If enabled, synchronization of positions (including closing open positions not related to the signal) during the initial synchronization of the subscriber's and signal source's state is performed without additional confirmation.
Thisption is necessary when using signals on VPS (Virtual Private Server). It can also be used to increase the synchronization reliability when working with the already selected signal.
Fixed errors reported in crash logs.
Updated documentation.
The live update is available through the LiveUpdate system.
The MetaTrader 5 Trading Terminal can be downloaded at https://download.mql5.com/cdn/web/metaquotes.ltd/mt5/mt5setup.exe?utm_source=www.metatrader5.com