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

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

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. テンプレートの動作の不具合を修正しました。
ドキュメントが更新されました。
23 10月 2015
MetaTrader 5プラットフォームの新バージョン build 1200:ティックヒストリーの取得とサービスの支払いが直に

ター ミナル

  1. マーケットウォッチにティックヒストリーが7追加されました。もし以前にティックチャートが、動作時間にターミナルに溜まった履歴しか表示してい なかったとしたら、これからは取引サーバーにある全てのティックヒストリーを利用することができます。通常の価格チャートでそうなっているように、不足し ている履歴があるので、それを取引サーバーからインストールする為に、オートスクロールを無効にし、マウスでティックチャートを過去の方へスクロールして ください。新しい機能は、価格変動の詳細チャートを最大限に受け取りたいトレーダーにとって有益なものになります。



    より深いティックヒストリーを自動で受け取る為には、 CopyTicks()の機能を使ってください。不足している履歴が取引サーバーにある場合、それを照会、およびインストールするように機能が変更されます。

  2. チャート上の『ワンクリック取引』のパネルのそばに、素早くマーケットデプスのオン/オフができるアイコンが追加されました。同様に、新しいホットキーAlt+Bでも使用できます。また、これはチャート内だけではなく、Market Watchウィンドウでも動作し、この際は、マーケットウォッチ内で選ばれたシンボルのマーケットデプスが開きます。




  3. コンピュータの性能とOSの記録が、クライアントターミナルに追加されました。例:
    2015.10.14 14:48:18.486	Data Folder: C:\Program Files\MetaTrader 5
    2015.10.14 14:48:18.486	Windows 7 Professional (x64 based PC), IE 11.00, UAC, 8 x Intel Core i7  920 @ 2.67GHz, RAM: 8116 / 12277 Mb, HDD: 534262 / 753865 Mb, GMT+03:00
    2015.10.14 14:48:18.486	MetaTrader 5 build 1190 started (MetaQuotes Software Corp.)
  4. コンピュータの性能とOSの記録が、クライアントターミナルに追加されました。例:

    • マーケットウォッチにシンボル数の表示がマーケットウォッチに、また総利用可能シンボル数が取引サーバーに追加されました。
    • 選択の為のスマートセレクションリストと新しいシンボル追加の列が追加されました。
    • 追加列では検索はシンボル名で行われるだけでなく、その記述やインターナショナル名でも検索されます。




  5. 数か国語での経済情勢カレンダーサポートが追加されました。
  6. 経済カレンダーに不足している国のアイコンが追加されました。
  7. マーケットウォッチのシンボル管理画面呼出の為のホットキーCtrl+Uが追加されました。
  8. 『ウィンドウ』メニューのコマンドによる、開いているチャートウィンドウの配列が修正されました。
  9. 強化認証使用の際に、ターミナルが時折、証明書ファイルを見つけられない不具合を修正しました。
  10. 時折、価格履歴の同期化ループが起こる不具合を修正しました。
  11. 機器がRequest Executionモードで取引をしている場合に、すでに開いているポジションのサイズを大きくした時、StopLoss/TakeProfitのレベルが無効化される不具合を修正しました。
  12. "Long only"モードの機器でロングポジションの際に、売り注文を出すことが可能かのチェックがマーケットデプスで修正されました。
  13. Trailing Stop機能の動作が修正されました。稀に保護されたStop Lossが、オープンポジションの為に誤って動く事がありました。
  14. 高解像度の画面での動作へのインターフェースの適応作業を続けています。
  15. MQL5プラグラムのデータに定期的に訴えているにも関わらず、履歴データが使われていないものとしてアンロードされる不具合を修正しました
  16. Windows 10での動作時のユーザーインターフェイスの要素の表示を修正しました。
  17. ユーザーインターフェイスの翻訳が更新されました。

マーケット

  1. MQL5マーケットの製品データベースの動作が改良および最適化されました。
  2. VPSでのターミナル使用による、MQL5.communityのアカウントを持たない購入が禁止されました。今後はターミナルの設定内でMQL5.communityのアカウントを表示する必要があります。ツール―オプション―コミュニティ
  3. 支払システムUnionPayでの直接の製品購入ができるようになりました。
  4. MQL5マーケットでの製品購入時のログが強化されました。


