MetaTrader 5プラットフォームベータ版ビルド1910: チャートの無制限ドラッグアンドドロップとMQL5.NETライブラリ

 

更新された MetaTrader 5 プラットフォームのベータ版が2018年10月14日にリリースされます。当社の一般向けのMetaQuotes-Demoサーバーはaccess.metatrader5.com:443で更新されます。更新されたプラットフォームの機能の評価と開発者のエラー修正に役立てるため、すべてのトレーダーの皆様のテストへの参加をお待ちしています。

MetaTrader 5 プラットフォームをビルド1910に更新するには、access.metatrader5.com server:443に接続なさってください。

新しい MetaTrader 5 プラットフォームの最終ビルドは公開ベータ版テストの後にリリースされます。

この新バージョンは次の変更を含みます。

  1. ターミナル: 取引ターミナルウィンドウから金融銘柄チャートを切り離すことができるようになりました。

    この機能は、複数の画面を使用している場合に便利です。つまり、1つ目の画面にメインプラットフォームウィンドウを設定してアカウント状態を管理し、チャートは2番目の画面に移動して市場状況を観察することができます。ターミナルからチャートを取り外すには、コンテキストメニューの[Docked]オプションを無効にします。その後、グラフを目的の画面に移動します。



    切り離されたチャート上の別のツールバーを使用すると、画面を切り替えることなく分析オブジェクトと指標を適用できます。ツールバーのコンテキストメニューを使用すると、使用可能なコマンドのセットを管理したり非表示にできます。

  2. ターミナル: 内蔵チャットを完全に更新しました。グループダイアログとチャネルがサポートを追加しました。スレッド間で切り替えずに、統一された環境でグループとプライベートディスカッションを行い、興味や言語に応じてチャネルを作成できます。MQL5.communityウェブサイトに移動せずに同僚や友達とチャットできます。

    グループチャットとチャネルは公開することも非公開にすることもできます。チャットの作成者は、チャットを自由参加型にするか招待のみにするかを決定します。スレッドをさらに管理するために、チャネルとチャットにモデレータ-0を割り当てることもできます。



  3. ターミナル: 仮想通貨取引のボリューム精度を向上させました。取引操作の可能な最小量は0.00000001ロットです。板情報、時間と販売、その他のインターフェース要素は、ボリュームは小数点以下8桁の精度で表示する機能を備えています。

    最小ボリュームとその変更ステップは、ブローカー側の金融商品設定に依存します。




  4. ターミナル: [ツールボックス]ウィンドウに、MQL5.communityで公表された記事のタブを追加しました。これで、MQL5の取引戦略の開発に関する600以上の詳細資料が、ターミナルを離れることなく利用可能になりました。新しい記事は毎週公開されます。



  5. ターミナル: Wineで作業する際の証明書を使った拡張認証のサポートを追加しました。
  6. ターミナル: 1レベルに制限されたときの板情報の表示を修正しました。
  7. ターミナル: 標準ツールバーに[Save As Picture(画像として保存)]コマンドを追加しました。これで、チャートの写真を撮ってコミュニティで共有するのがはるかに簡単です。




  8. ターミナル: バーとティックをインポートする際のシフトの適用を修正しました。以前は、シフトが適用されないことがありました。



  9. MQL5: "smart"関数インポートで.NETライブラリのネイティブサポートを追加しました。これで、.NETライブラリは特別なラッパーを書かないで利用できます。MetaEditorが独自のラッパーを書きます。

    .NETライブラリ関数を使用するには、特定の関数を定義せずにDLL自体をインポートします。MetaEditorは自動的に使用される関数をインポートします。
    • 単純な構造体(POD、plain old data)
    • 単純なデータ型を持つ構造体
    • 単純な型とPOD構造体またはその配列のみが使用されるパラメータを持つpublic static関数

    ライブラリからの関数を呼び出すには、単にインポートします。
    #import "TestLib.dll"
    
    //+------------------------------------------------------------------+
    //| スクリプトプログラム開始関数                                    |
    //+------------------------------------------------------------------+
    void OnStart()
      {
       int x=6;
       TestClass::Inc(x);
       Print(x);
      }
    TestClassのInc関数のC#コードは下記のとおりです。
    public class TestClass
    {
       public static void Inc(ref int x)
       {
        x++;
       }
    }
    実行されると、スクリプトは7を返します。

  10. MQL5: コードの解析にinline、__inline、__forceinline指定子のサポートを追加しました。コード中に指定子があると、エラーは発生せず、コンパイルには影響しません。現時点では、この機能により、С++コードをMQL5に簡単に転送することができます。
    指定子についての詳細は、MSDNをご覧ください。

  11. MQL5: MQL5プログラムの実行を大幅に最適化しました。場合によっては、パフォーマンスの改善は10%に達する可能性があります。より高速な実行には、新しいMetaEditorバージョンでプログラムを再コンパイルします。
    残念ながら、この新しい最適化により、新しいプログラムは以前のターミナルバージョンとの互換性がありません。MetaEditorバージョン1910以降でコンパイルされたプログラムは、1880以下のターミナルバージョンでは起動できません。古いバージョンのMetaEditorでコンパイルされたプログラムは、新しいターミナルでも実行できます。

  12. MQL5: 複数のMQL5関数を大幅に最適化しました。
  13. MQL5: ターミナルのメインウィンドウからチャートを追加/削除し、そのポジションを管理するための新しいプロパティを追加しました。

    ENUM_CHART_PROPERTY_INTEGER列挙体に下記のプロパティを追加しました。

    • CHART_IS_DOCKED — チャートウィンドウがドックされている。'false'の場合、チャートはターミナル領域外までドラッグできます。
    • CHART_FLOAT_LEFT — 仮想スクリーンに相対したドッキングされていないチャートウィンドウの左座標
    • CHART_FLOAT_TOP — 仮想スクリーンに相対したドッキングされていないチャートウィンドウの上座標
    • CHART_FLOAT_RIGHT — 仮想スクリーンに相対したドッキングされていないチャートウィンドウの右座標
    • CHART_FLOAT_BOTTOM — 仮想スクリーンに相対したドッキングされていないチャートウィンドウの下座標

    ENUM_TERMINAL_INFO_INTEGER列挙体に下記の関数を追加しました。

    • TERMINAL_SCREEN_LEFT — 仮想スクリーンの左座標。仮想スクリーンは、画面全体をカバーする長方形です。システムが2つの画面を右から左に並べると、仮想スクリーンの左の座標は2つの画面の境界になる可能性があります。
    • TERMINAL_SCREEN_TOP — 仮想スクリーンの上座標
    • TERMINAL_SCREEN_WIDTH — ターミナルの幅
    • TERMINAL_SCREEN_HEIGHT — ターミナルの高さ
    • TERMINAL_LEFT — 仮想スクリーンに相対したターミナルの左座標
    • TERMINAL_TOP — 仮想スクリーンに相対したターミナルの上座標
    • TERMINAL_RIGHT — 仮想スクリーンに相対したターミナルの右座標
    • TERMINAL_BOTTOM — 仮想スクリーンに相対したターミナルの下座標

  14. MQL5: MqlTick構造体とMqlBookInfo構造体にvolume_realフィードを追加しました。これは、より精度の高いボリュームで動作するように設計されています。volume_realは'volume'より優先順位が高いです。指定された場合、サーバーはこの値を使用します。

    struct MqlTick
      {
       datetime         time;          // 最後の価格更新時刻
       double           bid;           // 現在の売値
       double           ask;           // 現在の買値
       double           last;          // 現在の最終約定値
       ulong            volume;        // 現在の最終約定ボリューム
       long             time_msc;      // 最後の価格更新時刻(ミリ秒単位)
       uint             flags;         // ティックフラグ
       double           volume_real;   // 高精度の現在の最終約定ボリュー
      };

    struct MqlBookInfo
      {
       ENUM_BOOK_TYPE   type;            // ENUM_BOOK_TYPE列挙体からの注文タイプ
       double           price;           // 価格
       long             volume;          // ボリューム
       double           volume_real;     // 高精度ボリューム
      };

  15. MQL5: ENUM_SYMBOL_INFO_DOUBLE列挙体に下記のプロパティを追加しました。

    • SYMBOL_VOLUME_REAL — 最後の約定実行のボリューム
    • SYMBOL_VOLUMEHIGH_REAL — 今日の最高約定ボリューム
    • SYMBOL_VOLUMELOW_REAL — 今日の最低約定ボリューム

    プロパティの取得にはSymbolInfoDouble関数を使用します。

  16. MQL5: ENUM_MQL_INFO_INTEGER列挙体にMQL_FORWARDプロパティを追加しました(forward testモードフラグ)。
  17. MQL5: 列挙型キャストの要件を緩めました暗黙のキャストの場合、コンパイラは自動的に正しい列挙値を代入し、警告を表示します。

    下記のコードで
    enum Main
      {
       PRICE_CLOSE_,
       PRICE_OPEN_
      };
    
    input Main Inp=PRICE_CLOSE;
    //+------------------------------------------------------------------+
    //| 開始関数                                                   |
    //+------------------------------------------------------------------+
    void OnStart()
      {
      }
    コンパイラは下記の警告を表示します。
    implicit conversion from 'enum ENUM_APPLIED_PRICE' to 'enum Main'
    'Main::PRICE_OPEN_' instead of 'ENUM_APPLIED_PRICE::PRICE_CLOSE' will be used
    以前は、この場合、次のエラーが発生しました。
    'PRICE_CLOSE' - cannot convert enum
    関数のパラメータで列挙が不正に使用された場合、コンパイラは引き続きエラーを表示します。

  18. MQL5: テンプレート関数のコンパイルを修正しました。Now, オーバーロードされたテンプレート関数を使用すると、既存のすべてのテンプレート関数ではなく、必要なオーバーロードのみがインスタンス化されるようになりました。
    class X {  };
    
    void f(int)  {  }
      
    template<typename T>
    void a(T*) { new T(2); }  // 以前はコンパイラがここでエラーを生成した
      
    template<typename T>
    void a()  { f(0); }
      
      
    void OnInit()  { a<X>(); }  
    
  19. MQL5: CopyTicks* 関数によるティック履歴アクセスを部分的に最適化しました。
  20. テスター: 関連するレポートをテスト/最適化して生成する際の預金通貨の正確度の計算を修正しました。
  21. テスター: ストラテジーテスターの操作を最適化して加速しました。
  22. MetaEditor: 単語全体の検索を修正しました。検索時にアンダースコアは単語区切りではなく通常の文字としてみなされます。
  23. ドキュメントを更新しました。
理由: