MetaTrader 5の何が新しくなったのか

ウェブプラットフォーム、デスクトップ版、モバイル版の更新履歴

26 9月 2016
Android版 MetaTrader 5 ビルド1372
  • トレーダーが同時に複数銘柄の価格の変化を同時にモニターするためのマルチウィンドウモードがサポートされています。
  • インディケータサブウィンドウの高さを変更する機能が追加されました。
  • チャート画面におけるメニューバーに表示銘柄の変更アイコンならびにチャート設定画面用アイコンが追加されました。


  • PC版と同様にインディケータのレベルを編集する機能も追加され、インターフェイスはブルガリア語にも翻訳されました。
    16 9月 2016
    MetaTrader 5 build 1430: Exposureタブの更新

    ターミナル


    1. 株式市場の為の『資産』タブを形成する新しいアルゴリズムが実装されました。今後は、ターミナルは取引口座に使用されているリスク管理システムに応じて資産の表示を行います(リテールFX、先物または取引モデル)。

      『資産』セクションは、取引所でFXまたは先物取引をする方が、 市場での自分の現在の状況を理解するのに役立ちます。同じ通貨が様々なツールで見られます(通貨ペアのうちの1つとしてや基礎通貨としてなど)。例とし て、GBPUSD、USDJPY、GBPJYで多方向にポジションを保有することができます。この状況において、最終的にどの通貨をいくつ保有していて、 保有する必要があるのかを理解するのは非常に問題です。もっと難しいのは、このようなポジションが3つどころか、遥かに多く保有している場合です。このよ うな状況の口座の最終的な状態は、『資産』タブで簡単に参照することができます。
      これらの3つのポジションでの例を見てみましょう:

      Buy GBPJPY 1 lot at 134.027 — 100 000 GBPを買い、134 027 000 JPYを売りました
      Sell USDJPY 1 lot at 102.320 — 100 000 USDを売り、102 320 000 JPYを買いました
      Sell GBPUSD 1 lot at 1.30923 — 100 000 GBPを売り、103 920 USDを買いました

      私 達は同時に100 000 GPBを買い、売りました。合計としてGBPが0の場合、『資産』タブはこの通貨を表示しません。この場合ではUSDを売り、別の時に買いました。証拠金 通貨はUSDなので、資産タブは現在の残高で計算し合計をします。JPYは2つの取引に入っているので、タブも合計値を表示します。




      このセクションは取引モデルに沿って取引をする方が、資金の運用法を理解するのに役立ちます。前のモデルとの違いは、取引実行 時に資金がすぐに引き落とし/入金される点です。例えば、EURRUBの購入時にすぐにユーロを取得し、残高からは相当する額のルーブルが引き落とされま す。取引時に口座残高はマイナスになることがあります(借りている資金で取引を行っている場合に、補てんに取得した資産が使われる)。このような場合『資 産』タブで、口座の取引状況を簡単に理解することができます。

      ここでは追加でリクイディティ価格(口座上の資金の合計や市場価格による現在のポジション決済の価格/結果)が表示されます。





    2. 取引操作履歴での取引タイプの表示エラーを修正しました。
    3. 取引口座への再接続時にリスクに関する通知ウィンドウが再表示されるエラーを修正しました。
    4. 多数のシンボル(数千またはそれ以上)がある場合の取引銘柄の選択ダイアログの動作が修正および最適化されました。
    5. 移動平均をベースに計算を行う内蔵インディケータ(Bollinger Bands、Adaptive Moving Averageなど)のレベル表示が修正されました。サブウィンドウでインディケータを表示した際にエラーが発生していました。
    6. いくつかのケースで先物取引の発注を行うことができなくなるエラーを修正しました。注文価格が取引価格の上限/下限価格と一致する場合にエラーが発生していました。

    MQL5

    1. MQL5プログラムのコンパイルが高速化および最適化されました。
    2. クラス、構造体、関数の為のfinalとoverrideの修飾子のサポートが追加されました。

      クラスと構造体の為のfinal修飾子
      final 修飾子は、クラスまたは構造体の宣言時にそこからのさらなる継承を禁止します。クラス(構造体)がそこへ更なる変更を加える必要がないものである、または セキュリティ上の理由で変更が許可されていない場合は、それをfinal修飾子で宣言してください。また、全てのクラスのメソッドも暗黙的にfinalと みなされます。
      class CFoo final
        {
        //--- クラス本体
        };
       
      class CBar : public CFoo
        {
        //--- クラス本体
        };
      final修飾子を使用したクラスからの継承を試行すると、上記の例で示したように、コンパイルはエラーを出します。
      cannot inherit from 'CFoo' as it has been declared as 'final'
      see declaration of 'CFoo'

      関数の為のoverride修飾子
      override修飾子は、宣言される関数は必ず親クラスのメソッドをオーバーライ ドする必要があるということを意味しています。この修飾子を使用することで、オーバーライド時のメソッドシグネチャのランダムな変更といったエラーを回避 することができます。例として、基底クラスで引数としてint型変数を取るfuncメソッドを定義します。
      class CFoo
        {
         void virtual func(int x) const { }
        };
      次にメソッドを派生クラスでオーバーライドします:
      class CBar : public CFoo
        {
         void func(short x) { }
        };
      しかしエラーによって引数の型がintからshortに変わります。実際には、このような場合、オーバーライドではなくメソッドのオーバーロードが起こります。オーバーロードされた関数定義のアルゴリズムに従い、特定のケースにおいてコンパイラがオーバーライドされたメソッドの代わりに基底クラスで定義されたメソッドを選択することがあります。

      このようなエラーを回避する為には、明示的にオーバーライドメソッドにoverride修飾子を追加する必要があります。
      class CBar : public CFoo
        {
         void func(short x) override { }
        };
      オーバーライド時にメソッドシグネチャが変更された場合、コンパイラは親クラスで全く同じシグネチャを見つけることができず、コンパイルエラーを出します。
      'CBar::func' method is declared with 'override' specifier but does not override any base class method

      関数の為のfinal修飾子

      final修飾子は逆に、派生クラスでのメソッドのオーバーライドを禁止します。メソッドの実装が十分であり、完全に禁止されている場合、派生クラスで変更されないようにするためにfinal修飾子を使って宣言してください。
      class CFoo
        {
         void virtual func(int x) final { }
        };
       
      class CBar : public CFoo
        {
         void func(int) { }
        };
       
      final修飾子を使用したメソッドのオーバーライドを試行すると、上記の例で示したように、コンパイルはエラーを出します。
      'CFoo::func' method declared as 'final' cannot be overridden by 'CBar::func'
      see declaration of 'CFoo::func'
    3. デフォルトのパラメータを持つテンプレート関数のコンパイルエラーを修正しました。

    マーケット

    1. マーケットの製品のソートにおける一連のエラーを修正しました。

    テスター

    1. ビジュアルテストモードでの保有注文/ポジションの現在の市場価格の更新を修正しました。
    2. 取引銘柄でのテスト時のBuy LimitとSell Limit注文実行のスリッページが削除されました。
    3. いくつかのケースで『始値のみ』モードで、間違った価格が生成されていたエラーを修正しました。
    4. テスト時のOnTradeTransactionイベントの形成が修正されました。
    5. リアルティックに基づくテストの際に、既存の分足バーのlowまたはhighの数値とティック価格(bidかlastかはどの価格にバーが形成されているかによる)の不一致についての情報がテスターの操作ログに表示されます。

    メタエディター

    1. ソースコードのファイル上のデータプロファイリングの表示エラーが修正されました。

    ドキュメントが更新されました。

    19 8月 2016
    MetaTrader 5 build 1395:取引操作のスピードアップとビジュアルテストの改良

    ターミナル

    1. クライアントターミナルでの取引コマンドの送信が最適化され、大幅にスピードアップしました。
    2. Windows 10(build 1607)の32bit版での動作時にターミナルでMQL5プログラムの実行ができないエラーが修正されました。
    3. ナビゲーターに取引口座の動作モード(両建機能取引またはネッティング取引)の表示が追加されました。
    4. 選択した口座でウェブターミナルへ接続する為のコンテキストメニューのコマンドがナビゲーターに追加されました。
    5. 『ヘルプ』メニューが再編され、チュートリアルビデオのリンクが追加されました。
    6. 高解像度の画面での動作時の一連のインターフェイスのエラーを修正しました。
    7. ユーザーインターフェイスのペルシャ語の翻訳の誤りを修正しました。

    MQL5

    1. 抽象オブジェクトのコレクションを作成する'void *'ポインタが追加されました。このタイプの変数に任意のクラスのオブジェクトへのポインタを格納することができます。
      逆変換にはdynamic_cast<クラス名 *>演算子(void *ポインタ)を使用することをお勧めします。キャストができない場合、結果はNULLとなります。
      class CFoo { };
      class CBar { };
      //+------------------------------------------------------------------+
      //| Script program start function                                    |
      //+------------------------------------------------------------------+
      void OnStart()
        {
         void *vptr[2];
         vptr[0]=new CFoo();
         vptr[1]=new CBar();
      //---
         for(int i=0;i<ArraySize(vptr);i++)
           {
            if(dynamic_cast<CFoo *>(vptr[i])!=NULL)
               Print("CFoo * object at index ",i);
            if(dynamic_cast<CBar *>(vptr[i])!=NULL)
               Print("CBar * object at index ",i);
           }
         CFoo *fptr=vptr[1];  // ポインタを与えるエラー、vptr[1]はCFooオブジェクトではありません
        }
      //+------------------------------------------------------------------+
    2. インデックスの文字列からシンボルを取得する、文字列の為の[ ]演算子のサポートが追加されました。指定したインデックスが文字列の範囲外である場合、結果は0となります。
      string text="Hello";
      ushort symb=text[0];  // シンボル'H'のコードを返します
      
    3. INIT_SUCCEEDED (0)またはINIT_FAILED(もしくは任意のゼロの値)のコードを返す、int OnTesterInit(void)シグネチャを伴うTesterInitイベントハンドラの第二バージョンが追加されました。 OnTesterInitがゼロを返す場合、最適化は開始されません。
    4. ChartGetString関数の異なる負荷が異なる結果をもたらしていたエラーを修正しました。

    テスター

    1. ビジュアルテストの為の追加コマンドとホットキーが追加されました。これからはビジュアルテストのチャートをターミナルでも調整することができます(色の変更、各種項目の表示の管理、テンプレートの使用など)。




    2. 『始値のみ』モードでのSleep機能の動作が修正されました。
    3. W1やMN1の時間軸での動作時にバーの不正なステータスの形成をもたらしていたエラーを修正しました。

    メタエディター

    1. ユーザーインターフェイスの翻訳に繁体中国語が追加されました。

    ドキュメントが更新されました。

    8 8月 2016
    MetaTrader 5 iOS build 1371
    • メッセージの外観が一新されました。これからはMQL5.communityでのメッセージのやり取りやデスクトッププラットフォームからの通知は、人気のモバイルメッセンジャーで見慣れたチャット仕様で表示されます。
    • プラットフォームは23か国語に切り替えることができます。トレードで英語を好む場合には、デバイス全体の言語を切り替えることなく、『プログラムについて』のページで英語を有効にしてください。


    5 8月 2016
    MetaTrader 5 Android build 1338
    •  MQL5.communityチャットが追加されました。
    •  SSL証明書をデスクトップターミナルから移動することができるようになりました。
    •  インターフェイスにペルシャ語とオランダ語の翻訳が追加されました。
    15 7月 2016
    MetaTrader 5 build 1375:取引フィードとテスト時のティックへのアクセス

    ターミナル

    1. 板注文画面に時刻と出来高が追加されました。




      時刻と出来高とは
      リアルタイムモードの時刻と出来高では、取引所で行われる全ての取引の一覧が反映されます。取引ごとにそ の実行時間、方向(買い/売り)、価格、質量が表示されます。視覚的分析をしやすくする為に、取引の各方向は別々の色で表示されます(青は買い、ピンクは 売り、緑は不確定のもの)。取引の質量はヒストグラムとしても表示されます。

      時刻と出来高の表示で市場を読む
      時刻 と出来高の表示によって、市場をより詳細に分析することができます。時刻と出来高の表示では取引の方向を、その取引の実行者(買い手または売り手)である トレーダーに知らせます。実行取引の質量によって、これが大口であるか小口であるかやその活動性など、市場参入者の動向を知ることができます。特定の価格 条件下での取引実行速度とその質量では、それらの条件の重要性を結論付けることができます。

      データの使用方法
      表の視覚的分析の他に、取引ごとにデータをCSVファイルへアップロードすることができます。それから、そのデータをMS Excelなどの他のソフトウェアを使用して分析することができます。ファイル中の全てのデータはカンマで区切られます。
      Time,Bid,Ask,Last,Volume,Type
      2016.07.06 16:05:04.305,89360,89370,89370,4,Buy
      2016.07.06 16:05:04.422,89360,89370,89370,2,Buy
      2016.07.06 16:05:04.422,89360,89370,89370,10,Buy
      2016.07.06 16:05:04.669,89360,89370,89370,1,Buy
      2016.07.06 16:05:05.968,89360,89370,89360,7,Sell
      ファイルへデータを保存するには、コンテキストメニューを開いてください。



      取引の方向を正確に識別する為には、ブローカーの取引プラットフォームをバージョン1375にアップデートする必要があります。
    2. ティック取得/板注文画面の変更とOnTickおよびOnCalculateの入力ポイントの呼出の間の時間が大幅に短縮されま した。また、取引状態の変更イベントの取得とOnTradeおよび OnTradeTransactionの入力ポイントの呼出の間の時間が短縮されました。したがって、MQL5プログラムはより素早く市場イベントに反応 することができます。
    3. SSL証明書を使用した拡張認証利用時の取引リクエストの送信が早くなりました。
    4. ユーザーインターフェイスがペルシャ語へ翻訳されました。
    5. 両建モード動作時のチャートのコンテキストメニューのストップロス/テイクプロフィットの設定コマンドの表示が修正されました。

    テスター

    1. CopyTicks関数を使用したテスト時に、ティックヒストリーをリクエストする機能が追加されました。以前はこの関数はストラテジーテスターでは動作しませんでした。

      • 『全ティック』モードでは、関数は生成されたティックの履歴を返します。128000までの最新のティックをリクエストすることができます。
      • 『リアルティックに基づいたすべてのティック』モードでは、関数はリアルティックの履歴を返します。リクエストするデータの深度は、 そのデータの可用性にのみ制限されます。しかし、128000の最新ティックは、ストラテジーテスターによってキャッシュされ、これらのデータのリクエス トは迅速に実行される点についてご注意ください。より深い履歴は、ハードディスクから直接リクエストされるため、リクエストの実行には遥かに多くの時間が かかります。
      • 『始値のみ』と『1分足OHLC』モードでは、ティックヒストリーが作成されない為、関数は以前と同様に動作しません。

    2. ミリ秒のサポートが追加されました。以前のストラテジーテスターでは、時間量は1秒でした。

      • これからは、EventSetMillisecondTimerとSleep関数は、ストラテジーテスターでより正確に動作します。
      • 多通貨エキスパートアドバイザのテスト時のティックの供給精度が向上しました。以前は1秒に複数のティックが入る(分バーのティック ボリュームが60以上)場合、それらの全てに同じ時間がセットされていました。単一通貨エキスパートアドバイザのテスト時には、ティックはエキスパートア ドバイザに直接引き渡されるので、これは特に意味を持ちません。しかし、いくつかの通貨ペアのテスト時には、どの通貨ペアから最初にティックが入ったかを 知ることは重要です。以前は各シンボルごとにティックがエキスパートアドバイザに直接引き渡されていました(初めに1つのシンボルごとに全ての1秒の ティックが、それからもう1つのシンボルの全てのティックが)。これからはティックはミリ秒を考慮し引き渡されます。

        リアルティックでのテスト時には、ミリ秒はソースティックデータから取得されます。ティックの生成時、ミリ秒のセットはティックボリュームに応じて行われます。例えば、3つのティックが1秒に納まる場合、000、333、666ミリ秒がセットされます。

    3. 『始値のみ』や『1分足OHLC』モードでの未決注文やストップロス/テイクプロフィット注文の実行が、実行時の現在価格ではな く、リクエストした価格で実行されるようになりました。正確なモード(全ティックやリアルティック)で使用する市場価格で実行するアルゴリズムは、精度の 低いモードには適していません。中間ティックは生成されない為、注文のリクエスト価格と実行時の市場価格(始値またはOHLC)との差は重要になります。 『始値のみ』と『1分足OHLC』モードでのリクエスト価格による注文の実行は、正確なテスト結果を与えます。

    4. ビジュアルモードでのフォワードテストのサポートが追加されました。これからは、バックテストやフォワードテストの為に、様々な期間におけるエキスパートアドバイザの動作結果の比較をしやすくする、ビジュアルテストの2つの別々のウィンドウが開きます。




      フォワードテストのウィンドウは、主要期間のテストが完了した後にのみ表示されます。

    5. テストチャート上に証拠金維持率の代わりに、資金(margin/equity)に対する証拠金率として計算される証拠金への負荷が出力されます。


    6. テスト時の年率での手数料の計算が修正されました。

    7. テストの過程で作成されるチャート上の残高の計算および表示が修正されました。

    MQL5

    1. 注文の発注、変更、キャンセル時のOrderSend関数の動作が変更されました。変更は外部の取引システムへの注文の出力時にの み適用されます。以前は、OrderSend関数の制御は、ブローカーサーバーでの注文の配置(処理)が成功した後に返されていました。これからは、制御 はブローカーサーバーが外部取引システムから、そこで注文が正常に配置されたという通知を受け取った後にのみ返されます。

      以下の図では、関数の以前(赤の矢印)と現在の動きを概略図として表しています。




    2. MqlTradeResult取引結果の構造に、外部取引システムのエラーコードの欄retcode_externalが追加され ました。これらのエラーの種類と使用は、ブローカーや取引操作が送信される外部取引システムに依存します。例えば、モスクワ証券取引所で実行される retcode_external値は、DGCX(ドバイ金商品取引所)のものとは異なります。

    3. ENUM_CHART_PROPERTY_STRING列挙にCHART_EXPERT_NAMEと CHART_SCRIPT_NAMEプロパティが追加されました。これからは、ChartGetString関数を使用して、エキスパートアドバイザまた はchart_idパラメータで定義されたチャートに取りつけられたスクリプトの名前を判別することができます。

    シグナル

    1. いくつかのケースで反対ポジション(close by)の決済操作がコピーされなかったエラーが修正されました。
    2. RUBとRURを含む通貨ペアの自動比較が改善されました。

    マーケット

    1. 製品カテゴリーごとの並び替えが修正されました。

    メタエディター

    1. 置換えダイアログを開く際の、置換えテキストフィールドのフォーカス設定が修正されました。
    2. 現在の位置から上に検索をする場合のテキストの複数の置換が修正されました。
    ドキュメントが更新されました。

    5 7月 2016
    MetaTrader 5ウェブプラットフォーム:公式リリースが行われました

    公開テストから2か月後、MetaTrader 5マルチマーケットプラットフォームのウェブバージョンが公式にリリースされました。これはあらゆるOSのあらゆるブラウザから、金融市場取引が行えるものです。また、コンピュータにプログラムをインストールする必要がなく、任意のウェブブラウザとインターネット接続があれば十分です。

    アプリケーションは、ウェブソリューションのクロスプラットフォーム性と利便性を備え、デスクトップ版プラットフォームの主要な利点(スピー ド、マルチマーケット性、取引機能の拡張)を持つものです。リリースバージョンの重要な革新は、市場の深さを見ることができ、ワンクリックで成行/指値注 文を発注することができる板注文画面です。

    ウェブプラットフォームによって、デスクトップ版と同様に取引操作を行ったり、テクニカル分析を行うことができます。アプリケーションで利用できるもの:

    • 両建て取引機能
    • 30種類のテクニカルインディケータ
    • 24種類の分析オブジェクト
    • ワンクリック取引と取引注文のフルセット
    • 世界の41言語のプログラムインターフェイス
    19 5月 2016
    MetaTrader 5 iOS build 1335

    デスクトッププラットフォームからモバイルプラットフォームへのSSL証明書の移動は簡単です。iTunesはもう必要ありません。

    MetaTrader 5では、証明書を使用しあなたの口座に特別な保護を追加することができます。証明書が無ければ口座への接続はできません。証明書がデスクトップ版で作成さ れている場合、モバイルプラットフォームの口座に接続するには、証明書を移動する必要があります。

    証明書を移動するには、デスクトッププ ラットフォームを開き、ナビゲータウィンドウで必要な口座を右クリックし移動を選択するだけです。あなただけが知る証明書の保護の為のパスワードを設定 し、それからモバイルプラットフォームを開き、口座に接続します。すぐに証明書をインポートするよう提案するメッセージが表示されます。

    また、MetaTrader 4から移動された口座には、移行ダイアログが表示されます。あなたの口座が第五世代プラットフォームに移動された場合、暖かいウェルカムメッセージと共に新機能についての情報が提供され、パスワードを変更するよう提案されます。

    13 5月 2016
    MetaTrader 5プラットフォームの新バージョンbuild 1340:モバイルへの便利な証明書の移動とテスターの改善

    ターミナル

    1. 高度なセキュリティモードへ接続する為の、デスクトップターミナルからモバイルターミナルへの証明書の移動が快適になりました。

      取 引プラットフォームには拡張認証がサポートされています。パスワードに加えて、口座は特別なSSL証明書によって保護されています。証明書は、口座の為に 取引サーバーで生成されたファイルです。このファイルは固有のものであり、これなしで口座へ接続することはできません。

      以前は、もし証明書がデスクトップターミナルを通じて要求および生成された場合、iPhone/iPadまたはAndroidでMetaTrader 5の口座を使用するには、そのファイルを手動でデバイスへ移動し、それからインストールする必要がありました。これからは証明書は快適に移動されます。

      どのように移動が行われるか
      証明書の移動は取引サーバーを介して行われます。

      • はじめに証明書はデスクトップターミナルで暗号化されます。口座の所有者は、証明書が安全なアルゴリズムAES-256を使用して暗号化されるパスワードを指定します。このパスワードはユーザーのみが知り得るもので、サーバーには送信されません。
      • 次に暗号化された証明書は、モバイルターミナルを介して取得されるまでの間(1時間以内)保存される取引サーバーに送信されます。
      • 証明書の取得の為には、ユーザーはモバイルターミナルを介して口座へ接続する必要があります。接続後すぐに証明書のインポートが提案されます。この為には、デスクトップターミナルで暗号化されたパスワードを入力する必要があります。

      証明書の移動は安全に行われます。取引サーバーは中間ストレージとして使用され、暗号化はクライアント側で行われ、証明書のパスワードは送信されたり、取引サーバーに保存されることはありません。

      証明書の移動方法
      デスクトップターミナルで口座へ接続し、コンテキストメニューの『証明書の移動』を選択してください。



      あなたが指示したことを承認する為に、口座のマスターパスワードを入力してください。次に、サーバーへの送信前に証明書が保護されるパスワードを設定してください。パスワードは8桁以上である必要があります。

      サーバーへの証明書の送信が成功した後、モバイルターミナルを開き口座へ接続してください。するとすぐに証明書のインポートを求められます。同意をして、デスクトップターミナルで指定したパスワードを入力してください。



      インポートした証明書は、『プログラムについてー証明書』で表示することができます。
      証明書の移動がサポートされた、iPhone/iPadまたはAndroid版MetaTrader 5モバイルターミナルは、近日リリースされます。

    テスター

    1. より正確なテストの為に、指値注文やストップロス/テイクプロフィット注文の実行および作動アルゴリズムが変更されました。ビジュアルテストの機能が拡張されました。

      株式商品に対して何が変わったのか
      実 際の市場では、株式商品のチャートの構築と注文の実行は、取引の終値(Last)で行われます。リミットオーダーの作動は、Bid/Ask価格で行われま す。全てのタイプの注文は、常に現在のBid/Ask価格で行われます。より実際の条件に近づけるようにストラテジーテスターに変更が加えられました。
        以前
      現在
      作動 Bid/Askによる全てのタイプの指値注文とストップロス/テイクプロフィット
      Bid/Askによるリミットオーダー
      Lastによるストップ、ストップリミット、ストップロス/テイクプロフィット注文
      実行 注文で指定された価格による全てのタイプの指値注文とストップロス/テイクプロフィット
      作動時のBid/Ask価格による全てのタイプの指値注文とストップロス/テイクプロフィット

      Si-6.16での例を見てみましょう。現在価格が、Bid=72570、Ask=72572、Last=72552で、バイストップオーダーが72580で発注されました。価格変動で新しい現在価格は、以下のようになりました。

      • Bid=72588
      • Ask=72590
      • Last=72580


      株式商品では、ストップオーダー作動のトリガーはLast価格です。従って、Last価格が72580になったことで、バイストップオーダーが有効になり ました。以前では、この72580という価格は、この注文の実行に使用されました。買い操作の実行の為のAsk=72580という価格は市場にはないの で、このような動作は正しくないものでした。


      更新されたテスターでは、現在の買い価格はAsk=72590で、バイストップオーダーはこの価格で実行されます。このように、テスターの新しい取引実行 アルゴリズムは、より正確に実際の市場に対応しています。以前のアルゴリズムでは、取引操作は非市場価格で実行され、不正確なテスト結果に繋がっていたこ とでしょう。

      株式商品以外に対しては何が変わったのか
      株式以外の商品に対しては、アルゴリズムは以前のまま作動し ます。全てのタイプの指値注文とストップロス/テイクプロフィットにBidとAsk価格を使用します。実行モードが変更されました。以前は注文で指定され た価格で行われていましたが、これからは注文作動時の現在のBidとAsk価格が使用されます。

      ビジュアルテストの新しい機能
      ビ ジュアルテストでは、これからはバーのAskの最大価格とBidの最小価格のラインが表示されます。このようなチャートでは、バーの構築と注文の作動が Last価格で行われ、注文の実行はBidやAsk価格で行われる、株式商品でのエキスパートアドバイザーのテストが簡単になります。



      ビジュアルテストのチャートには、指定した日付へのナビゲーションの機能が登場しました。チャート上でダブルクリックをし、必要な日付と時間を指定してく ださい。また、チャートはあらゆる注文や取引に移動させることができます。取引操作の『取引』、『履歴』または『操作』でダブルクリックをしてください。
    2. テスター:テスター起動前の価格/ティックヒストリーのダウンロードのジャーナルが拡張されました。これからは、操作ログには履歴のダウンロードの終了、ダウンロードデータのボリュームとダウンロードにかかった時間が表示されます。
      2016.05.10 12:47:53    Core 1    5.10 Mb of history processed in 0:00.842
      2016.05.10 12:47:53    Core 1    GBPUSD: history synchronization completed [5225 Kb]

    MQL5

    1. いくつかのケースでCopyTicks関数が要求したものよりも少ないティックを返すエラーを修正しました。
    2. テンプレート関数生成のエラーを修正しました。
    3. ドキュメントが更新されました。

    クラッシュログで報告された不具合を修正しました。

    12 5月 2016
    MetaTrader 5ウェブプラットフォーム:β版のテストができます

    トレーダーからの多数の要望により、MetaTrader 5取引プラットフォームのウェブ バージョンが開発されました。新製品はスピード、マルチマーケット性、取引機能の拡張といったデスクトップ版『5』の利点を持つ、ウェブプラットフォーム の利便性とクロスプラットフォーム性を兼ね備えたものとなっています。

    MetaTrader 5ウェブプラットフォームがMQL5.communityのサイトで利用可能になり、あらゆるOS(Windows、Mac、Linux)のあらゆるブラウザから金融市場取引を行うことができるようになりました。プログラムをインストールする必要はなく、インターネット接続があれば十分です。

    β版でトレーダーがすぐに利用できるもの:

    • 両建て取引機能
    • 30種類のテクニカルインディケータ
    • 24種類の分析オブジェクト
    • MetaTrader 5の取引注文のフルセット
    • 41言語のインターフェイス
    β版のリリースは幅広い公開テストを提供し、トレーダーが新しい機能を評価することができるようにするという目的を持っています。
    22 4月 2016
    MetaTrader 5 build 1325:ヘッジ取引と実際のティックによるテスト

    ターミナル

    1. リテールFXの可能性を拡大する為に、プラットフォームに2つ目の計算システムであるヘッジングが追加されました。これからは、シンボルごと に、反対方向のものを含む、多数のポジションを持つことができます。これによって、いわゆる『ロック』を使った取引戦略を実装することができ、つまり、も し価格がトレーダーに反する方向へ向かった場合、反対方向にポジションを開くことができます。

      新しい計算システムは、MetaTrader 4で使用されているものと同様なので、トレーダーに馴染みのあるものです。また、トレーダーは、複数の取引の実行(部分的なものも含む)や、MQL5 Cloud Networkのサポートを持つ多通貨・マルチスレッドテスターなど、第五世代プラットフォームの全ての長所を使用することができます。

      これからは、一つのシンボルにつき一つのポジションしか持つことができない、ネッティングを使用しているアカウントと同じアカウントで、株式取引を行うことができます。また、同じプラットフォームの他のアカウントで、FX取引やヘッジングを使用することもできます。

      ヘッジアカウントの取得方法とポジション計算タイプの参照場所
      ポジション計算のタイプはアカウントレベルで設定され、これはターミナルウィンドウのヘッダやログに表示されます。



      ヘッジングのデモアカウントを開設する為には、対応するオプションを有効にしてください。



      ネッティングシステム
      この計算システムは、アカウント上では一度に1つのシンボルにつき1つのポジションのみ開くことができるということを念頭に置いています。

      • ポジションを持っている場合、同じ方向での取引実行時にこのポジションのボリュームを増加させます。
      • 逆方向に取引が実行された場合、既存のポジションのボリュームを小さくし、これを閉じたり(現在のポジションボリュームと等しいボリュームでの取引実行時)反転させます(もし反対方向の取引のボリュームが現在のポジションよりも大きい場合)。

      この時、どのようなアクションの結果、反対方向に取引が行われるかや、市場の注文や指値注文の実行の結果は重要ではありません。

      以下に、0.5ロットのボリュームでのEURUSDの二つの買い取引の実行例を引用しました。


      これらの取引の実行結果は、1ロットのボリュームの1つの共通ポジションになりました。

      ヘッジングシステム
      この計算システムはアカウントに、同じシンボルに対し反対方向のものを含む、複数の取引ポジションを持つことを可能にします。

      取引シンボルに開いているポジションがあり、トレーダーが新しい取引を実行する(または指値注文が作動する)場合、新しいポジションが開かれます。既存のポジションは変化しません。

      以下に、0.5ロットのボリュームでのEURUSDの二つの買い取引の実行例を引用しました。


      これらの取引が実行された結果、2つの別個のポジションが開かれました。

      新しい取引操作タイプ Close By
      ヘッ ジングポジション計算のアカウントの為に、反対のポジションを閉じる新しいタイプの取引操作が追加されました。この操作によって、同じシンボルでの反対方 向の2つのポジションを同時に閉じることができます。もし相対するポジションが様々なロット数を持っている場合、2つのうちの1つの注文のみが開いたまま 残ります。このボリュームは、2つのクローズポジションのロット差と等しくなり、ポジションの方向とオープン価格は、クローズポジションのうちの(ボ リューム的に)大きい方と等しくなります。

      2つのポジションの単一のクローズと比較すると、相対クローズでは、トレーダーは1つのスプレッドを節約することができます。

      • 単一クローズの場合、トレーダーは2回スプレッドを払うことになります。より低い価格(Bid)で買いを閉じ、より高い価格(Ask)で売りを閉じます。
      • 最初のポジションを閉じる為の相対クローズでは、2つ目のポジションのオープン価格を使用し、2つ目のポジションには最初のポジションのオープン価格が使用されます。


      相対ポジションのクローズ時に、『close by』のタイプの注文が設定されます。閉じられるポジションのチケットが、コメントで指定されます。相対ポジションのペアのクローズは、『out by』タイプの2つの取引によって行われます。両方のポジションのクローズの結果によって得られる取引の利益/損失のサイズは、1つの取引でのみ指定され ます。


    2. プラットフォームのヘッジングサポートの、MetaTrader 4からのアカウントの転送機能が拡張されました。これからは、ブローカーはMetaTrader 5のアカウントを全ての操作と一緒に自動モードで転送することができます。(建玉、指値、全ての取引履歴)

      MetaTrader 4から転送されたアカウントへの最初の接続時に、ウェルカムページが表示されます。転送は安全に行われます。作業を開始する前に、以前に MetaTrader 4で使用していたアカウントのパスワードを入力し、それから新しいパスワードを設定してください。



      接続後は、MetaTrader 5で始めからアカウントを開いていたかのように通常モードで作業することができ、MetaTrader 4の全ての取引履歴は自動的に新しいアカウントに保存されます。
      インポート時に、注文とポジションのチケット(注文履歴を含む)は、MetaTrader 4の取引履歴の一つの記録は、MetaTrader 5の取引履歴の4つの記録までに相応するので保存されません。全ての取引記録には、新しいチケットが割り当てられます。

      アカウント番号は、ブローカーがインポートをする方法に応じて、保存されるか、または新しいものに置き換えられます。
    3. チャットが追加されました。これからは、取引プラットフォームで直にMQL5.communityの友人や仲間と交流することができます。チャットでは、MQL5アカウントの全ての個人メッセージが表示されます。交流の前に、チャット画面やプラットフォームの設定から自分のアカウントにログインしてください。(サービス->設定->コミュニティ)




    4. デモアカウント開設のダイアログが簡素化され、ヘッジ機能付きアカウントを開設することができるようになりました。これからは、長いアンケートを記入する必要はなく、主要データを表示し取引パラメータを選択するだけで十分です。



    5. プラットフォームを使った作業の迅速な開始の為に、デモアカウントの自動割り当てが追加されました。もし、プラットフォームにまだ一 つもアカウントがない場合、起動時に最初の利用可能な取引サーバでデモアカウントを割り当てます。開設に成功した後、アカウントはすぐに接続されます。

    6. これからは、各ポジションにはチケット(ユニークナンバー)があります。通常、ポジションが開かれた注文のチケットと一致します (サーバーでの操作の結果チケットが変更された場合を除く)。例えば、ポジションの再オープンによるスワップの加算です。ターミナルの新しいバージョンへ のアップデート後、以前に開かれたポジションには、チケットが自動的に割り当てられます。



    7. ポジションの方向転換をもたらす市場発注の際のストップロスとテイクプロフィットのレベル設定が修正されました。以前は、新しいポジションでは適切なレベルが設定されませんでした。
    8. ワンクリック注文パネルのコントロール要素で、小数点以下4桁以上を持つ価格の表示が修正されました。
    9. 印刷前のプレビューウィンドウのニュース表示のエラーを修正しました。
    10. ティックチャートの表示エラーを修正しました。
    11. ターミナルの強制終了後のマーケットデプスの開始が修正されました。
    12. ワンクリック注文パネルのコントロール要素の表示の際に、成行注文の許可のチェックが追加されました。
    13. 多数の開かれた注文やポジションがある場合の、マージンと利益の計算が最適化されました。
    14. ユーザーインターフェースのマレー語への翻訳が追加されました。
    15. マニュアルが全体的に更新されました。新しいデザイン、インタラクティブなスクリーンショット、そして内蔵されたビデオなど、これらは全てMetaTrader 5を使った取引の学習を最大限に簡単で便利なものにする為にあります。



    16. 『上からのチャート』モードでのグラフィックオブジェクトの表示が修正されました。

    テスター

    1. 取引ロボットとテクニカルインディケータの実際のティックヒストリーでのテストが可能になりました。

      実際ティックでのテストと最適化は実際の条件に最大限に近くなります。分足データをベースに生成されたものの代わりに金融商品ごとに証券会社によって収集された実際ティックが使用されます。これらのティックは、取引所や流動性プロバイダーからのものです。

      実際のティックによるテストもしくは最適化を開始する為には、ストラテジーテスターで適切なモードを選択してください。


      ティックデータは分足データよりも遥かに大きいサイズを持っています。初めにテストを起動する際には、これらのダウンロードに時間がかかる場合がありま す。ダウンロードされたティックデータは、月ごとにTKSファイル\bases\[取引サーバ名]\ticks\[シンボル名]に保存されます。

      実際ティックでのテストの特徴
      実際ティックでのテストの際には、スプレッドは分足バーの領域内で変わることがあり、その場合、1分間の中でのティックティック生成時に相応するバーで決まっているスプレッドが使用されます。

      も しシンボルによってマーケットデプスが中継される場合、バーはきっちりと最終取引(Last)実行価格で構築されます。他の場合では、テスターは初めに Lastの価格でバーを構築しようと試みますが、それがない場合にのみBid価格を使用します。そこにLast価格があったかどうかに関係なく、 OnTickの発生は全てのティックで起こります。

      チャートがLast値で構築されていたとしても、取引操作はいつもBidとAskの価 格によって行われる点にご注意ください。例えば、バーの始値を使用するエキスパートアドバイザは一つの価格(Last)に基づいてシグナルを取得します が、取引の実行は他の価格(BidまたはAsk)で行われます。『全ティック』生成モード使用時には、バーはBid価格で構築され、取引はBidやAsk 価格で実行されます。この時Askは、Bid+分足バーに相応する固定スプレッドで計算されます。

      もしシンボルの履歴に分足バーがある が、その分に対するティックデータがない場合、テスターは『全ティック』モードでティックを生成します。これによって、ブローカーに完全なティックデータ がない場合の、計画した期間中におけるエキスパートアドバイザのテストをすることが可能になります。もしシンボルの履歴に分足バーがないが、その分に対す るティックデータがある場合、これらのティックは無視されます。分足データはより信頼性が高いと考えられています。

      MQL5 Cloud Networkでの実際ティックによるテスト
      実際ティックでのテストは、ローカルやリモートエージェントだけでなく、MQL5 Cloud Networkを介しても利用することができます。数か月かかるストラテジーの最適化も、数千のコンピュータの計算能力を用いることで数時間で実行することができます。

      ネットワークを介したテストを行うには、クラウドエージェントの使用をオンにしてください。



      MQL5 Cloud Networkを介した実際ティック上でのテストでは、大量のインターネットトラフィックが転送されることがあります。これは、コンピュータネットワークの使用に対する最終コストに大きく影響を与えます。
    2. 取引シンボルの幾つかのタイプで手数料が計算されるエラーを修正しました。
    3. 対応するポジションのExpert欄の数値に応じた、SL/TPが作動した結果に起こる、取引注文のExpert欄の記入が修正されました。以前は記入されませんでした。
    4. 通常およびフォワード最適化の結果タブへの切り替えが修正されました。
    5. "Envelopes"インディケータの表示と計算が修正されました。
    6. ビジュアルテストの実行が最適化されました。
    7. 多数の開かれた注文やポジションがある場合の、マージンと利益の計算が最適化されました。
    8. 高頻度取引での取引操作の実行が最適化されました。
    9. 今後は履歴の同期は、現在の相場を必要としない、非主要シンボルのプロパティのリクエスト時に行われません。例えば、 SYMBOL_SELECT、SYMBOL_DIGITS, SYMBOL_SPREAD_FLOAT、SYMBOL_TRADE_CALC_MODE、SYMBOL_TRADE_MODE、 SYMBOL_TRADE_STOPS_LEVEL、SYMBOL_TRADE_FREEZE_LEVEL、SYMBOL_TRADE_EXEMODEな どです。以前は非主要シンボルのプロパティの任意のリクエスト時に現在のシンボルでの履歴の同期化が行われていました。
    10. 年率でのスワップ計算が修正されました。

    MQL5

    1. MQL5言語の新しい機能の追加とMetaTrader 5プラットフォームにヘッジングが登場したことに関連し、実行されるEX5ファイルのフォーマットが変更されました。以前のビルドのMetaEditor でコンパイルされた全ての古いEX5プログラムは、更新後に正常に動作するため、上位互換性は完全に確保されます。

      この時、1325以降のビルドでコンパイルされたEX5プログラムは、古いビルドのターミナルでは動作せず、下位互換性はありません。
    2. 抽象クラスと純粋仮想関数のサポートが追加されました。

      抽象クラスは、将来におけるより具体的な派生クラスを作成する一般的なエンティティを作成する為に作られています。抽象クラスは、いくつかの他のクラスの為に基底クラスとして使用することができるだけなので、抽象クラスのオブジェクトタイプを作成することはできません。

      純粋仮想関数を一つでも含むクラスは、抽象クラスとなります。したがって、抽象クラスから派生したクラスは、その純粋仮想関数を実装する必要があり、そうしないと、これらは同様に抽象クラスになります。

      仮 想関数は、純粋指定子構文を使用し、『純粋』として宣言されます。例として、共通機能を提供する為だけ型に作成されるCAnimalクラスを見てみましょ う。CAnimalのオブジェクト自体は、実際の使用には一般的すぎます。したがって、CAnimalクラスは、抽象クラスの為の良い例となります。
      class CAnimal
        {
      public:
                            CAnimal();     // 構造
         virtual void       Sound() = 0;   // 純粋仮想関数
      private:
         double             m_legs_count;  // 足数
        };
      ここでのSound()関数は、純粋仮想関数PURE(=0)の指定子で宣言されている為、純粋仮想となります。

      (=NULL)または(=0)と純粋指定子PUREが指定されている仮想関数のみが純粋仮想関数となります。抽象クラスの使用と宣言例:
      class CAnimal
        {
      public:
         virtual void       Sound()=NULL;   // PUREメソッドは派生クラスでオーバーライドする必要があり、CAnimalクラス自体は抽象クラスになり、作成されません
        };
      //--- 抽象クラスからの子孫
      class CCat : public CAnimal
       {
      public:
        virtual void        Sound() { Print("Myau"); } // PUREは再定義され、CCatクラスは抽象ではなく作成されません
       };
      
      //--- 誤用例
      new CAnimal;         // エラー『CAnimal』-コンパイラはエラー"cannot instantiate abstract class"を出します
      CAnimal some_animal; // エラー『CAnimal』- コンパイラはエラー『cannot instantiate abstract class』を出します
      
      //--- 正しい使用例
      new CCat;  // エラーはありません。CCatクラスは抽象ではありません
      CCat cat;  // エラーはありません。CCatクラスは抽象ではありません
      抽象クラス使用の制限
      純粋仮想関数(直接または間接)の抽象クラスのコンストラクタによる呼び出しの際、結果は未定義になります。
      //+------------------------------------------------------------------+
      //| 抽象基底クラス                                                     |
      //+------------------------------------------------------------------+
      class CAnimal
        {
      public:
         //--- 純粋仮想関数
         virtual void      Sound(void)=NULL;
         //--- 関数
         void              CallSound(void) { Sound(); }
         //--- コンストラクタ
         CAnimal()
          {
           //--- 仮想メソッドの明示的呼び出し
           Sound();
           //--- 暗黙的呼び出し(第三関数を介して)
           CallSound();
           //--- コンストラクタまたはデストラクタでは、常に自分の関数が呼び出されます
           //--- 仮想性や子孫を呼び出す関数に関わりません
           //--- もし呼び出される関数が純粋仮想である場合、
           //--- 呼び出しは重大な実行エラー"pure virtual function call"をもたらします
          }
        };
      しかしながら、抽象クラスのコンストラクタとデストラクタは、他のメンバー関数を呼び出すことができます。

    3. イベントモデルの構成の簡素化の為に、関数へのポインターのサポートが追加されました。

      関数へのポインターを宣言する為には、『関数へのポインター』のタイプを明確にしてください。
      typedef int (*TFunc)(int,int);
      これで、TFuncがタイプとなり、変数の関数ポインターを宣言することができます。
      TFunc func_ptr;
      func_ptr変数に、以後の呼び出しの為に、関数のアドレスを保存することができます。
      int sub(int x,int y) { return(x-y); }
      int add(int x,int y) { return(x+y); }
      int neg(int x)       { return(~x);  }
      
      func_ptr=sub;
      Print(func_ptr(10,5));
      
      func_ptr=add;
      Print(func_ptr(10,5));
      
      func_ptr=neg;           // エラー: negはint (int,int)型を持っていません
      Print(func_ptr(10));    // エラー: 二つのパラメータが存在する必要があります
      関数のポインターを保存し、パラメータとして引き渡すことができます。クラスの非静的メソッドにポインターを取得することはできません。

    4. MqlTradeRequestの取引リクエスト構造体に、二つの新しいフィールドが追加されました。

      • position — ポジションチケット。ヘッジ取引の際やポジションのクローズや変更時に、その明確な識別の為に記入する必要があります。ポジションの識別が取引シンボルの名前で行われる為、ネッティング計算システムでの取引時には、この欄の記入は意味を持ちません。
      • position_by — 相対ポジションのチケット。同じシンボルで、かつ反対方向に開かれた相対ポジションのクローズ時に使用されます。ヘッジポジション計算システムにのみ使用されます。

    5. ENUM_TRADE_REQUEST_ACTIONSの取引操作タイプにTRADE_ACTION_CLOSE_BY(相対ポジションクローズ)が追加されました。ヘッジポジション計算システムにのみ使用されます。

    6. 注文、取引、ポジションのプロパティに、取引操作に相応するチケットが追加されました。

      • ENUM_ORDER_PROPERTY_INTEGERにORDER_TICKET(注文のチケット)が追加されました。固有の番号が各注文に割り当てられます。
      • ENUM_DEAL_PROPERTY_INTEGERにDEAL_TICKET(取引のチケット)が追加されました。固有の番号が各取引に割り当てられます。
      • ENUM_POSITION_PROPERTY_INTEGERにPOSITION_TICKET(ポジションのチケット)が追加さ れました。固有の番号が各ポジションに割り当てられます。通常、ポジションが開かれた注文のチケットと一致します(サーバーでの操作の結果チケットが変更 された場合を除く)。例えば、ポジションの再オープンによるスワップの加算です。その注文によってポジションが開かれた注文を見つけるには、 POSITION_IDENTIFIERを使用する必要があります。POSITION_TICKETは MqlTradeRequest::positionと一致します。

    7. ENUM_ORDER_TYPEにORDER_TYPE_CLOSE_BY(相対するポジションによるポジションクローズ注文)が追加されました。
    8. ENUM_ORDER_PROPERTY_INTEGERに(ORDER_POSITION_BY_IDORDER_TYPE_CLOSE_BY注文の為の相対ポジションの識別子)が追加されました。
    9. ENUM_DEAL_ENTRYにDEAL_ENTRY_OUT_BY(相対ポジションをクローズした結果取引が行われた)が追加されました。
    10. 取引トランザクションの構造体MqlTradeTransactionに、2つの同様のフィールドが追加されました。

      • position — トランザクションによって影響を受けるポジションのチケット。市場注文の処理に関わるトランザクション (TRADE_TRANSACTION_ORDER_* ポジションチケットがまだ割り当てられていないTRADE_TRANSACTION_ORDER_ADD以外)と注文履歴 (TRADE_TRANSACTION_HISTORY_*)の為に記入します。
      • position_by — 相対ポジションのチケット。同じシンボルで、かつ反対方向に開かれた相対ポジションのクローズ時に使用されます。相対ポジションのクローズの注文 (close by)と相対ポジションのクローズの為の取引(out by)の為のみに記入されます。

    11. PositionGetTicket関数が追加されました。これはオープンポジションリスト内のインデックスによるポジションチ ケットを返し、PositionGetDouble、PositionGetInteger、PositionGetString関数を使用し、今後の作 業の為に自動的にこの関数を選択します。
      ulong  PositionGetTicket(
         int  index      // ポジションリスト内の番号
         );

    12. PositionSelectByTicket関数が追加されました。これは、指定されたチケットによって、今後の作業の為にオープンポジションを選択します。
      bool  PositionSelectByTicket(
         ulong   ticket     // ポジションのチケット
         );

    13. ENUM_SYMBOL_INFO_DOUBLEにSYMBOL_MARGIN_HEDGED(カバーされたポジション(一つのシンボルに異なる方向へのポジション)の一つのロットの契約またはマージンのサイズ)が追加されました。

      • 最初のマージンがシンボルの為に指定されている場合(SYMBOL_MARGIN_INITIAL)、ヘッジマージンは絶対値(金額での)として指定されます。
      • 最初のマージンが指定されていない(0と等しい)場合、SYMBOL_MARGIN_HEDGEDに、取引タイプ(SYMBOL_TRADE_CALC_MODE)に相応する式に基づくマージンの計算時に使用される契約サイズが表示されます。

      ヘッジポジションの為のマージン計算の特徴は、 MetaTrader 5取引プラットフォームのユーザーガイドに書かれています。

    14. ENUM_ACCOUNT_INFO_INTEGERに、ACCOUNT_MARGIN_MODE(現在の取引アカウントの為のマージン計算モード)が追加されました。

      • ACCOUNT_MARGIN_MODE_RETAIL_NETTINGは、『ネッティング』モード(1つのシンボルに対し、1つの ポジションのみ)でのポジション計算をする子場外市場の為に使用されます。シンボルタイプをベースにマージンが計算されます。 (SYMBOL_TRADE_CALC_MODE)
      • ACCOUNT_MARGIN_MODE_EXCHANGEは、株式市場の為に使用されます。シンボル設定で指定された割引に基づいてマージンが計算されます。割引はブローカーによって設定されますが、取引所によって決められた値よりも低くなることはありません。
      • ACCOUNT_MARGIN_MODE_RETAIL_HEDGINGは、独立したポジション計算(『ヘッジング』は1つのシンボ ルに対し、複数のポジションを有することができる)の際、市場外取引の為に使用されます。マージン計算はシンボルタイプ (SYMBOL_TRADE_CALC_MODE)とヘッジマージンのサイズ計算(SYMBOL_MARGIN_HEDGED)をベースに行われます。

    15. クライアントターミナルのプロパティENUM_TERMINAL_INFO_INTEGERに TERMINAL_SCREEN_DPI(画像の情報出力解像度は、DPIで測定される)が追加されました。このパラメータを知ることで、異なる解像度の モニターで同じように表示されるように、グラフィックオブジェクトのサイズを指定することができます。

    16. クライアントターミナルのプロパティENUM_TERMINAL_INFO_INTEGERにTERMINAL_PING_LAST(マイクロ秒単位の取引サーバーまでのPingの最新の既知値)が追加されました。1秒は100万マイクロ秒です。

    17. SendFTP関数呼び出し結果の送信が修正されました。以前は、送信に成功した際に、TRUEの代わりにFALSEが返されていました。
    18. 幾つかのケースで、"Access violation"エラーに繋がっていたStringConcatenate関数内のエラーを修正しました。
    19. テンプレート関数の動作のエラーを修正しました。
    20. Print、Alert、Comment関数は、4000以上の文字サイズの列を出力することができるようになりました。
    21. 配列同士(開始からの初期ポジションの異なるオフセット)の比較の際に起こっていたArrayCompare関数内のエラーを修正しました。
    22. スタンダードライブラリにヘッジ取引のヘルプが追加されました。

      CPosition
      以下のメソッドが追加されました。:

      • SelectByMagicは、以後の作業の為のシンボルとマジックナンバーによってポジションを選択します。
      • SelectByTicketは、以後の作業の為のチケットでポジションを選択します。

      CTrade
      以下のメソッドが追加されました。

      • RequestPositionは、ポジションのチケットを取得します。
      • RequestPositionByは、相対ポジションのチケットを取得します。
      • PositionCloseByは、反対方向のポジションチケットの指定によってポジションを閉じます。
      • SetMarginModeは、現在のアカウントの設定に応じて、マージンの計算モードを設定します。

      メソッドのオーバーロードを追加しました。

      • PositionCloseは、チケットによってポジションを閉じます。
      • PositionModifyは、チケットによってポジションを変更します。

      CAccountInfo
      以下のメソッドが変更されました。

      • MarginModeは、今後はマージンの計算モードを取得します。以前は、StopoutMode新メソッドと同様に動作しました。
      • MarginDescriptionは、今後は文字列としてマージン計算モードを取得します。以前は、StopoutModeDescription新メソッドと同様に動作しました。

      以下のメソッドが追加されました。

      • StopoutModeは、最小保証金レベルの指定モードを取得します。
      • StopoutModeDescriptionは、最小保証金レベルの指定モードを文字列として取得します。

      CExpert
      以下のメソッドが追加されました。

      • SelectPositionは、それを使用した今後の作業の為のポジションを選択します。

    23. MQL5のスタンダードライブラリにいくつかの改良が加えられました。
    24. DLLライブラリのアンロードエラーを修正しました。
    25. コンストラクタクラスのテンプレートサポートを修正しました。

    Signals

    1. 年率でのスワップ計算が修正されました。

    MetaEditor

    1. 『完全なワードのみ』モードにおけるファイルごとのワード検索が修正されました。
    2. 対応するファイルのコンパイル結果の列をダブルクリックすることでファイルへ移動することができるようになりました。
    3. Windows XPの幾つかのコントロールエレメントの表示が修正されました。
    ドキュメントが更新されました。
    31 3月 2016
    MetaTrader 5 build 1295

    ターミナル

    1. リテールFXトレーダーの可能性を拡大する為に、プラットフォームに2つ目の計算システムであるヘッジングが追加されました。こ れからは、シンボルごとに、反対方向のものを含む、多数のポジションを持つことができます。これによって、いわゆる『ロック』を使った取引戦略を実装する ことができ、つまり、もし価格がトレーダーに反する方向へ向かった場合、反対方向にポジションを開くことができます。

      新しい計算システムは、MetaTrader 4で使用されているものと同様なので、トレーダーに馴染みのあるものです。また、トレーダーは、複数の取引の実行(部分的なものも含む)や、MQL5 Cloud Networkのサポートを持つ多通貨・マルチスレッドテスターなど、第五世代プラットフォームの全ての長所を使用することができます。

      これからは、一つのシンボルにつき一つのポジションしか持つことができない、ネッティングを使用しているアカウントと同じアカウントで、株式取引を行うことができます。また、同じプラットフォームの他のアカウントで、FX取引やヘッジングを使用することもできます。

      ヘッジ機能つきアカウントの開設方法とポジション計算タイプの参照場所
      ポジション計算のタイプはアカウントレベルで設定され、これはターミナルウィンドウのヘッダやログに表示されます。



      ヘッジングのデモアカウントを開設する為には、対応するオプションを有効にしてください。




      ネッティングシステム
      この計算システムは、アカウント上では一度に1つのシンボルにつき1つのポジションのみ開くことができるということを念頭に置いています。

      • ポジションを持っている場合、同じ方向での取引実行時にこのポジションのボリュームを増加させます。
      • 逆方向に取引が実行された場合、既存のポジションのボリュームを小さくし、これを閉じたり(現在のポジションボリュームと等しいボリュームでの取引実行時)反転させます(もし反対方向の取引のボリュームが現在のポジションよりも大きい場合)。


      この時、どのようなアクションの結果、反対方向に取引が行われるかや、市場の注文や指値注文の実行の結果は重要ではありません。

      以下に、0.5ロットのボリュームでのEURUSDの二つの買い取引の実行例を引用しました。


      これらの取引の実行結果は、1ロットのボリュームの1つの共通ポジションになりました。

      ヘッジングシステム
      この計算システムはアカウントに、同じシンボルに対し反対方向のものを含む、複数の取引ポジションを持つことを可能にします。

      取引シンボルに開いているポジションがあり、トレーダーが新しい取引を実行する(または指値注文が作動する)場合、新しいポジションが開かれます。既存のポジションは変化しません。

      以下に、0.5ロットのボリュームでのEURUSDの二つの買い取引の実行例を引用しました。


      これらの取引が実行された結果、2つの別個のポジションが開かれました。

      新しい取引操作タイプ Close By
      ヘッ ジングポジション計算のアカウントの為に、反対のポジションを閉じる新しいタイプの取引操作が追加されました。この操作によって、同じシンボルでの反対方 向の2つのポジションを同時に閉じることができます。もし相対するポジションが様々なロット数を持っている場合、2つのうちの1つの注文のみが開いたまま 残ります。このボリュームは、2つのクローズポジションのロット差と等しくなり、ポジションの方向とオープン価格は、クローズポジションのうちの(ボ リューム的に)大きい方と等しくなります。

      2つのポジションの単一のクローズと比較すると、相対クローズでは、トレーダーは1つのスプレッドを節約することができます。

      • 単一クローズの場合、トレーダーは2回スプレッドを払うことになります。より低い価格(Bid)で買いを閉じ、より高い価格(Ask)で売りを閉じます。
      • 最初のポジションを閉じる為の相対クローズでは、2つ目のポジションのオープン価格を使用し、2つ目のポジションには最初のポジションのオープン価格が使用されます。


      相対ポジションのクローズ時に、『close by』のタイプの注文が設定されます。閉じられるポジションのチケットが、コメントで指定されます。相対ポジションのペアのクローズは、『out by』タイプの2つの取引によって行われます。両方のポジションのクローズの結果によって得られる取引の利益/損失のサイズは、1つの取引でのみ指定され ます。



    2. 取引ロボットとテクニカルインディケータの実際のティックヒストリーでのテストが可能になりました。

      実際ティックでのテストと最適化は実際の条件に最大限に近くなります。分足データをベースに生成されたものの代わりに、金融商品ごとにブローカーによって収集された実際のティックが使用されます。これらのティックは、取引所や流動性プロバイダーからのものです。

      実際のティックによるテストもしくは最適化を開始する為には、ストラテジーテスターで適切なモードを選択してください。



      ティックデータは分足データよりも遥かに大きいサイズを持っています。初めにテストを起動する際には、これらのダウンロードに時間がかかる場合がありま す。ダウンロードされたティックデータは、月ごとにTKSファイル\bases\[取引サーバ名]\ticks\[シンボル名]に保存されます。

      実際ティックでのテストの特徴
      実際ティックでのテストの際には、スプレッドは分足バーの領域内で変わることがあり、その場合、1分間の中でのティックティック生成時に相応するバーで決まっているスプレッドが使用されます。

      も しシンボルによってマーケットデプスが中継される場合、バーはきっちりと最終取引(Last)実行価格で構築されます。他の場合では、テスターは初めに Lastの価格でバーを構築しようと試みますが、それがない場合にのみBid価格を使用します。そこにLast価格があったかどうかに関係なく、 OnTickの発生は全てのティックで起こります。

      チャートがLast値で構築されていたとしても、取引操作はいつもBidとAskの価 格によって行われる点にご注意ください。例えば、バーの始値を使用するエキスパートアドバイザは一つの価格(Last)に基づいてシグナルを取得します が、取引の実行は他の価格(BidまたはAsk)で行われます。『全ティック』生成モード使用時には、バーはBid価格で構築され、取引はBidやAsk 価格で実行されます。この時Askは、Bid+分足バーに相応する固定スプレッドで計算されます。

      もしシンボルの履歴に分足バーがある が、その分に対するティックデータがない場合、テスターは『全ティック』モードでティックを生成します。これによって、ブローカーに完全なティックデータ がない場合の、計画した期間中におけるエキスパートアドバイザのテストをすることが可能になります。もしシンボルの履歴に分足バーがないが、その分に対す るティックデータがある場合、これらのティックは無視されます。分足データはより信頼性が高いと考えられています。
      現時点では、実際のティックでのテストと最適化は、ローカル及び遠隔のエージェントでのみ可能です。クラウドコンピューティングネットワークMQL5 Cloud Networkのサポートは近日追加予定です。

    3. チャットが追加されました。これからは、取引プラットフォームで直にMQL5.communityの友人や仲間と交流することができます。チャットでは、MQL5アカウントの全ての個人メッセージが表示されます。交流の前に、チャット画面やプラットフォームの設定から自分のアカウントにログインしてください。(サービス->設定->コミュニティ)




    4. デモアカウント開設のダイアログが簡素化され、ヘッジ機能付きアカウントを開設することができるようになりました。これからは、長いアンケートを記入する必要はなく、主要データを表示し取引パラメータを選択するだけで十分です。



    5. プラットフォームを使った作業の迅速な開始の為に、デモアカウントの自動割り当てが追加されました。もし、プラットフォームにま だ一つもアカウントがない場合、起動時に最初の利用可能な取引サーバでデモアカウントを割り当てます。開設に成功した後、アカウントはすぐに接続されま す。

    6. これからは、各ポジションにはチケット(ユニークナンバー)があります。通常、ポジションが開かれた注文のチケットと一致します (サーバーでの操作の結果チケットが変更された場合を除く)。例えば、ポジションの再オープンによるスワップの加算です。ターミナルの新しいバージョンへ のアップデート後、以前に開かれたポジションには、チケットが自動的に割り当てられます。




    7. ポジションの方向転換をもたらす市場発注の際のストップロスとテイクプロフィットのレベル設定が修正されました。以前は、新しいポジションでは適切なレベルが設定されませんでした。
    8. ワンクリック注文パネルのコントロール要素で、小数点以下4桁以上を持つ価格の表示が修正されました。
    9. 印刷前のプレビューウィンドウのニュース表示のエラーを修正しました。
    10. ティックチャートの表示エラーを修正しました。
    11. ターミナルの強制終了後のマーケットデプスの開始が修正されました。
    12. ワンクリック注文パネルのコントロール要素の表示の際に、成行注文の許可のチェックが追加されました。
    13. 多数の開かれた注文やポジションがある場合の、マージンと利益の計算が最適化されました。
    14. ユーザーインターフェースのマレー語への翻訳が追加されました。
    15. マニュアルが全体的に更新されました。新しいデザイン、インタラクティブなスクリーンショット、そして内蔵されたビデオなど、これらは全てMetaTrader 5を使った取引の学習を最大限に簡単で便利なものにする為にあります。




    MQL5

    1. 抽象クラスと純粋仮想関数のサポートが追加されました。

      抽象クラスは、将来におけるより具体的な派生クラスを作成する一般的なエンティティを作成する為に作られています。抽象クラスは、いくつかの他のクラスの為に基底クラスとして使用することができるだけなので、抽象クラスのオブジェクトタイプを作成することはできません。

      純粋仮想関数を一つでも含むクラスは、抽象クラスとなります。したがって、抽象クラスから派生したクラスは、その純粋仮想関数を実装する必要があり、そうしないと、これらは同様に抽象クラスになります。

      仮 想関数は、純粋指定子構文を使用し、『純粋』として宣言されます。例として、共通機能を提供する為だけ型に作成されるCAnimalクラスを見てみましょ う。CAnimalのオブジェクト自体は、実際の使用には一般的すぎます。したがって、CAnimalクラスは、抽象クラスの為の良い例となります。
      class CAnimal
        {
      public:
                            CAnimal();     // コンストラクタ
         virtual void       Sound() = 0;   // 純粋仮想関数
      private:
         double             m_legs_count;  // 足の数
        };
          
      <t0>ここでのSound()関数は、純粋仮想関数PURE(=0)の指定子で宣言されている為、純粋仮想となります。

      (=NULL)または(=0)と純粋指定子PUREが指定されている仮想関数のみが純粋仮想関数となります。抽象クラスの使用と宣言例:
      class CAnimal
        {
      public:
         virtual void       Sound()=NULL;   // PUREメソッドは派生クラスでオーバーライドする必要があり、CAnimalクラス自体は抽象クラスになり、作成されません
        };
      //--- 抽象クラスからの派生
      class CCat : public CAnimal
       {
      public:
        virtual void        Sound() { Print("Myau"); } // PUREはオーバーライドする必要があり、CCatクラスは抽象クラスではなく、作成することができます
       };
      
      //--- 間違った使用例
      new CAnimal;         //『CAnimal』エラーは、コンパイラは「抽象クラスをインスタンス化できません」というエラーを出します
      CAnimal some_animal; // CAnimal』エラーは、コンパイラは「抽象クラスをインスタンス化できません」というエラーを出します
      
      //--- 正しい使用例
      new CCat;  // エラーはなく、CCatクラスは抽象クラスではありません
      CCat cat;  // エラーはなく、CCatクラスは抽象クラスではありません
          
      抽象クラスの使用の制限
      純粋仮想関数(直接または間接)の抽象クラスのコンストラクタによる呼び出しの際、結果は未定義になります。
      //+------------------------------------------------------------------+
      //| 抽象基底クラス                                                     |
      //+------------------------------------------------------------------+
      class CAnimal
        {
      public:
         //--- 純粋仮想関数
         virtual void      Sound(void)=NULL;
         //--- 関数
         void              CallSound(void) { Sound(); }
         //--- コンストラクタ
         CAnimal()
          {
           //--- 仮想メソッドの明示的な呼び出し
           Sound();
           //--- 明示的ではない呼び出し(第三の関数を介した)
           CallSound();
           //--- コンストラクタまたはデストラクタは常に自分の関数を呼び出す
           //--- 派生クラスでの呼び出された関数によるオーバーライドや仮想性に関わらず
           //--- もし、呼び出される関数が純粋仮想の場合、
           //--- 呼び出しは重大なランタイムエラーをもたらします:『純粋仮想関数呼び出し』
          }
        };
          
      しかしながら、抽象クラスのコンストラクタとデストラクタは、他のメンバー関数を呼び出すことができます。

    2. イベントモデルの構成の簡素化の為に、関数へのポインターのサポートが追加されました。

      関数へのポインターを宣言する為には、『関数へのポインター』のタイプを明確にしてください。
      typedef int (*TFunc)(int,int);
      これで、TFuncがタイプとなり、変数の関数ポインターを宣言することができます。
      TFunc func_ptr;
      func_ptr変数に、以後の呼び出しの為に、関数のアドレスを保存することができます。
      int sub(int x,int y) { return(x-y); }
      int add(int x,int y) { return(x+y); }
      int neg(int x)       { return(~x);  }
      
      func_ptr=sub;
      Print(func_ptr(10,5));
      
      func_ptr=add;
      Print(func_ptr(10,5));
      
      func_ptr=neg;           // エラー: negはint (int,int)タイプを持っていません。
      Print(func_ptr(10));    // エラー:二つのパラメータがある必要があります
      
      関数のポインターを保存し、パラメータとして引き渡すことができます。クラスの非静的メソッドにポインターを取得することはできません。

    3. MqlTradeRequestの取引リクエスト構造体に、二つの新しいフィールドが追加されました。

      • position — ポジションチケット。ヘッジ取引の際やポジションのクローズや変更時に、その明確な識別の為に記入する必要があります。ポジションの識別が取引シンボルの名前で行われる為、ネッティング計算システムでの取引時には、この欄の記入は意味を持ちません。
      • position_by — 相対ポジションのチケット。同じシンボルで、かつ反対方向に開かれた相対ポジションのクローズ時に使用されます。ヘッジポジション計算システムにのみ使用されます。

    4. ENUM_TRADE_REQUEST_ACTIONSの取引操作タイプにTRADE_ACTION_CLOSE_BY(相対ポジションクローズ)が追加されました。ヘッジポジション計算システムにのみ使用されます。

    5. 注文、取引、ポジションのプロパティに、取引操作に相応するチケットが追加されました。

      • ENUM_ORDER_PROPERTY_INTEGERにORDER_TICKET(注文のチケット)が追加されました。固有の番号が各注文に割り当てられます。
      • ENUM_DEAL_PROPERTY_INTEGERにDEAL_TICKET(取引のチケット)が追加されました。固有の番号が各取引に割り当てられます。
      • ENUM_POSITION_PROPERTY_INTEGERにPOSITION_TICKET(ポジションのチケット)が追加さ れました。固有の番号が各ポジションに割り当てられます。通常、ポジションが開かれた注文のチケットと一致します(サーバーでの操作の結果チケットが変更 された場合を除く)。例えば、ポジションの再オープンによるスワップの加算です。その注文によってポジションが開かれた注文を見つけるには、 POSITION_IDENTIFIERを使用する必要があります。POSITION_TICKETは MqlTradeRequest::positionと一致します。

    6. ENUM_ORDER_TYPEにORDER_TYPE_CLOSE_BY(相対するポジションによるポジションクローズ注文)が追加されました。
    7. ENUM_ORDER_PROPERTY_INTEGERに(ORDER_POSITION_BY_IDORDER_TYPE_CLOSE_BY注文の為の相対ポジションの識別子)が追加されました。
    8. ENUM_DEAL_ENTRYにDEAL_ENTRY_OUT_BY(相対ポジションをクローズした結果取引が行われた)が追加されました。
    9. 取引トランザクションの構造体MqlTradeTransactionに、2つの同様のフィールドが追加されました。

      • position — トランザクションによって影響を受けるポジションのチケット。市場注文の処理に関わるトランザクション (TRADE_TRANSACTION_ORDER_* ポジションチケットがまだ割り当てられていないTRADE_TRANSACTION_ORDER_ADD以外)と注文履歴 (TRADE_TRANSACTION_HISTORY_*)の為に記入します。
      • position_by — 相対ポジションのチケット。同じシンボルで、かつ反対方向に開かれた相対ポジションのクローズ時に使用されます。相対ポジションのクローズの注文 (close by)と相対ポジションのクローズの為の取引(out by)の為のみに記入されます。

    10. PositionGetTicket関数が追加されました。これはオープンポジションリスト内のインデックスによるポジションチ ケットを返し、PositionGetDouble、PositionGetInteger、PositionGetString関数を使用し、今後の作 業の為に自動的にこの関数を選択します。
      ulong  PositionGetTicket(
         int  index      // ポジションリストの番号
         );
      

    11. PositionSelectByTicket関数が追加されました。これは、指定されたチケットによって、今後の作業の為にオープンポジションを選択します。
      bool  PositionSelectByTicket(
         ulong   ticket     // ポジションのチケット
         );
      

    12. ENUM_SYMBOL_INFO_DOUBLEにSYMBOL_MARGIN_HEDGED(カバーされたポジション(一つのシンボルに異なる方向へのポジション)の一つのロットの契約またはマージンのサイズ)が追加されました。

      • 最初のマージンがシンボルの為に指定されている場合(SYMBOL_MARGIN_INITIAL)、ヘッジマージンは絶対値(金額での)として指定されます。
      • 最初のマージンが指定されていない(0と等しい)場合、SYMBOL_MARGIN_HEDGEDに、取引タイプ(SYMBOL_TRADE_CALC_MODE)に相応する式に基づくマージンの計算時に使用される契約サイズが表示されます。

      ヘッジポジションの為のマージン計算の特徴は、 MetaTrader 5取引プラットフォームのユーザーガイドに書かれています。

    13. ENUM_ACCOUNT_INFO_INTEGERに、ACCOUNT_MARGIN_MODE(現在の取引アカウントの為のマージン計算モード)が追加されました。

      • ACCOUNT_MARGIN_MODE_RETAIL_NETTINGは、『ネッティング』モード(1つのシンボルに対し、1つの ポジションのみ)でのポジション計算をする子場外市場の為に使用されます。シンボルタイプをベースにマージンが計算されます。 (SYMBOL_TRADE_CALC_MODE)
      • ACCOUNT_MARGIN_MODE_EXCHANGEは、株式市場の為に使用されます。シンボル設定で指定された割引に基づいてマージンが計算されます。割引はブローカーによって設定されますが、取引所によって決められた値よりも低くなることはありません。
      • ACCOUNT_MARGIN_MODE_RETAIL_HEDGINGは、独立したポジション計算(『ヘッジング』は1つのシンボ ルに対し、複数のポジションを有することができる)の際、市場外取引の為に使用されます。マージン計算はシンボルタイプ (SYMBOL_TRADE_CALC_MODE)とヘッジマージンのサイズ計算(SYMBOL_MARGIN_HEDGED)をベースに行われます。

    14. クライアントターミナルのプロパティENUM_TERMINAL_INFO_INTEGERに TERMINAL_SCREEN_DPI(画像の情報出力解像度は、DPIで測定される)が追加されました。このパラメータを知ることで、異なる解像度の モニターで同じように表示されるように、グラフィックオブジェクトのサイズを指定することができます。

    15. クライアントターミナルのプロパティENUM_TERMINAL_INFO_INTEGERにTERMINAL_PING_LAST(マイクロ秒単位の取引サーバーまでのPingの最新の既知値)が追加されました。1秒は100万マイクロ秒です。

    16. SendFTP関数呼び出し結果の送信が修正されました。以前は、送信に成功した際に、TRUEの代わりにFALSEが返されていました。
    17. 幾つかのケースで、"Access violation"エラーに繋がっていたStringConcatenate関数内のエラーを修正しました。
    18. テンプレート関数の動作のエラーを修正しました。
    19. Print、Alert、Comment関数は、4000以上の文字サイズの列を出力することができるようになりました。
    20. 配列同士(開始からの初期ポジションの異なるオフセット)の比較の際に起こっていたArrayCompare関数内のエラーを修正しました。
    21. スタンダードライブラリにヘッジ取引のヘルプが追加されました。
      CPosition
      以下のメソッドが追加されました。:

      • SelectByMagicは、以後の作業の為のシンボルとマジックナンバーによってポジションを選択します。
      • SelectByTicketは、以後の作業の為のチケットでポジションを選択します。

      CTrade
      以下のメソッドが追加されました。

      • RequestPositionは、ポジションのチケットを取得します。
      • RequestPositionByは、相対ポジションのチケットを取得します。
      • PositionCloseByは、反対方向のポジションチケットの指定によってポジションを閉じます。
      • SetMarginModeは、現在のアカウントの設定に応じて、マージンの計算モードを設定します。

      メソッドのオーバーロードを追加しました。

      • PositionCloseは、チケットによってポジションを閉じます。
      • PositionModifyは、チケットによってポジションを変更します。

      CAccountInfo
      以下のメソッドが変更されました。

      • MarginModeは、今後はマージンの計算モードを取得します。以前は、StopoutMode新メソッドと同様に動作しました。
      • MarginDescriptionは、今後は文字列としてマージン計算モードを取得します。以前は、StopoutModeDescription新メソッドと同様に動作しました。

      以下のメソッドが追加されました。

      • StopoutModeは、最小保証金レベルの指定モードを取得します。
      • StopoutModeDescriptionは、最小保証金レベルの指定モードを文字列として取得します。

      CExpert
      以下のメソッドが追加されました。

      • SelectPositionは、それと共にフォローアップする為のポジションを選択します。

    22. MQL5のスタンダードライブラリにいくつかの改良が加えられました。

    シグナル

    1. 取引シグナルのリスト表示のエラーを修正しました。

    テスター

    1. 取引シンボルの幾つかのタイプで手数料が計算されるエラーを修正しました。
    2. 対応するポジションのExpert欄の数値に応じた、SL/TPが作動した結果に起こる、取引注文のExpert欄の記入が修正されました。以前は記入されませんでした。
    3. 通常およびフォワード最適化の結果タブへの切り替えが修正されました。
    4. "Envelopes"インディケータの表示と計算が修正されました。
    5. ビジュアルテストの実行が最適化されました。


    ターミナル

    1. 多数の開かれた注文やポジションがある場合の、マージンと利益の計算が最適化されました。
    2. 高頻度取引での取引操作の実行が最適化されました。
    3. 今後は履歴の同期は、現在の相場を必要としない、非主要シンボルのプロパティのリクエスト時に行われません。例えば、 SYMBOL_SELECT、SYMBOL_DIGITS, SYMBOL_SPREAD_FLOAT、SYMBOL_TRADE_CALC_MODE、SYMBOL_TRADE_MODE、 SYMBOL_TRADE_STOPS_LEVEL、SYMBOL_TRADE_FREEZE_LEVEL、SYMBOL_TRADE_EXEMODEな どです。以前は非主要シンボルのプロパティの任意のリクエスト時に現在のシンボルでの履歴の同期化が行われていました。

    MetaEditor

    1. 『完全なワードのみ』モードにおけるファイルごとのワード検索が修正されました。
    2. 対応するファイルのコンパイル結果の列をダブルクリックすることでファイルへ移動することができるようになりました。
    3. Windows XPの幾つかのコントロールエレメントの表示が修正されました。

     

    1. ドキュメントが更新されました。

     

    31 3月 2016
    MetaTrader 5 iOS build 1261
    1. 取引プラットフォームに、二つ目のポジション計算システムであるヘッジングが追加されました。これにより、一つの金融商品において、反対 方向のものを含む複数のポジションを開くことができます。これからは、一つのプラットフォームで、ネッティングを使って株式取引をしたり、二つの計算シス テムのうちのいずれ かを使用し、為替取引を行うことができます。

      新しい計算システムは、MetaTrader 4と同様です。トレーダーは、複数の取引の実行(部分的なものを含む)や、ストップリミット注文など、第五世代プラットフォームの全ての長所を使用することができます。

      更新後すぐにヘッジングを使った取引を試すことができます。デモアカウントの開設時に、\"ヘッジングを使用する\"というオプションを有効にしてください。これは、ブローカーの取引サーバーが既に更新および設定されている場合、利用可能になります。

    2. 新しいバージョンにも、多くの改善と修正が加えられました。
    31 3月 2016
    MetaTrader 5 Android build 1262
    1. 取引プラットフォームに、二つ目のポジション計算システムであるヘッジングが追加されました。これにより、一つの金融商品において、反対方向のものを含む複数のポジションを開くことができます。これからは、一つのプラットフォームで、ネッティングを使って株式取引をしたり、二つの計算システムのうちのいずれ かを使用し、為替取引を行うことができます。

      新しい計算システムは、MetaTrader 4と同様です。トレーダーは、複数の取引の実行(部分的なものを含む)や、ストップリミット注文など、第五世代プラットフォームの全ての長所を使用することができます。

      更新後すぐにヘッジングを使った取引を試すことができます。デモアカウントの開設時に、\"ヘッジングを使用する\"というオプションを有効にしてください。これは、ブローカーの取引サーバーが既に更新および設定されている場合、利用可能になります。

    2. 新しいバージョンにも、多くの改善と修正が加えられました。
    12 2月 2016
    MetaTrader 5 Android build 1224
    • タブレット向けのバージョンでは、さらに、取引詳細を表示する新しいウィンドウが追加された。注文または取引をクリックすると、これらのもっとも近い秒として伝えられる開始時と決済時、コメント及びブローカー手数料が表示される。
    • ニュースセクションが改善された。ご興味をお持ちの分野によってニュースカテゴリを選択できるようになった。気になるニュースはお気に入り登録して後でチェックすることもできる。
    • より長い時間軸の境界線を表示するための時間軸の分離器が追加された。
    • チャートにAskのラインを表示可能になった。
    • インターフェイスには韓国語・ベトナム語の翻訳が追加された。
    • チャートオブジェクトの最大数が増やされた。
    • さまざまなバグが修正された。
    3 2月 2016
    iOS版MetaTrader 5 build 1225
    • iPadのポートレートモードを利用できるようになりました。これからは、長い取引操作リストや、メール、金融ニュースを快適に一覧することができます。
    • iPad Proのネイティブサポート。
    • 韓国語が追加されました。
    17 12月 2015
    MetaTrader 5プラットフォーム build 1240: 動作速度の改善と内蔵ビデオ


    ホスティング

    1. 仮想サーバのダイアログにチュートリアルビデオ『仮想プラットフォームをレンタルする方法』へのリンクが追加されました。このビデオは2分程度です。是非ご覧いただき、いかに年中無休のコピートレードや取引ロボットの起動が簡単かを知ってください。


      このビデオや、その他のビデオはYoutubeのMetaQuotes Software Corp.公式チャンネルにてご覧いただけます。
    2. エキスパートアドバイザから呼び出されるカスタムインディケータのEX5ライブラリ、またはカスタムインディケータの呼出時のホスティングへの移行のエラーを修正しました。

    ターミナル

    1. 高周波の取引操作(1秒に50以上の操作)を実行する際、開いている注文とポジションのリストの更新速度が速くなりました。
    2. ターミナル: 多くの(数万の)取引ツール数の時の取引サーバとターミナルの初期同期化が最適化され、遥かに速くなりました。これからは、接続後、もっと素早く活動を始めることができます。
    3. ターミナル: ターミナルのメモリの消費が遥かに少なくなり、最適化されました。
    4. ターミナル: ターミナルの開閉時にマーケットデプスの設定の保存と復元される機能が追加されました。
    5. ターミナル: ターミナルのウィンドウをドラッグする際、Windows 10で起こっていたアーティファクトを修正しました。
    6. ターミナル: コマンドやダイアログの為のコンテキストヘルプの動作が修正されました。ヘルプの呼出には、実際のエレメントにカーソルを合わせF1キーを押してください。
    7. ターミナル:高解像度の画面での動作へのインターフェースの適応作業を続けています。

    MQL5

    1. 注文と取引情報を取得する関数、OrderGetStringとHistoryOrderGetString、HistoryDealGetStringに新しいプロパティが追加されました。

      • ORDER_EXTERNAL_ID - 外部取引システムにおける注文の識別子。(株式市場)
      • DEAL_EXTERNAL_ID - 外部取引システムにおける取引の識別子。

    2. 構造体とクラスを伴う動作時の、関数ZeroMemoryの動作が修正されました。時折、メモリの解放が行われませんでした。
    3. 関数SendFTPの動作時のエラーコードが追加されました。関数は、設定ウィンドウの『FTP』タブで指定されたアドレスへファイルを送信します。

      • ERR_FTP_NOSERVER - 設定でftpサーバが指定されていません。
      • ERR_FTP_NOLOGIN - 設定でftpログインが指定されていません。
      • ERR_FTP_FILE_ERROR - ファイルが存在しません。
      • ERR_FTP_CONNECT_FAILED - ftpサーバへの接続に失敗しました。
      • ERR_FTP_CHANGEDIR - ftpサーバ上にファイルのアップロードの為のディレクトリが見つかりません。
      • ERR_FTP_CLOSED - ftpサーバへの接続が閉じています。

    4. 継承による継承先から継承元へのオブジェクトの移行の検証が修正されました。
    5. クラステンプレートの一連のエラーを修正しました。
    6. 関数CopyTicksによるティックの照会時のエラーを修正しました。連続同一取引ティック(1つのオブジェクトと1つのLast価格)のためのパラ メータCOPY_TICKS_TRADE指定時(取引ティックのみコピー)にそれらの内の始めのものだけが反応していました。
    7. カスタムタイプの変数のサイズ決定におけるエラーを修正しました。
    8.  開梱の無限サイクルを引き起こしていた、関数CryptDecodeのZLib使用時のエラーを修正しました。

    テスター

    1. テストの主要ツールとは異なる取引ツールによる価格履歴同期化のエラーを修正しました。
    2. OnTradeTransactionの処理での取引トランザクションTRADE_TRANSACTION_DEAL_ADD(取引の履歴への追加)のバックアップが修正されました。
    3. 遺伝的最適化の際のフォワードテストの実行が変更されました。これからは、フォワードテストには遺伝的最適化の後で得られたすべての唯一無二の結果が関係します。以前は4分の1の結果しか使われていませんでした。

    MetaEditor

    1. MQL5マスターにチュートリアルビデオ『MQL5マスターでの取引ロボットの作成方法』のリンクが追加されました。この3分程のビデオをご覧いただき、1つのコード配列を書くことなく、取引ロボットを作成してみてください。


      このビデオや、その他のビデオはYoutubeのMetaQuotes Software Corp.公式チャンネルにてご覧いただけます。
    2.  ウィンドウのうちの1つが完全に展開している場合に、開いているウィンドウの整理コマンドの動作を修正しました。『ウィンドウ』メニューから、開いているファイルをモザイク、垂直、水平、直列に配置することができます。
    3. インターフェースの高解像度の画面(4K)での動作の適応作業を続けています。
    ドキュメントが更新されました。
    19 11月 2015
    Android版MetaTrader 5のビルド1172
    1. 通貨ペアチャートのスケーリングがより快適になりました。本数が増え、表示の滑らかさが強化されました。

      MetaTrader 5 Android build 1172:便利なチャートのスケーリングと債券プロパティ内の未収利息

    2. 通貨ペア一覧と、そのMarket Watchでの配列、またチャート設定(スケール、カラー図、オブジェクトリストとインディケータリスト)の全ての変更は、これからは任意の方法でのアプリケーションの終了後に記憶されます。
    3. 債券プロパティでは、これからは発行額と未収利息が表示されます。
    11 11月 2015
    iPhone版MetaTrader 5 build 1171
    修正と改良。
    30 10月 2015
    MetaTrader 5プラットフォームの新バージョン build 1210:マーケットデプスの強化と一般の修正
    Terminal
    1. マーケットデプスで市場よりも良くないリミットオーダーをだすことが可能になりました。これによって、株式取引市場における指定金額でのオーダーの実行の保障が得られます。
      リ ミットオーダーが買いと売りの注文のボーダーを超えて移される時は、ストップオーダーになります。(Buy LimitはBuy Stopに代わり、Sell LimitはSell Stopに代わります)これからは、リミットオーダーがストップオーダーに代わらない為には、ドラッグの際にCrtlキーを押してください。




    2. チャートの設定に『クイック注文ボタンを表示する』のオプションが追加されました。これにより、クイック注文とマーケットデプスのパネルを呼び出すボタンを隠すことができます。



    3. 時折、他のアプリケーションと共に現れるプロンプトの紛争につながる不具合を修正しました。

    MQL5

    1. AS_SERIESフラグを持つ動的配列の履歴データのコピー関数Copy*の動作が修正されました。フラグはArraySetAsSeries関数によって設定され、配列要素の指数化が時系列で実行されることを示します。
    2. ChartSetIntegerとChartGetIntegerを使用する動作の為に、CHART_SHOW_ONE_CLICKの性能が変更されまし た。以前は、それでチャート上のクイック注文パネルを表示したり隠したりすることができました。これからは、この性能は追加でクイック注文パネル呼出ボタ ンやマーケットデプスボタンをチャート上に表示したり隠したりします。(チャート設定の中の『クイック注文ボタンを表示する』オプションと同様)
    3. テンプレートの動作の不具合を修正しました。
    ドキュメントが更新されました。
    123456789101112131415