ホスティングとシグナル

  1. これからはバーチャルホスティングと取引シグナルへの購読に対して、支払システムを通じて直に支払うことができます。
    ホスティングの支払いの為に、MQL5.communityを開いたり、アカウントに入金しなくても大丈夫です。これからは、プラットフォームの支払いシステムの中から、すぐにサービスへのお支払が可能です。



    お客様に合ったシステムを選択し、支払いを行ってください。




    同様に、お客様に合った支払システムを選択していただくだけで、直にターミナルから、有料取引シグナル購読の手続きが行えます。




    必要な金額がお客様のMQL5.communityのアカウントに入金され、その後、そこから支払いが行われます。このようにして、ホスティングレンタル やシグナル購読の履歴を常に明瞭にすることができます。また、MQL5.communityのサービスに自身が行った全ての支払いを見ることができます。
  2. クライアントターミナルの32ビットバージョンでの動作時のバーチャルホスティング(移行を除く)の管理が追加されました。
  3. FTPによる公開許可に関係なく、バーチャルホスティングへのFTPエクスポート設定の移行が修正されました。

MQL5

  1. 新しい最適なコンパイラーが始動しました64ビットのプラットフォーム上のプログラムの実行が5倍まで加速しています。MQL5-プログラムは、最新バージョンのMetaEditorで再コンパイルする必要があります。.
  2. MqlTick構造のフォーマットが拡張されました。これからは、その中でティックのミリ単位の到来時間が伝達され、同様にどのようなティックのパラメータが変わったのかを確かめることができるフラッグがあります。
    struct MqlTick
      {
       datetime     time;          // 価格の最終更新時間
       double       bid;           // 現在のBid価格
       double       ask;           // 現在のAsk価格
       double       last;          // 最終取引の現在価格(Last)
       ulong        volume;        // 現在のLast価格の為の容量
       long         time_msc;      // ミリ秒単位での最終価格更新時間
       uint         flags;         // ティックフラッグ
      };
    全てのフラッグは、前回のティックと比べデータが変わったかどうかに関わらず、いつも全てのパラメータで埋められます。ティックヒストリーごとに前回の数 値を検索することなく、あらゆる瞬間の現在の価格状態をいつも見ることができます。例えば、ティックと共にBid価格だけ変わることができましたが、構造 体の中では新しい価格の他に、前回のAsk価格、容量など、他のパラメータも表示されます。現在のティックのデータとどう変わったかを知るためには、その フラッグを分析してください。

    • TICK_FLAG_BID - ティックがBid価格を変更した
    • TICK_FLAG_ASK  - ティックがAsk価格を変更した
    • TICK_FLAG_LAST - ティックが最終取引価格を変更した
    • TICK_FLAG_VOLUME - ティックが容量を変更した
    • TICK_FLAG_BUY - 買い取引の結果にティックが発生した
    • TICK_FLAG_SELL - 売り取引の結果にティックが発生した

    MqlTick構造体は2つのメソッドにて使用されます。

    • CopyTicks - メソッドは構造体の古いフォーマットを保っていません。ティックの古いフォーマットを使用する、以前にコンパイルされたEX5ファイルは、 CopyTicksの機能呼出時に、エラー4006を返します。(ERR_MQL_INVALID_ARRAY).
    • SymbolInfoTick - メソッドは構造体の古いフォーマットも、新しいフォーマットも保っています.

  3. MQL5: C++のようにパラメータ化されたクラスを作成することができるクラステンプレートが追加されました。これは、より多く抽出したり、一様に異なるクラスのオブジェクト操作の為に同じコードを使用することを可能にするものです。使用例:
    //+------------------------------------------------------------------+
    //|                                                    TemplTest.mq5 |
    //|                        Copyright 2015, MetaQuotes Software Corp. |
    //|                                             https://www.mql5.com |
    //+------------------------------------------------------------------+
    #property copyright "Copyright 2015, MetaQuotes Software Corp."
    #property link      "https://www.mql5.com"
    #property version   "1.00"
    //+------------------------------------------------------------------+
    //| クラステンプレートを指定                                               |
    //+------------------------------------------------------------------+
    template<typename T>
    class TArray
      {
    protected:
       T                 m_data[];
    
    public:
    
       bool              Append(T item)
         {
          int new_size=ArraySize(m_data)+1;
          int reserve =(new_size/2+15)&~15;
          //---
          if(ArrayResize(m_data,new_size,reserve)!=new_size)
             return(false);
          //---
          m_data[new_size-1]=item;
          return(true);
         }
       T                 operator[](int index)
         {
          static T invalid_index;
          //---
          if(index<0 || index>=ArraySize(m_data))
             return(invalid_index);
          //---
          return(m_data[index]);
         }   
      };
    //+------------------------------------------------------------------+
    //| ポインター配列は                                                    |
    //| デストラクタで保存されたオブジェクト、ポインターを削除します。                   |
    //|                                                                  |
    //| クラステンプレートのTArrayからの継承にご注意ください。                       |
    //+------------------------------------------------------------------+
    template<typename T>
    class TArrayPtr : public TArray<T *>
      {
    public:
       void             ~TArrayPtr()
         {
          for(int n=0,count=ArraySize(m_data);n<count;n++)
             if(CheckPointer(m_data[n])==POINTER_DYNAMIC)
                delete m_data[n];
         }
      };
    //+------------------------------------------------------------------+
    //| クラスを指示し、そのオブジェクトへのポインターは配列に保管されます。             |
    //+------------------------------------------------------------------+
    class CFoo
      {
       int               m_x;
    public:
                         CFoo(int x):m_x(x) { }
       int               X(void) const { return(m_x); }
      };
    //+------------------------------------------------------------------+
    //|                                                                  |
    //+------------------------------------------------------------------+
    TArray<int>     ExtIntArray;   // TArrayテンプレートをインスタンス化 (int型によってTArrayテンプレートを専門化する)
    TArray<double>  ExtDblArray;   // TArrayテンプレートをインスタンス化 (double型によってTArrayテンプレートを専門化する)
    TArrayPtr<CFoo> ExtPtrArray;   // TArrayPtrテンプレートをインスタンス化 (CFoo型によってTArrayPtrテンプレートを専門化する)
    //+------------------------------------------------------------------+
    //| Script program start function                                    |
    //+------------------------------------------------------------------+
    void OnStart()
      {
    //--- 配列にデータを入れる
       for(int i=0;i<10;i++)
         {
          int integer=i+10;
          ExtIntArray.Append(integer);
          
          double dbl=i+20.0;
          ExtDblArray.Append(dbl);
          
          CFoo *ptr=new CFoo(i+30);
          ExtPtrArray.Append(ptr);
         }
    //--- 配列の内容を出力
       string str="Int:";
       for(int i=0;i<10;i++)
          str+=" "+(string)ExtIntArray[i];      
       Print(str);   
       str="Dbl:";
       for(int i=0;i<10;i++)
          str+=" "+DoubleToString(ExtDblArray[i],1);
       Print(str);   
       str="Ptr:";
       for(int i=0;i<10;i++)
          str+=" "+(string)ExtPtrArray[i].X();      
       Print(str);
    //--- TArrayPtr<CFoo>のオブジェクトのデストラクタで削除されるので、newを通して作成されたCFooのオブジェクトは削除しなくても良い。  
      }
    実行結果:
    TemplTest (EURUSD,H1)    Int: 10 11 12 13 14 15 16 17 18 19
    TemplTest (EURUSD,H1)    Dbl: 20.0 21.0 22.0 23.0 24.0 25.0 26.0 27.0 28.0 29.0
    TemplTest (EURUSD,H1)    Ptr: 30 31 32 33 34 35 36 37 38 39

  4. 新しい操作*と&が追加され、参照による変数の受信や変数への参照の受信が可能になりました。
  5. オーバーロード形式の機能ObjectsDeleteAllが追加されました。チャートウィンドウ内で指定されたタイプの全てのオブジェクトを名前の接頭辞によって削除します。
    int  ObjectsDeleteAll(
       long           chart_id,   // チャートID
       const string     prefix,   // オブジェクト名の接頭辞
       int       sub_window=-1,   // ウィンドウインデックス
       int      object_type=-1    // 削除の為のオブジェクトタイプ
       );

  6. ObjectGetValueByTime機能の動作が修正されました。 以前、時折(例えば水平トレンドラインのため)チャート内の時間ごとの価格の数値が誤って戻ることがありました。
  7. サーバーに履歴データがない場合の、Copy*機能の動作が修正されました。 以前はサーバーにデータがない場合に、これらの機能の呼出は、制御が戻る前に30~50秒の遅滞を起こすことがありました。
  8. MQL5のスタンダードライブラリにいくつかの改良がくわえられました。
  9. スタンダードライブラリのドキュメントがドイツ語、フランス語、中国語、トルコ語、スペイン語、ポルトガル語に翻訳されました
  10. MQL5の日本語版ドキュメントが追加されました。

Tester

  1. ストラテジーテスターで実行の為のプログラム選択がとても便利になりました。アドバイザーとインディケーターがあるディレクトリと適合するツリー形式でリストが表示されます。




  2. 可視テスト時、クライアントターミナルに応じたいくつかのインディケーターの表示が導入されました。
  3. ストラテジーテスターを経由してMQL5プログラムのデバッグ時に、レバレッジとタイムフレームチャートが出る不具合を修正しました。
  4. ヒストリーデータにおけるテスト時のインディケータのデバックが修正されました。
クラッシュログで報告された不具合を修正しました。

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

更新はLiveUpdateシステムを介して利用することができるようになります。

17 9月 2015
iPhone版MetaTrader 5 build 1167
  1. 分析オブジェクトを使った作業がより快適になりました。これからは、これらのオブジェクトは現在のチャート上だけに配置されます。その他のシンボルで表示をさせるためには、設定をご利用ください。最適なスペースの利用の為に、不必要な時間軸でのオブジェクトの表示をオフにしてください。
  2. 期間の区切りをオンにし、チャート上でより高い時間軸の境界線をご覧ください。
  3. iOS 9との互換性の向上。
28 8月 2015
iPhone版MetaTrader 5 build 1165
  1. ニュース機能の改善。ニュースのカテゴリーを選択し、あなたの興味のあるものだけを読むことができます。好きなニュースをお気に入りに追加し、いつでもそれを読めるようにすることができます。ニュースを表題で検索することができます。
  2. これからは、iPhoneではチャートからのワンクリックで取引を実行することができます。iPhoneを水平方向に回転させ、クイックトレードのパネルを開いてください。

    MetaTrader 5 iOS build 1165

  3. 該当する資産をデポジットの通貨へ変換するCollateralツールのポジションを閉じるための機能が追加されました。
  4. 多数の修正と改良。
iOS版MetaTrader 5で新しい機能を使用する為に、アプリケーションを更新してください。
26 8月 2015
Android版MetaTrader 5 build 1164
  1. テクニカル分析の為の24の新しいグラフィックオブジェクト(ライン、チャネル、ギャンとフィボナッチツール、エリオット波動、図形)が追加されました。
  2. 新しいAndroid版MetaTrader 5: 24の分析オブジェクトと2要素認証OTP


  3. 取引アカウントへの接続の為の2要素認証(ワンタイムパスワード、OTP)サポートが追加されました。
  4. 様々な修正と改善。
24 6月 2015
Android版MetaTrader 5 build 1130
  1. ブローカーの技術サポートサービスと接続するための内部メールが追加されました。
  2. アプリケーション開発者の技術サポートサービスへ操作ログを送信する機能が追加されました。
  3. 様々な修正と改善。
ニュースの全文を読むにはこちらをご覧ください。
3 6月 2015
MetaTrader 5ビルド622:マーケットからロボットをより迅速かつ簡単に購入

マーケットアプリケーションをMetaTrader 4/5端末から登録なしで直接購入することができるようになりました。「購入」をクリックし、希望する支払い方法を選択するだけです。


支払いシステムのWebページにリダイレクトされ、購入が完了します。既製のロボットや指標の支払いにはPayPal、WebMoney、Neteller、または銀行カードでの支払いを選択できます。


購入した商品が自動的にアカウントにリンクされるように、購入後はMQL5.comアカウントを登録することをお勧めします。MQL5アカウントを使用すると、製品をアップデートして複数のコンピュータにインストールできます。さらに、MQL5.communityアカウントは、成功したトレーダーの取引をコピーするための取引シグナル、継続的オペレーションのための仮想ホスティング、 開発者から独自のロボットを注文するためのフリーランスなどの、MetaTraderプラットフォームのための他の多数のサービスへのアクセスを提供します。

これで取引ロボットを手に入れる最も簡単で簡単な方法がお分かりかと思います。マーケットでは5000以上のさまざまなMetaTraderアプリケーションがあなたを待っています。あなたはそれらを選択して購入するだけです。


3 6月 2015
iPhone版MetaTrader 5 build 1127
  1. その他のツールによる建玉を確保する為に資産として使用することができる非取引ツールの特別なタイプのサポートが追加されました。このような資産は建玉として表示されます。これらはアカウントでの取引操作量を増加させることを可能にするフリーマージンのサイズを大きくします。
  2. インターフェイスにヒンディー語が追加されました。
  3. 様々な修正と改善。
22 5月 2015
MetaTrader 5ビルド1150:マーケットでの簡単な購入、履歴でのデバッグ、取引のフィード

マーケット

  1. 新しい『直接』購入のメカニズムをご紹介します。マーケットでのトレードロボットまたはインディケータの購入が更に簡単になりました。購入の為にMQL5.communityのアカウントを作成する必要もありません。

    ワンステップで購入
    購入を完了する為に、MQL5.communityに行き、アカウントに入金をする必要はありません。これからは、プラットフォームの支払いシステムから、直接製品のお支払が可能です。様々な支払いシステムを参照することなく、マーケットでの購入履歴を明瞭にするために、初めにあなたのMQL5.communityのアカウントに必要な額が入金され、それからアカウントから製品への支払いが行われます。

    このように、いつでも自分の全支払い履歴をMQL5.communityアカウントを通じて確認することができます。




    登録せずに購入
    これからは、MQL5.communityのアカウントがなくてもお買い物をすることができます。『購入する』ボタンを押すだけで、支払いシステムのうちの一つを通じて、製品購入の支払いを行えます。



    その後、支払い手続きを完了する、支払いシステムのページへと飛びます。



    購入後にMQL5.communityのアカウント登録を行うことを強くお勧めします。これを行うことで、あなたが購入した製品が自動的にアカウントに接続されます。それによって、他のコンピュータで製品を更新したり、インストールすることができるようになります。

MetaEditor

  1. ヒストリカルデータ上でのエキスパートアドバイザやインディケータのデバッグ機能が追加されました。以前は、デバッグはリアルタイムモードで更新されるチャート上でのみ行うことができましたが、

    これからは、プログラムの動作を関心のある履歴上で確認することができます。デバッグは、ストラテジーテスターのビジュアルテストモードで行われます。プログラムは、ティックシーケンスのテスターでモデル化されたものに基づいて作成されたチャート上で起動します。

    MetaEditorの設定で、デバッグに必要なパラメータ(通貨ペア、タイムフレーム、インターバル、実行モード、ティック作成、初期証拠金、レバレッジ)を設定してください。これらのパラメータが、ビジュアルテストに適用されます。



    プログラムのコードでブレークポイントを配置し、その後ヒストリカルデータでデバッグを起動してください。



    この後、ビジュアルモードが起動し、デバッグのプロセスが開始します。




バーチャルホスティング

  1. 『バーチャルホスティング』サービスに、多くの改良と修正が加えられました。

    多くの変更事項は、LinuxとMac OSのコンピュータ上のWineの動作に関わるものでした。これからは、バーチャルサーバーは正常に割り当てられ、通常モードで利用することができます(移行の実行、リソース消費の監視、ログの参照)。


    操作ログにも変更が加えられました。非常に多くの記録がリクエストされた場合、指定された期間の最初の記録の部分のみロードされます。これはログが膨大な場合の、パフォーマンスの低下を防ぐものです。これからは、操作ログのより後の記録をダウンロードする為に、リクエストの日付を変える必要はありません。参照画面で最後の行を選択し、PgDnキーを押してください。




取引ターミナル

  1. その他の商品による未決ポジションを確保する為に資産として使用することができる、非取引商品の特別なタイプのサポートが追加されました。例えば、トレーダーは物理的に一定量の金を証拠金で持ち、それを未決ポジションの担保として使用することができます。

    このような資産は、未決ポジションとして表示され、価格はContract size×Lots×Market Price×Liquidity Rateの式で求められます。

    • Contract size - 契約サイズ
    • Lots - ロットボリューム
    • Market Price - 商品の現在の市場価格
    • Liquidity Rate - 流動性比率 - ブローカーが担保として使用を許可している資産の割合


    資産(Assets)は、自己資本(Equity)に加えられ、口座上の取引操作量を増加させるフリーマージン(Free Margin)サイズを増加させます。

    このように、様々なタイプの担保を持つ口座を作成できるようになりました。


    引用した例では、トレーダーは現在の市場価格では1210.56米ドルの価値を持つ1オンスの金を持っています。この数値は自己資本とフリーマージンに加えられたものです。このように、トレーダーは残高がゼロの状態でも、取引を続けることができます。

  2. 新しいマーケットデプスは、ティックチャートとチャート上の取引フィード(Time&Sales)を備えています。

    これからは、実際の取引価格が中継される株式商品の為に、マーケットデプスはティックチャートを表示します。このチャートでは、取引所で締結した全ての取引がマークされます。

    • 赤い丸ー売り取引
    • 青い丸ー買い取引
    • 緑の丸ー取引種別が定義されていない。取引所が取引種別を中継していない場合に使用されます。この場合、種別はAskとBid価格に対する取引価格で判別されます。買い - Ask価格(またはそれ以上)で取引が行われた場合。売り - Bid価格(またはそれ以下)で取引が行われた場合。取引価格がBidとAskの間にある場合、種別は未定義とみなされます。

    円のサイズが大きければ大きいほど、決済量も大きくなります。取引量は、ティックチャートの下のヒストグラムとしても表示されます。



    上部と下部に現在の買いと売りの総量が表示されます。

  3. 商品選択ダイアログに取引銘柄の期日を表示する欄と、期限切れの商品を非表示にするオプションが追加されました。また、期限が切れた契約を現在のものへ自動で変更する機能が追加されました。



    よりコンパクトに表示する為に、全ての期限切れの銘柄が非表示にされます。これは特に先物市場で取引をする際に便利です。『最終取引日』のパラメータで定義される期限切れの銘柄は、アクチュアルではないとみなされます。この日付は銘柄一覧の『失効』の列に表示されます。全ての銘柄を参照するには、『期限切れ契約を表示』オプションを有効にしてください。

    利便性の向上の為に銘柄リストが、自動でソートされます。

    • 始めに期限なしの銘柄
    • 直近の日付から始まる期限有りの銘柄
    • 直近の期限の切れたものから始まる期限切れの銘柄
    • アルファベット順

    期限切れの銘柄を現在のものに変更する為に、『気配値表示』ウィンドウのコンテキストメニューの『自動削除』オプションを使用します。



    ターミナルの再起動時に、期限切れの銘柄は非表示になり、その場所に最もアクチュアルなものが追加されます。例えば、期限の切れた先物契約LKOH 3.15が、次の契約の同じ原資のKOH 6.15に置き換えられます。

    この時、エキスパートアドバイザが起動されていない場合にのみ、開いているチャートに対応する銘柄の置き換えが起こります。

  4. ポジションの有無やロングポジションの配置に応じた、マーケットデプスの取引ボタンの状態の更新が修正されました。ポジションがない場合、Closeボタンは非アクティブになります。ショートポジションを持つことが禁止されている場合、Sellボタンは非アクティブになります。

  5. インターフェースの高解像度の画面(4K)での動作の適応作業を続けています。
  6. 取引ボリュームが最小値未満の時、Request Executionモードで決済するポジションボリュームのチェック時のエラーが修正されました。
  7. いくつかのケースで、1つのディレクトリからいくつかのターミナルを起動することができたエラーを修正しました。
  8. 様々な言語での経済指標カレンダーのサポートと自動フィルタリングが追加されました。フィルタリングはターミナルのインターフェイス言語によって行われます。
  9. 操作ログビューアに、操作ログの出力記録による検索機能が追加されました。



    ワード/フレーズの検索は、出力した操作ログの記録によって行われます。
  10. クライアントターミナルにタイ語の翻訳が追加されました。
  11. クライアントターミナルのヒンディー語の翻訳が更新されました。

MQL5

  1. 新しいGetMicrosecondCount関数が追加されました。この関数はMQL5プログラムの動作開始時から経過したマイクロ秒数を返します。
    ulong  GetMicrosecondCount();
    この関数は、追加のプログラムの実行プロファイルや、『ボトルネック』を識別する為に使用することができます。

  2. ENUM_OPENCL_PROPERTY_INTEGER列挙に、バイト単位でのOpenCLバッファの実際のサイズを返すCL_BUFFER_SIZEチャートプロパティが追加されました。プロパティはCLGetInfoInteger関数を使用して取得することができます。
  3. WebRequest関数のエラー通知が修正されました。関数の使用のエラー時に、result配列はエラー記載を含みます。
  4. マクロスのコンパイル時のエラー群を修正しました。
  5. ソート機能とrraySort、ArrayBsearch、ArrayMinimum、ArrayMaximum配列内の検索は、多次元配列を使用して動作します。ソートと検索は、配列の最初の(ゼロの)インデックスでのみ行われます。以前はこれらの関数は、一次元配列でのみ動作します。

Tester

  1. MQL5:ビジュアルテストの動作にいくつかの修正と改良が加えられました。ツールパネルを介したテストのスピード調整がよりスムーズになりました。

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

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

LiveUpdateシステムを介して更新されます。

1 5月 2015
iPhone版MetaTrader 5 build 1105
  1. 64ビットプロセッサのサポートが追加されました。
  2. 内部チャットの最適化:メッセージの同期化の改善とデザインが更新されました。
  3. 素早いプログラムの使用開始の為の匿名のデモアカウントを作成する機能が追加されました。アカウントの開設は、登録データを記入することなく、ワンクリックで行うことができます。
  4. ニュース機能の改善:言語の自動フィルタリング、ニュース表現の改善。
  5. 取引リクエスト送信速度の向上。
  6. チャート上でAskラインを表示する機能が追加されました。
  7. 仮想ホスティングの通知を取得するための、個別のメッセージカテゴリーが追加されました。
  8. ユーザインターフェイスに、タイ語、ベトナム語、マレー語、ウクライナ語の翻訳が追加されました。
  9. 多数の修正と改良。

これらの変更点をご評価ください。そしてiOS版MetaTrader 5を今すぐ更新してください。

20 3月 2015
MetaTrader 5 Platform Update Build 1100: Faster Testing and Optimization of Expert Advisors

Tester

  1. A status of connection to MQL5 Cloud Network is now displayed in the Agents Manager. This allows users to easily check if they can receive tasks from the cloud computing network after they install agents.


    A status of connection to MQL5 Cloud Network


  2. Some improvements and bug fixes have been made in the operation of the Strategy Tester. Time spent on intermediate preparatory operations and network latency has been significantly reduced. Testing and optimization are now faster in all operating modes: working with local testing agents, with a farm of agents in the local network and using MQL5 Cloud Network.

Trading Terminal

  1. Added display of the number of unread emails in the "Mailbox" tab of the Toolbox window.


    Added display of the number of unread emails


  2. The Navigator window now contains the list of Expert Advisors running on the active trading account. In addition to the Expert Advisor name, a chart on which the EA is running is specified in the list. An icon indicates whether the EA is allowed to trade.


    The Navigator window now contains the list of Expert Advisors running on the active trading account


    The context menu contains commands for enabling or disabling automated trading for any of the Expert Advisors, as well as for viewing its properties or removing it from the chart.
  3. Improved accuracy of the algorithm for determining access points available for connection to a trading server.
  4. Fixed an error that could occasionally clean the database of client accounts when a terminal was reinstalled over an existing one.
  5. The terminal interface has been further adapted for high resolution screens (4K).

Market

  1. Fixed updating of the MQL5 account balance after purchasing or renting a product.

Virtual Hosting

  1. Fixed migration of custom indicators to the virtual hosting environment.
  2. Fixed updating of the virtual hosting status in the Navigator window.

MQL5

  1. Fixed errors which could occasionally interfere with the optimization of Expert Advisors in MQL5 Cloud Network.
  2. Fixed call of OnDeinit when deleting an Expert Advisor using the ExpertRemove function during testing. Previously, under the conditions described the OnDeinit event was not called.
  3. Fixed errors in use of resources in EX5 libraries.
  4. Fixed errors in the analysis of macros.

Fixed errors reported in crash logs.

Updated documentation.

The update is available through the LiveUpdate system.

12345678910111213