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

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

14 10月 2021
MetaTrader 5 build 3081: MQL5サービスの改善とデザインの更新

Terminal

  1. MQL5.communityサービスのナビゲーションが改善されました。

    マーケットシグナルVPSセクションがメインプラットフォームワークスペースから[ナビゲータ]に移動されました。この新しい配置により、目的の製品に簡単にアクセスして、購入とサブスクリプションを効率的に管理できるようになります。基本的な使用法情報を提供するために、「仕組み」セクションが各サービスに追加されました。


    MQL5.communityサービスのナビゲーションの改善


  2. すべてのメニューとツールバーのアイコンが完全に再デザインされました。ターミナルインターフェイスがよりユーザーフレンドリーになりました。

    • アイコンから小さな要素を削除
    • 使用する色の数を減らしてカラーノイズを避ける
    • 使用される勾配は少なくして読みやすさを向上
    • より単純な比喩の使用


    すべてのメニュー、ツールバー、ダイアログがプラットフォームの再設計


  3. 取引の実行に起因するコストの表示を追加しました。関連情報は取引履歴に表示されます。この機能は、NFA規制証券会社によって使用されます。


    口座履歴に取引コストが表示される>


    証券会社がサーバーでコスト計算を有効にすると、口座の取引履歴に新しい[コスト]列が表示されます。この列には、銘柄の現在の中間価格に対する取引実行コスト(中間スプレッドコスト)が表示されます。

  4. MQL5.comの韓国語版を立ち上げました

    これは、アルゴリズムトレーダーの最大のコミュニティであるMQL5.communityで利用できる8番目の言語です。Webサイトのインターフェイス、記事、経済指標カレンダー、重要なフォーラムのトピックはすでに韓国語で利用できます。MQL5ドキュメントはまもなく翻訳されます。

  5. カスタム取引商品の読み込みを修正しました。新しく作成された銘柄設定が既存の銘柄設定を上書きすることがありました。
  6. シグナル取引履歴のチャート上表示を修正しました。以前は、関連するオプションによって以前表示できたのは、チャート銘柄だけでなくすべての金融商品の取引でした。
  7. 取引履歴レポートに料金列のエクスポートを追加しました。以前は、値は履歴にのみ表示されており、ファイルには保存できませんでした。
  8. 気配値表示およびチャートでのワンクリック取引パネルでの操作を最適化および高速化しました。
  9. カスタム取引商品の証拠金比率フィールドの操作を修正しました。特定の条件下で値がゼロにリセットされることがありました。
  10. トレーダーが証券会社から追加の取引サービスを購入できるサブスクリプションサービスの実装を継続します。相場サブスクリプションウィンドウのエラーを修正しました。
  11. Trend Line分析オブジェクトの表示を修正しました。以前は、拡大縮小またはチャートウィンドウのサイズ変更時に線が消えることがありました。
  12. Rectangle分析オブジェクトの表示を修正しました。アンカーポイントの1つがチャートの表示領域を超えていると、オブジェクトが消えることがありました。
  13. 組み込みのMQL5.communityチャートの操作に関連する修正と操作速度の改善を行いました。
  14. ポジションのリストのValueパラメータの丸めを修正しました。以前のバージョンでは小数点以下が非表示になることがありました。
  15. 口座登録プロセス中の携帯電話検証を修正しました。一部の中国携帯電話会社の電話番号が正しくないと識別されることがありました。
  16. 32文字を超えるMQL5アカウントパスワードのサポートが追加されました。
  17. Wineで作業する際の証明書の書き出しを修正しました。このオプションは、拡張認証を使用するアカウントをデスクトップからモバイルに移行するときに使用されます。
  18. ツールボックスウィンドウの下部パネルでMQL5サービスを開くボタンを修正しました。このボタンは、ウィンドウのドッキングが解除されたときに非アクティブでした。
  19. [ファイル\新規チャート]メニューのサイズに制限を追加しました。メニューには銘柄グループを持つ最大128個のサブメニューを含めることができ、各サブメニューには最大32銘柄を含めることができます。この制限により、ターミナルの操作が高速化され、気配値表示に多数の取引銘柄(2,000以上)を追加する際のフリーズが回避されます。

MQL5

  1. 引き続きベクトルと行列のサポートを追加しています。新機能は、ニューラルネットワークベースのソリューション開発者の可能性を大幅に拡大します。
  2. ENUM_DEAL_PROPERTY_DOUBLE列挙にDEAL_SL値とDEAL_TP値(取引の逆指値と指値)を追加しました。

    エントリ取引とリバース取引に関連する値は、これらの取引のトリガーとなった注文の逆指値/指値に従って設定されます。ポジション決済時の適切なポジションの逆指値/指値は、エグジット取引に使用されます。

  3. ENUM_MQL_INFO_INTEGER列挙にMQL_HANDLES_USED値(MQLプログラム内のアクティブなクラスオブジェクト(ハンドル)の数)を追加しました。これらには、動的(Newで作成)オブジェクトと非動的オブジェクトの両方、グローバル/ローカル変数、またはクラスメンバーが含まれます。プログラムが使用するハンドルが多いほど、プログラムが消費するリソースも多くなります。

  4. 経済指標カレンダーイベントを説明するMqlCalendarValue構造体を操作するための新しいメソッドを追加しました。

    • HasActualValue(void) — 実際の値が設定されている場合はtrueを返し、それ以外の場合はfalseを返す
    • HasForecastValue(void) — 予想値が設定されている場合はtrueを返し、それ以外の場合はfalseを返す
    • HasPreviousValue(void) — 前の値が設定されている場合はtrueを返し、それ以外の場合はfalseを返す
    • HasRevisedValue(void) — 変更値が設定されている場合はtrueを返し、それ以外の場合はfalseを返す
    • GetActualValue(void) — イベントの実際の値(double)を返す。適切な値が設定されていない場合はnanを返す
    • GetForecastValue(void) — イベントの予想値(double)を返す。適切な値が設定されていない場合はnanを返す
    • GetPreviousValue(void) — イベントの前の値(double)を返す。適切な値が設定されていない場合はnanを返す
    • GetRevisedValue(void) — イベントの変更値(double)を返す。適切な値が設定されていない場合はnanを返す

  5. EX5ファイルの形式でライブラリを使用するMQL5プログラムのデバッグを修正しました。
  6. シーケンスによって初期化された大きな配列を含むプログラムのコンパイルを高速化しました。
  7. カスタム取引銘柄データを使用したCopyTicksRange関数の実行を修正しました。この関数は、要求された期間外からデータを返すことがありました。
  8. パラメータによる特殊化中のすべてのテンプレートパラメータの可用性の検証を修正しました。デバッグテンプレートを使用してコードをコンパイルすると、特定の条件下で「コード生成エラー」が発生する可能性があります。

Signals

  1. シグナル購読を自動更新する機能を追加しました。

    以前に購読の初回購入に使用した支払い方法を使用して購読がさらに1ヶ月間自動更新されるため、購読が突然終了することはありません。


    購読の自動更新を有効化する


    以前の支払いにカードが使用されており、更新の支払いが失敗した場合、MQL5アカウントの残高からの支払いが試行されます。
    購読料の変更についても心配無用です。価格が上がると、自動更新はキャンセルされ、関連する通知がメールで届きます。

    自動更新オプションは、MQL5.comのマイ購読セクションからいつでも有効または無効にできます。


    MQL5.comのマイ購読セクションから自動更新を管理する


  2. シグナルショーケースの表示を修正しました。シグナルと現在のアカウントとの互換性が正しく識別されるようになりました。

Market

  1. マーケットショーケースに作者名とログインによる製品検索を追加しました。以前は、製品名と説明による検索のみがサポートされていました。

VPS

  1. サブスクリプションの自動更新オプションを改善しました。

    以前は、更新に対する支払いはMQL5アカウントの残高からのみ行うことができたため、ユーザによる残高確認が必要でした。

    MQL5アカウントにチャージする必要がなくなりました。初回に使用したのと同じ支払い方法を使用してサブスクリプションが更新されます。VPSの支払いにカードを使用して自動更新オプションを有効にした場合、新しいサブスクリプション期間に同じ支払い方法が使用されます。支払いが失敗した場合、、MQL5アカウントの残高からの支払いが試行されます。


    自動更新にはカードやその他の支払い方法を使用する


    この新しいオプションを使用すると、VPS期間が終了してエキスパートアドバイザーとシグナルサブスクリプションが停止することはありません。さらに、手動で残高を確認してチャージする必要はありません。
    このオプションは、新規サブスクリプションにのみ使用されます。既存のサブスクリプションの更新に対する支払いは、MQL5アカウントの残高から行われます。

Tester

  1. テスター: 可視化テストのエラーを修正しました。特定の条件下では、チャートにエキスパートアドバイザーで使用されるインジケータが表示されないことがありました。

MetaEditor

  1. Alt + Gを使用した関数または変数宣言へのジャンプを修正しました。宣言がコールラインより下にある場合、アクションが失敗することがありました。
  2. デバッガー内のクラスオブジェクトへの参照用のオブジェクトタイプの表示を追加しました。
  3. 監視されている式のリストに共用体を表示する機能が追加されました。

MetaTrader 5 iPhone/iPad版、MetaTrader 5 Android版

  1. アプリケーションの開始時に免責事項の表示を追加しました。よくお読みください。さらに、アプリケーションの初回起動時にお使いの証券会社がデモ口座を自動的に作成する場合、関連する既約が表示されます。


    MetaTrader 5 iPhone/iPad版に追加された免責事項

  2. モバイルアプリケーションから直接シグナルサービスの監視にアカウントを接続する機能が追加されました。これは、メニューから[アカウント監視]を選択することで実行できます。便宜上、アカウント番号とブローカー名が登録ウィンドウに自動的に追加されます。さらに、シグナル名と投資家パスワードを指定する必要があります。

    アカウントを監視に接続すると、詳細な取引統計にアクセスしたり、結果を他のトレーダーと共有したり、シグナルの販売を開始したりできます。

  3. Android OSで実行されているモバイルターミナル向けのHuawei AppGalleryおよびHMSサービスのサポートが追加されました。Huaweiスマートフォンの所有者は、関連するストアからアプリをインストールし、プッシュ通知を使用できます。

ドキュメントを更新しました。

18 6月 2021
MetaTrader 5 build 2980: 取引操作のプッシュ通知

ターミナル

  1. サーバからプッシュ通知を受信する機能が追加されました。ターミナルが閉じている場合でも、実行された取引操作が通知されます。



    以前のバージョンでは、モバイルデバイスでの通知は、トレーダーのデスクトップターミナルからのみ配信できました。取引操作の実行時に、ターミナルは設定で指定されたMetaQuotes IDに関連する通知を送信し、通知は実行中のターミナルからのみ送信できました。この要件が解除され、コンピュータの電源がオフのときにサーバでTPがトリガーされると、サーバからポジション決済に関する通知が届きます。

    サーバからの通知の受信を開始するには、次のことを行う必要があります。
    • サーバ通知はデモ口座では機能しないため、リアル口座を用意する
    • スマートフォンにiOS版またはAndroid版のMetaTrader 5をインストールする
    • モバイルターミナルで[メッセージ]セクションを開き、MetaQuotes IDを見つけて、デスクトップターミナルの設定で指定する
    • デスクトップターミナルの設定でサーバ通知を有効にする

    サーバ通知は証券会社によって有効にされる必要があります

    注文、取引、残高操作の3つの通知タイプがサポートされています。このオプションを有効にすると、使用可能な通知タイプがターミナルログに表示されます。
    '1222': subscribed to deals, orders, balance notifications from trade server

  2.  MetaTrader VPSショーケースをアップデートしました。VPSセクションがより便利になりました。
    • インターフェイスは任意の画面幅に適応する
    • ショーケースが垂直方向に占めるスペースが減り、ワークスペースに収まる
    • 必要な情報は必要な場合にのみ表示される支払いの詳細は、支払いプランを選択した後にのみ表示される



    ターミナル: ストラテジーテスターパネルで、MQL5サービスとツールボックスウィンドウにすばやく切り替えるためのコマンドを追加しました。コマンドは[概要]セクションにのみ表示され、他のタブではパネルを使用してテストを管理します。



  3. MQL5サービスのウィンドウ状態が保存されるようになりました。マーケットを開いたままでターミナルを閉じると、次にターミナルを起動したときに関連するウィンドウが開きます。
  4. MQL5アカウントの状態の定期的な同期を修正しました。エラーが原因で、特定の条件下でシグナルがコピーできない場合がありました。
  5. 推奨されるマーケット製品の選択の表示を修正しました。
  6. ナビゲータのシグナルコンテキストメニューを修正しました。メニューを使用して、購読しているシグナルを表示したり、シグナルを購読解除したりできます。

MQL5

  1. : 標準ライブラリ(MQL5\Include\Math\Alglib\complex.mqhファイル)の複素数の実装における「-」演算子エラーを修正しました。
  2. MQL5: 定数式だけでなく、初期化シーケンスで任意の式を使用できるようになりました。使いやすさとC++コードとの互換性が向上します。
    struct POINT
      {
       int x,y;
      };
    
    int GetYFunc(y)
      {
       return(y * y);
      }
    
    void SomeFunction(int x1,int x2,int y)
      {
       POINT pt={ x1+x2, GetYFunc(y) };
       ProcessPoint(pt);
      };
  3. 巨大なデータ配列を使用したunionのコンパイル中に発生したエラーを修正しました。
  4. StringToCharArray関数の動作を修正しました。最初の終了ヌル文字で停止するのではなく、渡された文字列全体をChar配列に変換するようになりました。
  5. 親クラスにデフォルトのコンストラクタがない場合に、クラス/構造体のコンストラクタ呼び出しが明示的に存在するための制御が追加されました。

MetaEditor

  1. プロファイラーレポートにインライン関数の呼び出し場所を表示するようになりました。
    以下の例では、func();呼び出しが次のように強調表示されます。




    func関数自体は、その完全なコードがOnStartに配置されているため、強調表示されていません。

  2. 空のプロジェクトを作成するようになりました。これは、デフォルトのテンプレートが適していない特定のファイル構造を持つ非標準の開発プロジェクトに役立つ機能です。




    この場合、空の設定ファイル「mqproj」が作成されます。ソースコードファイルは手動で作成する必要があります。

  3. MetaEditorのより高速な起動を実装しました。
  4. デバッグ中に観測された式のリストに表示されるデータを修正しました。特定の条件下では、リストに誤った変数値が表示される可能性があります。
  5. MQLウィザードを使用して作成されたPythonスクリプトファイルへの「.py」拡張子の自動追加を修正しました。

ドキュメントを更新しました。
21 5月 2021
MetaTrader 5 Build 2940: ワークスペースでのMQL5サービスショーケースの配置とデザインの更新

ターミナル

  1.  マーケットシグナル仮想ホスティングなどの取引サービスがプラットフォームのメイン作業エリアに表示されて便利になりました。
    以前のバージョンでは、MQL5サービスの購入エリアはメインウィンドウの下の小さなツールボックスウィンドウにありました。配置が新しくなり、便利な購入オプションを備えたフル機能のショーケースが表示されるようになりました。下部のエリアから不要なタブが削除され、他のプラットフォーム機能のためのスペースが増えています。



    追加のサービスにアクセスしても、取引やチャート分析などの主要な機能には干渉しません。
    • サービスタブはバーの端にあって、これはすべてのチャートタブの後です。
    • 使っていないサービスウィンドウは閉じることができます。再度開くには、ナビゲータ、ツールバー、または[サービス]メニューを使用します。


    また、サービスを完全に再設計しました。デザインはよりエレガントで軽量になりました。シグナルには、以前はMQL5.community Webサイトのショーケースからしか入手できなかった追加データが含まれています。これは、主な特性、信頼性、アクティビティ指標、およびその他の変数を含む極座標図です。



  2. ターミナル:IPv6アドレスのサポートを追加しました。
    すべてのネットワークで使用されているIPv4は、30年以上前に作成されたもので、32ビットのIPアドレスが含まれており、ドットで区切られた4つの8ビット番号として表されます。このアルゴリズムでは、40億を超える一意のIPアドレスを生成します。ただし、ユーザとデバイスの数が急速に増加しているため、利用可能なアドレスのプールの枯渇が加速しています。

    枯渇の問題を回避するために、一部の製品は最新のIPv6標準の追加サポートを備えています。このプロトコルは、x:x:x:x:x:x:x:xとして表される128ビットアドレスを使用します。ここで、各xは6つの16ビットアドレス要素の16進値です。理論的には、この形式では5 x 10 ^ 28の一意のアドレスが許可されます。広範なアドレス空間に加えて、このプロトコルには、古いバージョンに比べて他の利点があります。詳細については、専門記事を参照してください。

    MetaTrader5プラットフォームは完全にIPv6に対応しています。ブローカーまたはプロバイダーが新しいプロトコルに切り替えると、プロトコルサポートがプラットフォームでシームレスに有効になり、ユーザが追加のアクションを実行する必要がなくなります。

  3. ビルド2815で提供されているタスクマネージャ機能の実装を継続します。MQLプログラムのデバッグまたはプロファイリングが実行されているチャートの明示的な表示を追加しました。




  4. macOSおよびLinuxコンピュータのWineでより高速なプラットフォーム起動を実装しました。一般的な最適化とバグ修正:
    • メニュー、ツールバー、ダイアログボックスの表示が改善されました。
    • [Market]、[Signals]、[VPS]各セクションの表示エラーを修正しました。特に、「Market」ショーケースでの製品ロゴの読み込みを修正しました。
    • macOSコンピュータにMetaTrader5を簡単にインストールできるようにDMGパッケージを更新しました。このパッケージを使用すると、プラットフォームを他のアプリケーションと同様にインストールできます。プラットフォームアイコンを[アプリケーション]にドラッグし、インストールが完了するのを待ちます。
      パッケージには、より安定した高速な操作を可能にする追加のコンポーネントが含まれています。https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/MetaTrader4.dmgから最新バージョンをダウンロードしてMetaTrader 5を再インストールすることをすべてのパッケージユーザに強くお勧めします。
    CrossOverを使用している場合は、MetaTrader 5を完全に再インストールして、最新の64ビットバージョンを取得してください。
  5. 「Ctrl + F9」キーボードショートカットアクションを修正しました。ツールボックスの[取引]タブがアクティブになります。

ターミナル

  1.  32ビットコンポーネントを含む古いテクノロジーの流通を制限し続けています。
    • 32ビットターミナルでは[マーケット]からプログラムをロードできなくなりました。
    • 32ビットターミナルではホスティングサービスに接続できません。
    • 32ビットのMetaEditorバージョンでは、MQL5 CloudProtectorによる追加のファイル保護に対応していません。
    • 古いMetaEditorバージョン(5年以上前にリリースされた)でコンパイルされたMQL5プログラムは、新しいターミナルバージョンでは実行できません。

    32ビットプラットフォームバージョンのサポートは1年前、ビルド2361のリリース後に廃止されました。プラットフォームのすべての機能に制限なくアクセスするには、64ビットのMetaTrader5バージョンにアップグレードすることを強くお勧めします。
    さらに、以前に32ビット製品バージョンをマーケットにアップロードしたすべての販売者は、最新の64ビットMetaEditorを使用してそれらを再コンパイルし、新しいバージョンをアップロードすることをお勧めします。ターミナルで32ビットMQL5プログラムを実行する機能は、まもなく完全に無効になります。

MQL5

  1.  複素数操作のサポートを追加しました。
    新しい組み込み型「complex」を追加しました。
    struct complex
      {
       double             real;   // 実数部分
       double             imag;   // 虚数部分
      };
    「complex」型は、MQL5関数のパラメータとして値で渡すことができます(通常の構造体が参照によってのみ渡されるのとは対照的です)。DLLからインポートされた関数の場合、「complex」型は参照によってのみ渡されます。

    「i」接尾辞はcomplex定数を説明するために使用されます。
    complex square(complex c)
      {
       return(c*c);
      }
      
    void OnStart()
      {
       Print(square(1+2i));  // 定数がパラメータとして渡される
      }
    
    // 複素数の文字列表現である「(-3,4)」が出力される
    現在、複素数には単純な演算(=, +, -, *, /, +=, -=, *=, /=, ==,!=)のみが使用できます。

    追加の数学関数のサポートは後で追加され、絶対値、正弦、余弦などの計算が可能になります。

  2.  新しいエラーコードTRADE_RETCODE_HEDGE_PROHIBITED—ヘッジポジションが禁止されているため、ポジションを開くまたは指値注文を出すことは許可されていません。口座のヘッジが無効になっていて、同じ銘柄に対して反対の注文またはポジションがすでに存在する場合に、ユーザが取引操作を実行しようとすると、エラーが返されます。

MetaEditor

  1.  非ビジュアルモードでのデバッグとプロファイリングの終了を修正しました。
  2. 実際のデータでのインディケータプロファイリングを修正しました。このようなプロファイリングは、特定の条件下では開始できない可能性があります。

VPS

  1.  環境の移行をVPSに修正しました。リソースとしてインディケータを含むエキスパートアドバイザーでエラーが発生する可能性があります。

シグナル

  1.  コピーされたシグナルの取引モードチェックを修正しました。銘柄取引は証券会社側で制限できます。つまり、証券会社は「買いのみ」、「売りのみ」、または「決済のみ」の条件を設定できます。以前のバージョンでは、同期には完全な取引条件が必要であったため、他のすべての場合にコピーは許可されませんでした。更新後、部分的に制限された条件は「取引」と見なされます。この機能は、シグナルをコピーしたい株式ブローカーのクライアントに特に役立ちます。

テスター

  1.  テスト中の取引セッションチェックを修正しました。特定の条件下でのテスト中に取引操作の実行が失敗する可能性がありました。その場合、操作が取引セッション内で開始された場合でも「市場閉鎖」エラーが返されていました。
ドキュメントを更新しました。
2 4月 2021
MetaTrader 5 build 2875

ターミナル

  1.  更新されたMQL5標準プログラムがMQL5サブディレクトリではなくターミナルのルートデータディレクトリにコピーされるバグを修正しました。このエラーが原因で、追加の「Experts」、「Images」、「Include」およびその他のフォルダがデータディレクトリの下に作成される可能性があります。

    プラットフォームの更新後、これらのフォルダがチェックされ、自動的に削除されます。
  2. ユーザが組み込みのMQL5.communityチャットにログインできない原因になっていたエラーを修正しました。

テスター

  1.  MQL5クラウドネットワークによるエキスパートアドバイザーの最適化を修正しました。特定の条件下では、最適化を開始できない可能性があります。

MetaEditor

  1.  MQL5プログラムのデバッグおよびプロファイリング中のエラーとクラッシュを修正しました。
ドキュメントを更新しました。
26 3月 2021
MetaTrader 5 build 2860: WineとSQLの統合機能強化の改善

ターミナル

  1. 追加のMQL5.communityサービスを有効/無効にする機能を追加しました。たとえば、MQL5プログラミング記事シグナルサービスのコピー取引機能に興味がない場合は、関連するセクションを無効にして、リソースと端末ワークスペースを最適化できます。


    すべてのサービスはデフォルトで有効になっています。

  2. macOSおよびLinuxのWineでのターミナル操作を大幅に最適化しました。
    • ドッキングされていないサービスウィンドウ(ナビゲーター、ツールボックス)をターミナルの境界を越えてドラッグできないようにしました。以前は、これによってウィンドウをターミナルにドラッグして戻すことが困難になる場合がありました。
    • ウィンドウのサイズを変更するときのサービスウィンドウの内容のサイズ変更を修正しました。
    • タスクマネージャーでのパフォーマンス指標の表示を修正しました。
    • ツールバーのアイコンの表示を改善しました。
    • チャットの未読メッセージカウンターを修正しました。
    • チャートシステムコマンドの表示を修正しました(非表示、展開、閉じる)。
    • ログ表示を修正しました。
    • チャートのツールチップの表示を修正しました。
    • チャートの印刷コマンドを修正しました。
    • Linuxスキン使用時のトップメニューの表示を修正しました。
    • MetaEditorでのGitHub、MSDN、Stack Overflowの検索を修正しました。

    すべてのユーザがWineを最新の安定バージョンに更新することをお勧めします。これにより、プラットフォームのパフォーマンスと信頼性が向上します。
  3. BORSAイスタンブールで取引する際の「MarketToLimit」注文のサポートを追加しました。このような注文は、最初は成行注文として実行されます。流動性が十分でない場合、残りのボリュームは最後の取引価格で指値注文としてオーダーブックに追加されます。
  4. ボラティリティチャートの表示を修正しました。オプションボードで選択された有効期限に従ってチャートが作成されるようになりました。
  5. クイック検索バーを介したいた情報への取引商品の追加を修正しました。銘柄名にスペースが含まれている場合、この銘柄はリストに追加されません。



MQL5

  1. SQLデータベースを操作するための可能性を拡張しました。クエリは、さまざまな統計関数と数学関数をサポートするようになりました。

    統計関数
    • モード
    • メディアン(50パーセンタイル)
    • percentile_25
    • percentile_75
    • percentile_90
    • percentile_95
    • percentile_99
    • stddev or stddev_samp — 標本標準偏差
    • stddev_pop — 母標準偏差
    • variance or var_samp — 標本分散
    • var_pop — 母分散

    数学関数



    select
      count(*) as book_count,
      cast(avg(parent) as integer) as mean,
      cast(median(parent) as integer) as median,
      mode(parent) as mode,
      percentile_90(parent) as p90,
      percentile_95(parent) as p95,
      percentile_99(parent) as p99
    from moz_bookmarks;
  2. 新しいマクロを追加しましつぁ。
    • __COUNTER__ — 呼び出しごとに1つずつ増加します。テンプレートとマクロで使用する場合は、個別のカウンターが提供されます。
    • __RANDOM__ — ランダムなulong数を生成します。 これは、MathRand関数と類似します。

  3. チャート銘柄が存在しない場合の同期チャートリクエストの動作を修正しました。関数は結果を無期限に待つのではなく、関連するエラーを返すようになりました。銘柄が存在しない状況は、異なる取引手段のセットを持つ取引口座を切り替えることによって引き起こされます。
  4. CopyTicks*関数を最適化して高速化しました。

MetaEditor

  1. 履歴データを使用したプロファイルデバッグの順序を変更しました。

    プロファイリングは常に非ビジュアルモードで実行されるようになりました。デフォルトのデバッグは、非ビジュアルモードでも実行されます。適切なオプションは、MetaEditor設定で手動で有効にできます。




  2. サービスをプロファイルする機能を追加しました。プロセスは他のMQL5プログラムと同様です。
  3. プロファイラーレポートでの関数名の表示を修正しました。特定の条件下では、名前を<unknown>として指定できます。

ドキュメントが更新されました。
26 2月 2021
MetaTrader 5 build 2815: Pythonからの板情報へのアクセス、デバッガーとプロファイラーの改良

ターミナル

  1. Python APIを介して板情報データにアクセスする機能が追加されました。
    3つの新しい関数を使用すると、統計計算や機械学習タスクのデータをすばやく取得できます。これらのデータは、既成の多数のPythonライブラリを使用して実装できます。
    • market_book_add — 指定された銘柄の板情報の変化に関連するイベントを受信するためにMetaTrader5ターミナルをサブスクライブします。
    • market_book_get — 指定された銘柄の板情報レコードを含むタプルをBookInfoから返します。
    • market_book_release — 指定された銘柄の板情報の変更に関連するイベントへのMetaTrader5ターミナルサブスクリプションをキャンセルします。

  2.  プッシュメッセージの最大長が256文字から1024文字に増加し、モバイルデバイス上のMQL5プログラムからより多くの情報を送信できるようになりました。
  3.  F2キーを押すことで呼び出すことができるタスクマネージャーの暫定バージョンを追加しました。
    タスクマネージャを使用すると、プラットフォームで消費されるリソースを監視できます。チャートによって消費されたメモリの量、エキスパートアドバイザーによって使用されたCPUリソース、およびその他のパフォーマンス指標を表示できます。プラットフォームのパフォーマンスが低下した場合、問題を簡単に検出して修正できます。



  4.  サブスクリプションサービスを改善しました。相場が遅れている銘柄には、特別な表示が追加されています。
    • 気配値表示の銘柄は時計アイコンでマークされ、遅延値がツールチップに表示されます。
    • データ遅延通知がチャートに表示されます。



  5.  取引口座に接続していない場合のサブスクリプションリストの表示を修正しました。
  6. メールやニュースレターのリンクを修正しました。すべてのリンクがデフォルトのブラウザで開きます。以前は、リンクはInternet Explorerでのみ開くことができます。
  7. WebRequest関数からIPv6アドレスとCloudflare保護を備えたホストへの接続を修正しました。
  8. VPSサービスの機能と応答性が向上しました。
  9. WineおよびMacOS/Crossoverでの操作が改善されました。これには、M1プロセッサを搭載したmacOS BigSurのバージョンが含まれます。

MQL5

  1. ArrayPrint関数のエラーを修正しました。関数が配列の出力に失敗することがありました。
  2. File*関数によって実行されるファイル操作を最適化しました。ファイルの読み取りおよび書き込み操作ははるかに高速に実行されるようになりました。
  3. 配列が関数パラメータとして使用される場合に、動的配列の2番目、3番目、および4番目の次元のサイズの指定を必要とする制限を削除しました。これにより、コードの再利用と柔軟性が向上します。
    void func(int &arr[ ][ ][ ][ ])
      {
      }
  4.  ArrayBsearch関数の動作を修正しました。この関数は、バイナリ検索中に見つかった要素の誤ったインデックスを返す可能性があります。

MetaEditor

  1. 改良されたデバッガで、より多くの新機能が利用できるようになりました。
    • ArraySetAsSeriesで設定された並べ替えに従って、配列が観測ウィンドウに表示されるようになりました。
    • ローカル静的変数のサポートを追加しました。
    • 指定された配列要素値の表示を修正しました。
    • staticクラスフィールドの処理を修正しました。
    • より正確で信頼性の高いデバッグのためのその他の改善。

  2. Enable optimizations in profiling(プロファイリングで最適化を有効にする)」オプションを追加しました。
    プロファイリングレポートに詳細を含めるために、コード最適化モードを無効にすることができます。最適化を行わない場合のコード速度は数倍遅くなる可能性がありますが、このモードではコードカバレッジが広くなります。最適化コードでは、ボトルネックが不正確になる可能性があることに注意してください。

    「Enable inlining in profiling(プロファイリングでインライン化を有効にする)」を無効にすることで、より穏やかなプロファイリングモードを設定できます。



    最適化管理オプションもプロジェクト設定に追加されました。
    • プロジェクトで最適化が無効になっている場合、新しいオプションは無視されるため、プロファイリング(インライン化操作を含む)では常に最適化が無効になります。
    • プロジェクトで最適化が有効になっている場合、プロファイリングのコンパイル時に新しいオプションが考慮されます。

  3. デバッグおよびプロファイリングプロセスのログを追加しました。環境設定は、操作開始時にログに記録されます。 収集されたデータ統計は、操作停止時にログに記録されます。
    MQL5 profiler    starting 'ExpertMACD.ex5' on history with parameters:
    MQL5 profiler       symbol: 'EURUSD'
    MQL5 profiler       period: 'H1'
    MQL5 profiler       date from: '2021.01.01'
    MQL5 profiler       date to: '2021.02.22'
    MQL5 profiler       ticks mode: 'every tick'
    MQL5 profiler       execution delay: 0 ms
    MQL5 profiler       deposit: 10000
    MQL5 profiler       currency: 'USD'
    MQL5 profiler       leverage: 1:100
    MQL5 profiler       profit in pips: NO
    MQL5 profiler    profile data received (4640 bytes)
    MQL5 profiler    758 total measurements, 0/0 errors, 470 kb of stack memory analyzed
    MQL5 profiler    7782 total function frames found (1929 mql5 code, 342 built-in, 1403 other, 4108 system)

テスター

  1. 高度なテスト設定での非取引時間の指定を修正しました。
ドキュメントを更新しました。
15 1月 2021
MetaTrader 5 build 2755: ポップアップ価格ウィンドウとデバッガーの改良

ターミナル

  1. ポップアップ価格ウィンドウを改訂し、任意の画面サイズで金融銘柄の価格を表示できるようになりました。

    ウィンドウが複数列の表示をサポートするようになり、画面スペースを効率的に利用できるようになりました。表示モードを切り替えるには、ウィンドウのプロパティダイアログを使用します。


    このウィンドウのその他の改善点は次のとおりです。

    • 列選択メニューを追加しました。メニューには、気配値表示で使用できるのと同じ銘柄プロパティがあります。
    • 多数の金融商品の操作を最適化しました。ウィンドウのパフォーマンスは、10商品と1000商品で同等に高くなっています。
    • ツールチップに商品の簡単な情報の表示を追加しました。
    • 価格の上昇と下降を表示するための色設定の適用を修正しました。

  2. 合成板情報のティックチャートに取引の表示を追加しました。

    レベル2価格が提供されていない銘柄には、合成板情報が使用されます。この場合、レベルは、最良の買呼値と売呼値から開始して、価格変更ステップに等しい距離で自動的に構築されます。銘柄の最終取引価格と出来高データが提供されている場合、関連データがティックチャートに表示されるようになりました。情報は円で表示されます。

    • 赤い円は売り取引を示します。
    • 青い円は買い取引を示します。
    • 取引の方向が定義されていない場合、緑色の円が表示されます。

    円が大きいほど、取引高が大きくなります。



  3. オプションボードで「ギリシャ」指標の計算を修正しました。オプションの原資産の最終取引価格がゼロの場合、エラーが発生する可能性があります。
  4. 追加の取引サービスの提供を可能にする新しい「サブスクリプション」サービスの実装が継続されています。最近、依存サブスクリプションの表示を修正しました。このようなサブスクリプションは、バンドルされたサービスに使用されます。
  5. Wineでのプラットフォーム操作を改善しました。

MQL5

  1. マウスの右ボタンと中ボタンが離されたときにChartEventイベントを生成するようにしました。このイベントは、グラフィカルパネルを作成するときに利用できます。イベントを有効にするには、CHART_CONTEXT_MENUプロパティを使用してチャートのコンテキストメニューを無効にします。
  2. Sleep関数の待機時間に重大なエラーが発生するバグを修正しました。

MetaEditor

  1. デバッガーのグローバルアップデートを開始しました。観測式のウィンドウが大幅に改善されました。配列とオブジェクトのコンテンツをドロップダウンリストとして表示したり、ポインタ値を表示したりできるようになりました。



    配列またはオブジェクトを表示するには、観測ウィンドウでダブルクリックします。

  2. 一部のプロジェクトを開くときのフリーズを修正しました。

ドキュメントが更新されました。
26 11月 2020
MetaTrader 5 build 2715: 全体的な改善

ターミナル

  1. オプションボードを使用するとプラットフォームがフリーズする問題を修正しました。フリーズは、取引商品の設定で指定されたゼロティックサイズが原因である可能性があります。
  2. HiDPIディスプレイのUI表示エラーを修正しました。

MQL5

  1. StringToTime関数による文字列から時刻への変換を修正しました。時刻を「yyyymmdd [hhmiss]」と指定するとエラーになる場合がありました。
  2. 動的配列を含むオブジェクトの暗黙的なコピー演算子の操作を修正しました。この操作により、宛先オブジェクトのサイズがコピーされたオブジェクトのサイズに縮小されるようになりました。
    struct MyStruct
    {
      string Array[];
    };
    
    void OnStart()
    {
      MyStruct a1,a2;
      ArrayResize(a1.Array,3);
      ArrayResize(a2.Array,1);
      a1=a2;
    }
    以前は、関数呼び出し後の「a1」配列サイズは3でした。サイズは1になります。

MetaTester

  1. MQL5 クラウドネットワークテストエージェントの評価計算アルゴリズムを更新しました。評価がより正確に決定されるようになり、変更頻度が少なくなりました。

ドキュメントが更新されました。
12 11月 2020
MetaTrader 5 build 2690:MetaEditorの改善

ターミナル

  1. 合成板情報機能の表示を修正しました。以前は、この機能は一部の銘柄では使用できませんでした。

    合成板情報は、レベル2価格が提供されていない銘柄に使用されます。この場合、レベルは、最良の買/売呼び値から開始して価格変更ステップに等しい距離で自動的に構築されます。これは、注文を迅速かつ最大限に明確に発注、変更、削除するための便利なツールです。



MQL5

  1. SymbolInfoTick関数を使用して、MQL5プログラムから最終価格へのアクセスを最適化し、大幅に高速化しました。
  2. ダイアログボックスからの一目均衡表指標パラメータのリセットを修正しました。




  3. 取引商品の履歴が利用できない場合に発生するCopy*関数のフリーズを修正しました。
  4. コードプロファイラーの全体的な更新をさらに改善しました。ビルド2650で提示されたイノベーションに加えて、次の改善が実装されています。

    • データ表示の改善
    • レポートで使用される列名が短くなりました
    • プロファイリングレポートをファイルに保存する機能
    • レポート内の関数の行番号を含むツールチップの表示が追加されました



MetaEditor

  1. クリップボードの追跡を無効にし、クリップボードの履歴をクリアする機能が追加されました。

    クリップボード追跡機能は、最近使用したデータにすばやくアクセスできるようにすることで、ソースコードの使いやすさを向上させます。任意のソースコード位置でAlt + Vを押し、メニューから以前にコピーした行のいずれかを選択すると、その行が選択した位置に挿入されます。

    適切なツールバーコマンドまたはエディター設定を使用して、追跡を有効/無効にします。



  2.  プログラムのデバッグ中にいくつかの観測された式の計算を修正しました。

Tester

  1. ストラテジーテスターのフレーム受信モードで実行されているエキスパートアドバイザーの取引が禁止されました。
  2. ストラテジーテスターでの最適化結果のインポートを修正しました。エラーが発生すると、時間枠の値が正しくインポートされない可能性がありました。

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


9 10月 2020
MetaTrader 5プラットフォームビルド2650: バックグラウンドチャートの読み込みとMQL5コードプロファイラーの改善

ターミナル

  1. ターミナル: [オプション]タブに、[ポジションと注文のチャートデータをプリロード]というタイトルの新しい設定があります。
    トラフィックを節約するために、銘柄の価格履歴は関連データが要求されたとき(例: 価格チャートが開かれたとき、テストが開始されたとき)にのみダウンロードされます。ただし、これはアクティブに使用される銘柄にとって常に便利であるとは限りません。この新しいオプションを有効にすると、ポジションまたは指値注文がある銘柄のチャートはバックグラウンドモードで更新されます。したがって、チャートを開いた後、データがダウンロードされるのを待つ必要はなく、関連するデータをすぐに分析できるようになります。




  2. 週末後の日足(バー)の生成を修正しました。
  3. チャートの更新を修正しました。更新された価格データを追加ダウンロードした後、チャートが更新されない場合がありました。
  4. アカウント取引履歴キャッシュの更新を最適化しました。最適化により、History*関数を使用する際のデータ遅延を減らすことができます。
  5. 取引履歴をポジションとして表示するときのコメント列の表示を修正しました。
  6. シグナル購読更新ボタンの表示を修正しました。

MQL5

  1. コードプロファイラーの全体的な更新をさらに改善しました。ビルド2615で提示されたイノベーションに加えて、次の機能が実装されています。
    新しいパラメータの追加
    新しいプロファイラーでのサンプリング方法の使用法は以前に発表しました。プロファイラーは、MQLプログラム操作で一時停止(1秒あたり約1000回)し、特定のコードセグメントで実行された一時停止の数に関する統計を収集します。これには、合計コード操作時間における各関数のシェアを決定するための呼び出しスタックの分析も含まれます。プロファイリング後、ユーザーは、操作が一時停止された回数と、各関数が呼び出しスタックに表示された回数に関する統計を受け取ります。

    • 合計CPU[単位、%] — 関数が呼び出しスタックに出現した回数。<br6>
    • 自己CPU[単位、%] —指定された機能内で直接発生した「一時停止」の数。この変数は、ボトルネックを特定する上で非常に重要です。統計によると、より多くのプロセッサ時間が必要な場合、一時停止がより頻繁に発生します。


    プロファイリング中に関数のインライン化を無効にする機能を追加しました。
    MQLプログラムのコンパイル中に、関数はインライン化されます。つまり、関数コードは関数呼び出し位置に直接追加されます。これにより、パフォーマンスが大幅に向上します。ただし、この手順では、関数のプロファイリングが困難になります。「純」関数に関するレポートを取得するために、MetaEditor設定でインライン化を無効にすることができます。




    レポートデザインの更新
    プロファイリングレポートとソースコードウィンドウでのプロファイリング情報の表示を再設計しました。近代化されたデザインは、VisualStudioユーザにとってはより馴染み深いものになります。




  2. CopyTicksRange関数の動作を修正しました。関数が不完全なデータを返す場合がありました。
  3. 新しいエラーコード「TRADE_RETCODE_HEDGE_PROHIBITED — ヘッジポジションが禁止されているため、注文を出すことはできません。」口座の両建てが無効になっていて、同じ銘柄に対してすでに反対の注文またはポジションがある場合に取引操作を実行しようとすると、エラーが返されます。
  4. 指標のデバッグ時にMessageBoxを呼び出す能力を削除しました。MessageBoxは、ユーザの応答を待っている間、スレッドの実行をずっと中断するため、指標から呼び出すことはできません。
  5. SymbolSelect関数を使用して気配値表示への取引商品の追加を最適化し、大幅に高速化しました。
  6. 固定サイズの配列のArrayInsert関数の動作を修正しました。これで、動作はドキュメントの説明に対応します。要素が挿入されても、宛先配列のサイズは変更されず、挿入位置の右側の要素は右にシフトされます(最後の「count」要素は「 ドロップオフ」されます)。要素はソースから解放されたスペースにコピーされます。

テスター

  1. テスト中のカスタム取引条件設定の操作を修正しました。 設定ダイアログが改訂されました。

    • カスタムコミッションの計算を修正しました。コミッションを有効にするには、パス全体ではなく銘柄名を指定するだけで十分です。
    • より効率的な操作のためにタブを再配置しました。
    • ダイアログの名前を変更し、カスタム設定を有効にするオプションを変更しました。
    • 設定テーブルの列幅を最適化しました。
    • [カスタム設定を使用]オプションを無効にすると、ダイアログ内の他のすべての設定が無効になります。以前は、設定は編集可能なままであり、テスト中に設定が適用されるとユーザに誤解される可能性がありました。




  2. チケットによる取引履歴からの注文の受信に関連する時折のエラーを修正しました。

MetaEditor

  1. コード編集ウィンドウに配色プリセット(ライト(デフォルト)、ダーク、青)を追加しました。エディタービューを手動で構成しなくても、エディターをカスタマイズできます。

    さらに、関数のツールチップの境界線の色をカスタマイズできるようになりました。



     
  2. ツールバーのすべてのアイコンが更新され、HiDPIモニターをサポートするようになりました。

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


17 9月 2020
MetaTrader 5 build 2615:ストラテジーテスターでのファンダメンタル分析と複雑な基準

ターミナル

  1. ファンダメンタル分析機能を拡張しました。
    銘柄をより正確に分類するために、取引商品に新しいプロパティを追加しました。
    • Sector — エネルギー、金融、ヘルスケアなど、資産が属する経済部門
    • Industry — スポーツウェア、アクセサリ、自動車製造、レストラン業など、資産が属する産業タイプ
    • Country — 証券取引所で株が取引されている会社の国
    これらのプロパティに基づいて、銘柄を使用した効率的な操作を可能にする個別のシステムが気配値表示に実装されました。メニューからカテゴリを選択すると、利用可能なすべての商品がリストに追加され、詳細に分析できます。



    関連するプロパティが契約仕様に追加されました。



    さらに、取引銘柄の基本データをプラットフォームから直接開くことができるようになりました。気配値表示のコンテキストメニューに大手アグリゲータへのリンクが追加されました。



    拡張データの可用性はブローカーによって制御されますが、当社ではデフォルトで最大数の商品の詳細情報が利用できるようにしました。ブローカーがサーバを新しいバージョンに更新するとすぐに、適切な国、部門、業界のデータがプラットフォームに表示されるようになります。
  2. シグナルおよびマーケットショーケースを改善しました。左パネルにレンタルボタンとサブスクリプションボタンが追加されています。



    セクションの設計に関するさらなる改善を行いました。ボタンの色がより明るくなり、MQL5ログインボタンはより大きくなっています。

  3. ストップロスとテイクプロフィットチャートレベルの潜在的な利益/損失計算を修正しました。



  4. 合成商品の計算におけるエラーを修正しました。このエラーにより、起動時にプラットフォームがフリーズすることがありました。
  5. データウィンドウでの組み込みフラクタル指標値の表示を修正しました。
  6. HiDPIモニターに対応するように、プラットフォームツールバーのすべてのアイコンが更新されました。
  7. コピーされた取引シグナルのポジションボリューム調整を修正しました。誤って適用されたストップレベルが原因で調整操作が失敗し、「無効なストップ」エラーが発生する場合がありました。
  8. サーバーでの関連する変更後の価格履歴の再構築を最適化しました。
  9. チャートでの取引レベルのツールチップの表示を修正しました。場合によっては、取引レベルの表示が無効になっていても、ツールチップがチャートに表示されていました。
  10. [ツールボックス/取引]セクションでの注文とポジションのコンテキストメニューの[チャートで表示/自動アップデート]オプションを修正しました。このオプションをオフにすると、開いているすべてのチャートで取引履歴の表示が無効になります。

MQL5

  1. MathClassify関数を追加しました。この関数は、浮動小数点数の型を判別し、新しいENUM_FP_CLASS列挙からの値として結果を返します。
    ENUM_FP_CLASS  MathClassify(
       double  value      // real number
       );
    列挙には次の値が含まれます。
    • FP_SUBNORMAL — 表現可能な最小の正規数DBL_MIN(2.2250738585072014e-308)よりもゼロに近い非正規数
    • FP_NORMAL — 2.2250738585072014e-308~1.7976931348623158e+308の範囲にある正規数
    • FP_ZERO — 正または負のゼロ
    • FP_INFINITE — 適切な型で表すことができない数、正または負の無限大
    • FP_NAN - 数でない

    次のコードを使用して、浮動小数点数の有効性を確認します。
    if(MathClassify(value)>FP_ZERO)
      {
       Print("value is not a valid number");
      }
  2. SymbolInfoString関数を使用して取得できる銘柄プロパティを追加しました。

    • SYMBOL_COUNTRY — 証券取引所で株が取引されている会社の国
    • SYMBOL_SECTOR_NAME — エネルギー、金融、ヘルスケアなど、資産が属する経済部門
    • SYMBOL_INDUSTRY_NAME — スポーツウェア、アクセサリ、自動車製造、レストラン業など、資産が属する産業
    プロパティは文字列として返されます。

    商品が属する部門および業界は、列挙値として取得できます。これは、SymbolInfoInteger関数を使用して次のプロパティをリクエストすることで実行できます。
    • SYMBOL_SECTOR
    • SYMBOL_INDUSTRY

    これらのプロパティを操作するために、ENUM_SYMBOL_SECTORおよびENUM_SYMBOL_INDUSTRY列挙が追加されました。

  3. 新しいメモリ管理メカニズムがMQL5プログラムに実装されました。最大3倍のメモリ割り当てが可能になり、潜在的なメモリアクセスエラーが回避されます。
  4. History*関数を介したアカウントティック履歴による操作を最適化および加速しました。
  5. OnDeinitエントリポイントからのWebRequest呼び出しを修正しました。以前のバージョンでは、エキスパートアドバイザーが停止した場合の関数呼び出しを実装できませんでした。
  6. サービスからのWebRequest関数呼び出しを修正しました。以前は、サービスの再起動後に関数呼び出しが失敗することがありました。
  7. OpenCLを使用する場合のデバイスでのdouble型サポートに対するチェックを追加しました。float型は丸めが過度であるため、金融計算に使用できません。したがって、プラットフォームでは、計算に対して明示的にdouble型のサポートが必要です。double型がサポートされていない場合、適切なメッセージ(「device '<name>' does not support type 'double'」)がプラットフォームログに書き込まれます。以前は、このような場合に表示されるエラーメッセージは一般的なものでした。
  8. ACCOUNT_EQUITYおよびACCOUNT_BALANCEパラメータを使用したAccountInfoDouble関数の実行を大幅に高速化しました。
  9. ChartApplyTemplate関数を使用した、テンプレートのチャートへの適用を修正しました。
  10. CHART_BRING_TO_TOPパラメータを使用したChartSetInteger関数呼び出しを修正しました。
  11. 新しいConjugateメソッドが組み込みAlglibライブラリに追加されました。このメソッドにより、共役複素数の計算が可能になります。ライブラリはMQL5\Include\Math\Alglibにあります。
  12. コードプロファイラを完全に改訂しました。新しいプロファイラは、より高い精度と速度で動作します。
    • 分析は、プログラムのリリースバージョンのコンパイルと同様に最適化されたコードに基づいています。これにより、プログラムの実行中にまったく同じコードが使用されるため、コード実行速度をより正確な決定できます。
    • 新しいプロファイラは、「サンプリング」プロファイリング方式を使用します。この軽量で正確な方法では、コールスタックデータを収集して定期的にパフォーマンスを計算することにより、アプリケーションのパフォーマンス統計を収集します。
    • 以前のバージョンとは異なり、新しいプロファイラーは分析対象のコードに変更を加えません。以前に使用されたInstrumentation(計装)法では、関数の速度を測定するために使用された特定の作成物をコードに追加していました。これは、最終的なコード速度に影響を与える可能性があります。
    プロファイラの開発は継続され、今後のプラットフォームリリースでは、さらに改善が行われる予定です。

テスター

  1. MQL5クラウドネットワークでの操作を最適化しました。エージェントでのエキスパートアドバイザーの読み込みを修正しました。
  2. 新しい最適化基準「Complex Criterion max」を追加しました。これは、テストパス品質の不可欠かつ複雑な尺度です。複数のパラメータが測定されます。
    • 取引数
    • ドローダウン
    • 回収係数
    • 予想されるペイオフ
    • シャープレシオ

    1つのパラメータ(例: 利益)の最高値は、複雑な分析の観点からは常に最良の選択肢であるとは限りません。最良のパスは複雑な基準(まず取引数、次に期待されるペイオフ、回収係数など)によって徐々に選択されます。新しいオプションでは、すべてのパラメータに従って最適な最適化パスを受け取ることができます。さらに、最高の利益など、必要なパラメータに基づいて最適なパスを選択できます。

    ストラテジーテスターの設定で新しい基準を選択し、最適化を開始します。



    「Complex Criterion max」値は、最適化結果の別の[結果]タブに表示されます。パスはこの列で並び替えできます。新しい基準では、色分けによって最適なパスが視覚的に強調されます。20未満の値は赤で強調表示され、80を超える値は濃い緑色で表示されます。



  3. ストラテジーテスターでカスタム手数料の計算を修正しました。

MetaEditor

  1. スマートコード管理機能(IntelliSense)のグローバルな改訂を開始しました。
    • ヒントに、名前に加えて完全な関数シグネチャが表示されるようになりました。
    • ヒントのフォントがMetaEditor設定に従って設定されるようになりました。
    今後のプラットフォームリリースでは、さらに改善が行われる予定です。
ドキュメントを更新しました。

24 7月 2020
MetaTrader 5 build 2560: 組み込み学習システムの改善

ターミナル

  1. 以前のプラットフォームアップデートでは、完全に改訂された学習システムを提示しました。最新バージョンでは、さらに改善が行われています。
    • プログレスバーのアイコンがより見やすくなりました
    • ヒントのテキストを修正しました
    • 学習進捗の計算が修正されました
    プラットフォームの機能を最大限に活用するには、すべてのレッスンを完了してください。




  2. 大きなティックストリームの処理(毎分数万を超えるティック)を最適化し、大幅に高速化しました。
  3. 前回のセッションの終値に対する価格変化の計算におけるエラーを修正しました。この変数を表示するには、[気配値表示]のコンテキストメニューの[Daily Change]列を有効にします。

MQL5

  1. ChartGetInteger関数を介した数値チャートプロパティへのアクセスを最適化および高速化しました。
  2. iCustom関数を介してMQL5プログラムからリクエストされた場合のカスタム指標検索を修正しました。

MetaEditor

  1. プロジェクトでのC/C++プログラムのコンパイルを追加しました。

テスター

  1. MQL5クラウドネットワークの操作を大幅に最適化しました。エージェントの検索効率が向上したため、ネットワークはタスクを分散し、計算結果をより速く返すことができます。

ドキュメントを更新しました。

10 7月 2020
MetaTrader 5 build 2530: 気配値表示の並び替えと最適化結果の詳細操作

ターミナル

  1.  気配値表示ウィンドウに並べ替えオプションを追加しました。
    • 列名をクリックして、銘柄名、終値、1日の変化などの変数の必要なデータでリストを並べ替えます。
    • 新しいメニューには、最もよく使われる並べ替えオプションを備えています。1日の銘柄価格の変化(上昇と下降)の大きさによる並び替えは、取引所商品を取引するときに役立ちます。



  2.  組み込み学習システムを再設計および改善しました。
    すべてのインタラクティブなヒントはさまざまなカテゴリにグループ化されており、ナビゲーションが容易になっています。カテゴリごとに表示されたヒントと残りのヒントの数が表示されます。



    すべてのヒントには、トレーニングを完了するためにユーザーが実行すべき主要なアクションを示すチェックリストが提供されます。

    学習システムの設計を修正し、全体の進捗状況の計算におけるエラーを修正しました。

  3. 銘柄の前のセッション終了時間と現在のセッション開始時間の自動計算を追加しました。適切なデータがブローカーから直接提供されない場合、ターミナルはセッションの最初と最後のクオートに基づいて値を計算します。関連情報は[気配値表示]ウィンドウに表示できます([銘柄]セクションで適切な列を有効にするか、[詳細]セクションに移動する)。



  4. ポジションへの価格の適用を最適化および高速化しました。新しいティックがターミナルに到着すると、価格、利益、証拠金の要件がより速く更新されます。
  5. 組み込みストキャスティクスの計算を修正しました。チャートに表示されるバーの数が限られている場合、エラーが発生する可能性があります。

MQL5

  1. 取引口座プロパティへのアクセスを提供するAccountInfo*関数を最適化して高速化しました。
  2. ChartGetInteger関数を介した数値チャートプロパティへのアクセスを最適化および高速化しました。

MetaEditor

  1. MQL5ストレージでの効率的な操作のために、次のコンテキストメニューコマンドがコード編集タブに追加されました。
    • ファイルの作業コピーを現在のリビジョンと比較
    • 変更を元に戻す
    • ファイルの変更履歴を表示


  2. 一致する括弧の強調表示を変更しました。強調表示は背景ではなく括弧に適用されます。強調表示はデフォルトで無効になっており、エディタ設定で有効にできます。


  3. 検索機能と置換機能を改善しました。
    • ファイル内のテキストを選択してから検索ボックスを表示すると、テキストが[検索]フィールドに自動的に貼り付けられます。テキストが選択されていない場合、クリップボードのテキストが[検索]フィールドに貼り付けられます。クリップボードが空の場合、検索ボックスのフォーカスは[検索]フィールドに設定されます。
    • 同様の動作は、テキストが[置換]フィールドに挿入される置換ウィンドウにも実装されています。
    • 検索と置換の結果が、以前に使用されていた個別のダイアログボックスではなく、ログに表示されるようになりました。[ツールボックス]ウィンドウが有効になっている場合、[操作ログ]タブが自動的に選択されるため、余分なウィンドウ操作がいりません。

  4. MQL5ストレージ使用時のファイル比較ウィンドウでの検索を修正しました。
  5. #includeディレクティブを介して現在のファイルに関連付けられているファイルを検索および置換する可能性を追加しました。
    新しいオプションにより、複数のファイルで構成されるプロジェクトでより高速な操作が可能になります。例えば、すべてのファイルのテキストを置き換える場合、エディタが#includeディレクティブを介してディレクトリを自動的に検出するため、手動で指定する必要がありません。



テスター

  1. 残高とその他の2つの変数を含む最適化基準を改訂しました。基準では2番目の変数のみが考慮され、残高は無視されるようになりました。新しい最適化基準では分析が容易になります。

    • 残高+最大収益性->最大収益性
    • 残高+最大予想ペイオフ->最大予想ペイオフ
    • 残高+最小ドローダウン->最小ドローダウン
    • 残高+最大回復係数->最大回復係数
    • 残高+最大シャープレシオ->最大シャープレシオ



  2. [最適化パラメータ]サブメニューに、最適化結果を含むテーブル内のすべての入力列をすばやく表示または非表示にするコマンドを追加しました。



  3. より便利な視覚分析のために、最適化結果の表とグラフに色を追加しました。
    グラフは、最適化基準の値に応じて、緑から赤のグラデーションで色分けされます。表には次の色が使用されています。
    • 残高: 初期入金を上回る値は青色、下回る値は赤色で表示されます。
    • 利益: ゼロを上回る値は青色、下回る値は赤色で表示されます。
    • 期待されるペイオフ: ゼロを上回る値は青色、下回る値は赤色で表示されます。
    • ドローダウン: 緑(0~5%)から赤(30%以上)。
    • シャープレシオ: 緑(2を上回る)から赤(0未満)。
    • 回復係数: 緑(2を上回る)から赤(1未満)。



  4. 最適化結果テーブルにフィルターを追加しました。フィルターを使用して、失敗したパスをリストから非表示にします。
    • 取引なしパス
    • 損失を生むパス
    • ドローダウンが50%を超えるパス
    • 回復係数が1未満のパス
    • シャープレシオが0.5未満のパス



  5. MQL5クラウドネットワークの作業を最適化しました。同じエキスパートアドバイザーに対して最適化が開始されると、ネットワークは、以前の最適化パスで使用されたものと同じテストエージェントを使用しようとします。これは、取引履歴を含む必要な市場環境がそのようなエージェントですでに利用可能であるためです。

ドキュメントを更新しました。
26 6月 2020
MetaTrader 5 iOS build 2505: スワイプ、新しいセクション、配色

iOS 版 MetaTrader 5 ビルド2505

MetaTrader 5 iOSユーザからフィードバックを収集し、アプリケーションを見直しました。

  • 相場セクションに銘柄の検索を追加しました。
  • 「白地に色」配色を追加しました。
  • チャートに取引の表示を追加しました。
  • チャートと重ならないように時間枠スイッチパネルを上に移動しました。
  • チャートの垂直スケーリングを追加しました。価格スケールの上をスワイプするだけです。
  • QRコードを使用してアカウントを他のデバイスに移動する機能を追加しました。
  • 相場セクションに、ピップ単位での1日の価格変更の表示を追加しました。 データは、証券会社から提供されている場合にのみ使用できます。
  • スワイプジェスチャーのサポートを相場、履歴、取引セクションに追加しました。
  • 高速取引のために取引量の適応選択を追加しました。
  • FaceIDまたは指紋を介してOTPジェネレーターにアクセスする機能を追加しました。
iPadナビゲーションを再設計しました。
  • ワンクリック取引パネルを上に移動しました。
  • セクションと指標を含む下部メニューを追加しました。
  • メール、ニュース、アカウント管理のセクションを別のタブに移動しました。
  • アカウント管理を改善しました。
5 6月 2020
MetaTrader 5 build 2485: iCustomの改善とMQL5全体の最適化

ターミナル

  1. カスタム金融商品でのバー履歴の編集を最適化し大幅に高速化しました。この改善はCustomRatesUpdate関数にも関係しています。
  2. カスタム銘柄設定のJSONファイルへのエクスポートを修正しました。
  3. クラッシュログで報告されたエラーを修正しました。

MQL5

  1. このバージョンでは、iCustomを介したカスタム指標の読み込みアルゴリズムが変更されています。

    カスタム指標名の前にバックスラッシュ(\)が示されている場合、EXL指標ファイルはMQL5ルートフォルダーに対して相対的に検索されます。例えば、iCustom(Symbol(), Period(), "\FirstIndicator"...)が呼び出された場合、指標はMQL5\FirstIndicator.ex5として読み込まれます。このパスでファイルが見つからない場合、エラー4802 (ERR_INDICATOR_CANNOT_CREATE)が返されます。

    パスがバックスラッシュ(\)で始まらない場合、指標は次の一連のアクションに基づいて検索および読み込みされます。

    • EX5ファイルが、呼び出し元プログラムのEX5と同じフォルダーで検索されます。例えば、CrossMA.EX5エキスパートアドバイザーがMQL5\Experts\MyExpertsにあって、呼び出しが「iCustom(Symbol(), Period(), "SecondIndicator"...)」だとします。この場合、指標はMQL5\Experts\MyExperts\SecondIndicator.ex5で検索されます。
    • 指標が見つからない場合、指標ルートディレクトリMQL5\Indicatorsに相対した検索が実行され、MQL5\Indicators\SecondIndicator.ex5ファイルが検索されます。指標が見つからない場合、関数はINVALID_HANDLEを返し、エラー4802(ERR_INDICATOR_CANNOT_CREATE)が発生します。

    指標パスがMyIndicators\ThirdIndicatorなどのサブディレクトリに設定されている場合、検索は以下の呼び出し側プログラムのフォルダー(エキスパートアドバイザーはMQL5\Experts\MyExpertsフォルダーにある)から開始されます: MQL5\Experts\MyExperts\MyIndicators\ThirdIndicator.ex5。指標が見つからない場合、MQL5\Indicators\MyIndicators\ThirdIndicator.ex5が検索されます。呼び出しでは、パス区切り文字を二重のバックスラッシュ(\\)として指定する必要があります。例えば「iCustom(Symbol(), Period(), "MyIndicators\\ThirdIndicator"...)」です。

    また、iCustomを介したカスタム指標の呼び出しがプログラムコードで見つかった場合、コンパイラは、「#property tester_indicator XXX」ディレクティブが指定されていなければ、暗黙的に追加します。
  2.  HistorySelect関数を最適化し、大幅に高速化しました。これにより、取引や注文の履歴をリクエストできます。
  3. MQL5: CopyTicksRange関数によるティックリクエストで時々発生するエラーを修正しました。エラーにより、範囲の開始時刻が指定された時刻ではなく、その日の始めに設定されていました。
  4. Alertによるアラート表示を最適化し、大幅に高速化しました。
  5. 銘柄の最後のティック時間(ミリ秒)を表す新しいプロパティSYMBOL_TIME_MSCを追加しました。このプロパティはSymbolInfoInteger関数で取得できます。
29 5月 2020
MetaTrader 5 build 2470

ターミナル

  1.  名前に「-」、「=」、「_」、「+」を含む金融銘柄を気配値表示に追加できなかったバグを修正しました。

MQL5

  1. MQL5標準ライブラリのコードフォーマットを最適化および改善しました。

MetaEditor

  1. 「\ n」および「\ r」行末文字による拡張検索を修正しました。

ドキュメントを更新しました。
22 5月 2020
MetaTrader 5プラットフォームビルド2450: サブスクリプションサービス、UIの改善、MetaEditor機能の変更

ターミナル

  1.  新しいサブスクリプションサービスをリリースしました。サブスクリプションは、取引を支援する追加のサービスを提供します。たとえば、有名なプロバイダーからの高品質な市場データに登録し、受信したデータを分析して、新しい取引戦略を開発できます。必要に応じて、取引の基本の学習やプラットフォームの使用スキルの習得に役立つパーソナルマネージャーサービスをリクエストできます。.

    このサービスは現在開発中で、次のバージョンで使用できるようになります。

    仕組み
    ナビゲータに新しい[サブスクリプション]セクションが追加されました。利用可能なすべてのサービスがこのセクションに表示されます。サービスのリストはブローカー側で設定されるため、接続しているサーバーによって異なります。サブスクリプションは、簡単に閲覧できるようにカテゴリに分かれています。


    サービスを選択して、詳細な説明を表示します。次に、[Subscribe]をクリックします。アクティブなサブスクリプションはすべて別のセクションに表示されます。



    市場データを購読すると、[気配値表示]で適切な取引商品が選択できるようになります。それらは通常の銘柄として使用できます。[気配値表示]で相場を表示し、チャートを開き、オブジェクトと指標を使用して分析し、ストラテジーテスターでエキスパートアドバイザーを実行します。これらの銘柄の取引操作はサポートされていません。

    購読の支払い方法
    取引口座の資金を使用してサービスの料金を支払うことができます。支払いはプラットフォームから直接実行できるため、他のウェブサイトにアクセスする必要はありません。

    まもなく、MetaQuotes-Demoに接続して市場データのサブスクリプションを購入する可能性が追加されます。
    世界中のさまざまな取引所からの市場データのサブスクリプションを設定する予定です。数回クリックするだけで、ナスダック、CME、NYSE、BOVESPA、その他の取引所からリアルタイムの相場を取得することができます。マーケット、シグナル、ホスティングの購入と同様に、MQL5.communityアカウントを使用してサブスクリプションの支払いを行うことができます。
  2.  チャート設定に新しい[ティッカーを表示]オプションを追加しました。このオプションは、取引銘柄名、時間枠、およびカスタムコメントを含む行を表示/非表示にします。




  3.  チャート設定に新しい[取引履歴を表示]オプションを追加しました。チャートに市場のエントリとエグジットを表示する機能は以前のバージョンで利用可能でしたが、[ツールボックス]\[履歴]セクションから管理されていました。新しいオプションにより、履歴表示のより快適な設定が可能になります。一度にすべてのチャートに対して設定することも、目的のチャートに対して個別に設定することもできます。




    さらに、チャートのコンテキストメニューを使用して、取引履歴と取引レベルの表示をすばやく有効にできます。



  4. チャート設定に新しい「Color on White」スキームを追加しました。



  5. ポジションと注文のコンテキストメニューに新しいコマンドが追加され、関連する銘柄の[板情報]とチャートをすばやく開くことができるようになりました。





  6. チャートフレームの強調表示を追加しました。これは、ターミナルで複数のチャートが開いているときに、目的の銘柄チャートを見つけるのに役立ちます。[気配値表示]の銘柄、取引または履歴セクションの注文またはポジションライン、またはアラートを選択すると、適切な銘柄チャートのフレームが3回点滅します。



  7.  チャートでの取引レベルの表示が改善されました。
    • チャートをきれいに保つために、ポジション、注文、レベルのチケットは表示されなくなりました
    • キャプションは読みやすくするために大文字で表示されます
    • ボリュームがゼロの場合、小数部分なしで表示されます
    • チャートの高さが80ピクセル未満の場合、レベルは非表示になります


  8. 銘柄名に加えて、チャートの左上隅に銘柄の説明(利用可能な場合)の表示を追加しました。




  9. 新しい列が未決注文とポジションのリストに追加されました。
    • Change — 運用収益率
    • Value — ポジションの市場価値
    • Magic — エキスパートアドバイザーによって開かれた注文とポジションの識別子(マジックナンバー)

    新しい列は、コンテキストメニューを使用して表示/非表示にできます。


    ポジション値とマジック列も取引履歴セクションに追加されました。
    さらに、ポジションと履歴セクションの利益フィールドは、操作結果に応じて強調表示されます。
  10. マイナス価格のサポートが追加されました。これにより、最近の原油価格がゼロを下回ったのと同様の状況で、適切なプラットフォームの運用が可能になります。下記が含まれます。
    • [気配値表示]での相場の表示
    • チャートと[板情報]の表示
    • 取引操作の実行
    • 利益と担保の計算

  11. [気配値表示]で同時に有効にできる銘柄の最大数が5000に増えました。
  12. 最終更新日によるチャットの並べ替えを修正しました。
  13. 多数の取引銘柄(50,000以上)による操作を最適化および高速化しました。
  14. 現在のボリュームが銘柄のボリューム変更ステップに対応していない場合にポジションを決済できなかったバグを修正しました。

MQL5

  1. ティック履歴の操作を最適化および高速化しました。
  2. データベースを操作するための新しい関数を追加しました。
    • DatabaseResetDatabasePrepare呼び出しと同様に、リクエストを初期状態にリセットします。この関数は、異なるパラメータ値を使用して要求を複数回実行することを目的としています。たとえば、INSERTコマンドを使用してデータを一括でテーブルに追加する場合、フィールド値のカスタムセットをエントリごとに作成する必要があります。
    • DatabaseBind — リクエストにパラメータ値を設定します。この関数は、SQLリクエストに「?」またはパラメータ化可能な「?N」値が含まれている場合に使用されます。 ここで、Nはパラメータインデックス(1から始まる)です。
    • DatabaseBindArray — 配列をパラメータ値として設定します。

  3. FileSelectDialog関数にFSD_FILE_MUST_EXISTフラグを追加しました。選択したファイルが存在する必要があることを示します。
  4. オプションを説明する値をENUM_SYMBOL_INFO_DOUBLE列挙に追加しました。
    • SYMBOL_PRICE_CHANGE — 前の取引日の終わりに対する現行価格の変化(%)。
    • SYMBOL_PRICE_VOLATILITY — 価格の変動率(%)。
    • SYMBOL_PRICE_THEORETICAL — 理論上のオプション価格。
    • SYMBOL_PRICE_DELTA — オプション/保証デルタ。原資産価格が1だけ変動したときに、オプション価格が変動する価値を示します。
    • SYMBOL_PRICE_THETA — オプション/保証シータ。一時的な分割、つまり有効期限が近づいたためにオプション価格が毎日失うポイントの数。
    • SYMBOL_PRICE_GAMMA — オプション/保証ガンマ。デルタの変化率を示します — オプションプレミアムの変化の速さまたは遅さ。
    • SYMBOL_PRICE_VEGA — オプション/保証ベガ。ボラティリティが1%変化したときにオプション価格が変化するポイント数を示します。
    • SYMBOL_PRICE_RHO — オプション/保証ロー。理論上のオプション価格の、1%変化する金利に対する感度を反映します。
    • SYMBOL_PRICE_OMEGA — オプション/保証オメガ。オプション弾力性 - 原資産価格の変化率によるオプション価格の相対的変化率。
    • SYMBOL_PRICE_SENSITIVITY — オプション/保証感度。オプションの価格が1ポイントだけ変化するように、オプションの原資産の価格が何ポイント変化するかを示します。

  5. DatabaseExport関数でHEX形式のBLOBフィールドのエクスポートを追加しました。
  6. ENUM_CHART_PROPERTY_INTEGERに新しいCHART_SHOW_TICKERプロパティを追加しました。左上隅に銘柄ティッカーを表示します。CHART_SHOW_TICKERがfalseに設定されている場合、CHART_SHOW_OHLCもfalseに設定されるため、OHLCは非表示になります。   
  7. コンパイラーによって生成されるコードの品質を改善しました。これにより、実行速度を上げることができました。
  8. テンプレート関数とクラスのコンパイルと実行に関連するエラーを修正しました。修正されたエラーは以下です。
    • オーバーロードされたテンプレート関数呼び出しの優先度の不一致エラー
    • テンプレートメソッド/クラス生成エラー
    • テンプレート関数のテンプレートパラメータの内部クラスにアクセスしようとしたために発生したエラー
    • 内部クラスの使用が原因のテンプレートクラスコード生成エラー
    • B<void*>の前にB<int>テンプレートオブジェクトを使用することによるエラー
    • 内部タイプCを持ち、複数回ラップされた複雑なオブジェクトの作成エラー
    • const refテンプレートとして関数ポインタ引数を転送する際のエラー
    • 内部構造体をテンプレート関数に渡す際のエラー
    • テンプレート関数の実行に関する優先度の不一致エラー
    • forおよびdo-whileループでの括弧数の間違え
    • クラス構造体の説明での括弧数の間違え
    • ArrayResizeを使用して一度に1つの要素を追加した際の速度の低下
    • 一致するオーバーロードされた関数の選択エラー

  9. CustomTicksReplace関数で時々発生するエラーを修正しました。
  10. 取引注文履歴の表示期間の選択を修正しました。範囲は、以前に使用されていた作成日の代わりに、注文実行日に基づくようになりました。

Python

  1. initializeメソッドに、metatrader.exeまたはmetatrader64.exeへのパスを表すpathパラメータが追加されました。パスが指定されていない場合、モジュールはそれ自体で実行可能ファイルを見つけようとします。
  2. 次の新しいメソッドが追加されました。
    • symbols_get — MetaTrader 5ターミナルからすべての金融銘柄を受け取ります。
    • symbols_total — MetaTrader 5ターミナルのすべての金融銘柄数を取得します。

  3. orders_getpositions_gethistory_orders_gethistory_deals_get関数に銘柄グループによるフィルタリングを追加しました。「group」パラメータを使用した呼び出し形式を使用します。
  4. order_sendおよびorder_checkの戻り値は、元のリクエストの完全な説明を含む「request」フィールドとともに渡されるようになりました。例:
    ...
    comment=Request executed
    request_id=55
    retcode_external=0
    request=TradeRequest(action=1, magic=234000, order=0, symbol='USDJPY', volume=0.1, price=108.018, stoplimit=0.0, ...
        traderequest: action=1
        traderequest: magic=234000
        traderequest: order=0
        traderequest: symbol=USDJPY
        traderequest: volume=0.1
        traderequest: price=108.018
        traderequest: stoplimit=0.0
    ...
  5. チャートで起動すると、Pythonスクリプトは、チャート銘柄と期間(分単位)を引数として受け取るようになりました。
    import sys
    
    chart_symbol='unknown'
    chart_tf=1
    
    if len(sys.argv) == 3:
        chart_symbol, chart_tf = sys.argv[1:3];
    
    print("Hello world from", chart_symbol, chart_tf)
    
    >> Hello world from T.NYSE 15

MetaEditor

  1. 「Add an existing folder」コマンドを追加しました。これにより、選択したディレクトリからサポートされているすべてのファイルをプロジェクトに一括追加できます。


  2. 検索および置換オプションを拡張しました。

    部分的な正規表現をサポートする拡張検索機能を追加しました。\r、\n、\tを使用して、検索リクエストでラインフィードとタブ文字を指定します。検索ダイアログと置換ダイアログが1つのマルチタブダイアログに統合されました。


    プログラマーコミュニティで検索するための別のタブを追加しました。これらには、MQL5.community、GitHub、MSDN、Stack Overflowが含まれます。

    外部リソースからの検索結果は、MetaEditorツールボックスウィンドウに表示されます。



    さらに、GitHubからソースファイルをすぐにダウンロードできます。ファイルは、GitHubプロジェクト名に従って名前が付けられた、Projectsフォルダーの別のサブディレクトリにダウンロードされます。

    検索結果はさらに日付で並び替えできます。
  3. コード編集ウィンドウでフォントサイズをすばやく変更できるようになりました。フォントサイズを変更するには、Ctrlキーを押しながらマウスホイールをスクロールします。
  4. CSVファイルからデータベーステーブルにテーブルをインポートする可能性を追加しました。インポート中に次のパラメータを設定できます。
    • データベースのテーブル名
    • 自動または手動のファイルエンコーディング検出
    • データ区切りタイプ
    • 先頭でスキップする行数の指定
    • コメント接頭辞
    • ファイルに列名があるかどうか
    • 改行の決定方法
    • データを新しいテーブルに追加するか、既存のテーブルに追加するか
    • 文字列に使用する引用符


  5. 時間と色をプログラムのソースコードに挿入するためのクイックコマンドを追加しました。インタラクティブなカレンダーとパレットから目的の値を選択すると、エディターがそれらを適切な形式で挿入します。



  6. 64ビットのコードのみを生成するようになったため、MQL4サポートを無効にしました。
  7. クラススニペット操作を修正しました。
  8. プロジェクトの絶対パスのサポートを修正しました。
ドキュメントを更新しました。

6 3月 2020
新しい MetaTrader 5 ビルド2360: SQLite統合の拡張
  1. MQL5: SQLiteデータベース操作エラーを標準MQL5ツールを使用して分析できるようになりました。以下のエラーコードが追加されました。

    • ERR_DATABASE_ERROR — 一般的なエラー
    • ERR_DATABASE_INTERNAL — SQLite内部ロジックエラー
    • ERR_DATABASE_PERM — アクセスが拒否されました
    • ERR_DATABASE_BUSY — データベースファイルがロックされています
    • ERR_DATABASE_LOCKED — データベーステーブルがロックされています
    • ERR_DATABASE_NOMEM — 操作を完了するためのメモリが不足しています
    • ERR_DATABASE_READONLY — 読み取り専用データベースへの書き込みが試行されました
    • ERR_DATABASE_IOERR — ディスクI/Oエラー
    • ERR_DATABASE_CORRUPT — データベースディスクイメージが破損しています
    • ERR_DATABASE_FULL — データベースがいっぱいであるため、挿入に失敗しました
    • ERR_DATABASE_CANTOPEN — データベースファイルを開けません
    • ERR_DATABASE_PROTOCOL — データベースロックプロトコルエラー
    • ERR_DATABASE_SCHEMA — 内部使用のみ
    • ERR_DATABASE_TOOBIG — 文字列またはBLOBがサイズ制限を超えています
    • ERR_DATABASE_CONSTRAINT — 制約違反のため中止します
    • ERR_DATABASE_MISMATCH — データ型の不一致
    • ERR_DATABASE_MISUSE — ライブラリが正しく使用されていません
    • ERR_DATABASE_AUTH — 許可が拒否されました
    • ERR_DATABASE_RANGE — バインドパラメータエラー(不正なインデックス)
    • ERR_DATABASE_NOTADB — データベースファイルではないファイルを開きました

  2. MQL5: ファイルからデータベーステーブルへのデータインポートを可能にするDatabaseImport関数の動作を修正しました。
  3. MetaEditor: ログへの32KBより長い文字列の出力を修正しました。
  4. MetaEditor: Pythonコンソール(stdout、stderr)からエディターのエラーセクションに送信されるメッセージの不正確なエンコードを修正しました。
  5. ドキュメントを更新しました。
21 2月 2020
MetaTrader 5プラットフォームビルド2340: テスターでの口座管理設定とPython統合の拡張

MetaEditor

  1. SQLiteデータベースを使用するための新しい機能を追加しました。

    以前のプラットフォームアップデートでは、MQiteデータベースから直接SQLiteデータベースを操作するためのサポートを導入しました。主な機能は、MetaEditorユーザーインターフェイスを介して利用可能になりました。

    • データベースの作成と接続
    • テーブルの表示とクイックデータクエリの実行
    • SQLクエリの作成と実行、変更のロールバック

    仕組み
    クイックデータベース作成機能は、MQL5ウィザードから利用できます。最初のテーブルを簡単に作成し、フィールドを定義できます。


    データベースを作成すると、データを管理するためのコマンドを備えた新しいナビゲーターセクションに転送されます。

    データベーステーブルは左側のウィンドウに表示されます。テーブル名をダブルクリックすると、最初の1,000レコードをすばやくクエリできます。このナビゲーター部分では、テーブルを操作するだけでなく、他のデータベースを作成して開くこともできます。

    データベースは、メインエディターウィンドウで管理できます。ここでは、テーブルへの入力、データの検索と選択、SQLクエリの入力、その他の操作の実行ができます。


    MetaTrader 5のデータベース操作の詳細については、「 SQLite: MQL5でのSQLデータベースのネイティブ処理」稿を参照してください。

  2. 多言語プロジェクトのサポートを拡張しました。この更新により、Pythonスクリプトを使用する可能性が広がります。

    • MQL5ウィザードを使用してこのようなスクリプトを作成し、コードに必要なライブラリの依存関係を即座に追加できるようになりました。
    • ナビゲーターには特別なアイコンが追加され、関連する構文がエディターで使用可能になりました。
    • MetaEditorを介してスクリプトを実行すると、Pythonコンソール(stdout、stderr)からのメッセージが[エラー]セクションに表示されます。


    エディターで[コンパイル]をクリックして、スクリプトを実行します。



    Pythonを使用するには、MetaEditorの[設定]->[コンパイラ]セクションでパスを指定することを忘れないでください。MetaTrader 5ライブラリの使用を有効にするには、次のコマンドを使用してインストールします。
    pip install MetaTrader5
    Python統合の詳細については、関連ドキュメントをご覧ください。
  3. ナビゲーターにSQLiteデータベースファイル(*.db;*.sdb;*.sqlite;*.db3;*.s3db;*.sqlite3)の表示を追加しました。
  4. プロジェクトプロパティの保存エラーを修正しました。

MQL5

  1. Python統合を完全に改訂しました。この更新には、多くの新しい関数と新しいコマンドの命名が含まれます。

    新規命名
    既存のコマンドが以下のように名前変更されました。
    MT5Initialize       -> initialize
    MT5Shutdown         -> shutdown
    MT5TerminalInfo     -> terminal_info
    MT5Version          -> version
    MT5CopyRatesFrom    -> copy_rates_from
    MT5CopyRatesFromPos -> copy_rates_from_pos
    MT5CopyRatesRange   -> copy_rates_range
    MT5CopyTicksFrom    -> copy_ticks_from
    MT5CopyTicksRange   -> copy_tick_range

    新規コマンド
    サポートされるコマンドのリストが拡張されました。取引関数を追加し、取引履歴を使用して金融銘柄と現在の口座に関する情報を取得するための関数を追加しました。

    • account_info()は現在の口座に関する情報を受け取ります。これは、AccountInfoIntegerAcountIndoDoubleAccountInfoStringに類似しています。
    • positions_total()はポジション数を受け取ります。これは、PositionsTotalに類似しています。
    • positions_get(symbol, ticket)は、銘柄またはチケットによってポジションを受け取ります。
    • orders_total()は注文数を受け取ります。これは、OrdersTotalに類似しています。
    • orders_get(symbol, ticket)は、銘柄またはチケットによって注文を受け取ります。
    • history_orders_total(from, to)は、指定された履歴期間内の注文数を受け取ります。
    • history_orders_get(from, to, position, ticket)は、指定された過去の時間枠から、チケットまたはポジションによってフィルタリングされた注文を受け取ります。
    • history_deals_total()は履歴内の取引数を受け取ります。これは、HistoryDealsTotalに類似しています。
    • history_deals_get(from, to, position, ticket)指定された過去の時間枠から、チケットまたはポジションによってフィルタリングされた取引を受け取ります。
    • symbol_info(symbol)は金融商品についての情報を受け取ります。これは、SymbolInfoIntegerSymbolInfoDoubleSymbolInfoStringに類似しています。
    • symbol_info_tick(symbol)は、銘柄によって最後のティックを受け取ります。これは、SymbolInfoTickに類似しています。
    • symbol_select(symbol, enable)は[気配値表示]で銘柄を有効/無効にします。これは、SymbolSelectと類似しています。
    • order_check(request)は注文の証拠金を確認します。これは、OrderCheckに類似しています。
    • order_send(request)はサーバに注文を送信します。これは、OrderSendに類似しています。
    • order_calc_margin(action, symbol, volume, price)は注文の証拠金を計算します。これは、OrderCalcMarginに類似しています。
    • order_calc_profit(action, symbol, volume, price_open, price_close)は利益を計算します。これは、OrderCalcProfitに類似しています。

    チャートでのPythonスクリプトの実行
    Pythonスクリプトは、通常のMQL5プログラムと同様に、プラットフォームチャートで直接実行できます。これらのスクリプトには、ナビゲーターで特別なアイコンが付いています。


    スクリプトメッセージは、[ツールボックス]->[エキスパート]セクションの下に表示されます。MetaTrader 5ライブラリがスクリプトで使用されている場合、スクリプトは取引銘柄と口座データを受け取り、取引操作を実行できます。
    <
    Pythonスクリプトは、他のMQL5スクリプトおよびエキスパートアドバイザーと並行して同じチャートで実行できます。実行が中断されたスクリプトを停止するには、チャートから削除します。.

    追加の保護
    サードパーティのPythonライブラリを使用するときに追加の口座保護を有効にするには、ターミナル設定で[外部Python APIによる自動取引を無効にする]オプションを使用できます。


    Pythonスクリプトは、このオプションが無効になっている場合にのみ取引操作を実行できます。

  2. MQL5プログラムの再起動とMQL5プログラムからのカスタム指標の再作成を大幅に加速しました。場合によっては、操作は100倍速く実行されます。
  3. データベースを使用するための新しい関数を追加しいました。

    DatabaseImport
    ファイルのデータをテーブルにインポートします。
    long  DatabaseImport(
       int           database,          // DatabaseOpenで受け取られるデータベースハンドル
       const string  table,             // データ挿入先のテーブル名
       const string  filename,          // データインポート元のファイル名
       uint          flags,             // フラグの組み合わせ
       const string  separator,         // データ区切り記号
       ulong         skip_rows,         // スキップする最初の行の数
       const string  skip_comments      // コメントを定義する文字列
       );

    DatabaseExport
    テーブルまたはSQLクエリ結果をCSVファイルにエクスポートします。ファイルはUTF-8エンコーディングで作成されます。
    long  DatabaseExport( 
       int           database,           // DatabaseOpenで受け取られるデータベースハンドル 
       const string  table_or_sql,       // テーブル名またはSQLクエリ
       const string  filename,           // データエクスポートのCSVファイル名
       uint          flags,              // フラグの組み合わせ
       const string  separator           // CSVファイルのデータ区切り記号
       );

    DatabasePrint
    テーブルまたはSQLクエリの結果をエキスパート操作ログに出力します。
    long  DatabasePrint(
       int           database,          // DatabaseOpenで受け取られるデータベースハンドル 
       const string  table_or_sql,      // テーブルまたはSQLクエリ
       uint          flags              // フラグの組み合わせ
       );

  4. ファイルまたはフォルダを作成するまたは開くためのシステムダイアログを呼び出すFileSelectDialog関数を追加しました。
    int  FileSelectDialog(
       string   caption,              // ウィンドウタイトル
       string   initial_dir,          // 初めのディレクトリ
       string   filter,               // 拡張子フィルタ
       uint     flags,                // フラグの組み合わせ
       string&  filenames[],          // ファイル名の配列
       string   default_filename      // デフォルトファイル名
       );
    この新しい関数により、MQL5プログラムとの効率的なユーザー対話が可能になります。

  5. ENUM_DEAL_PROPERTY_DOUBLE列挙体に新しくDEAL_FEE値を追加しました。これは、取引手数料に使用されます。値は、証券会社によって請求される別の手数料タイプを示します。

テスター

  1. 取引制限、証拠金設定、手数料など、戦略テスト中にカスタム取引口座設定を設定する機能を追加しました。新しい関数は、さまざまな取引条件をモデリングするための拡張機能を提供します。



    共通設定
    このセクションでは、口座に同時に存在できる注文とポジションの最大数を設定できます。さらに、プログラムが取引を許可されていないセッションを構成できます。

    証拠金
    このセクションでは、テストで使用する証拠金予約ルールとポジション勘定システムを設定できます。
    • Risk management — リスク管理モデル: OTCおよび取引所モデル、ネッティングおよびヘッジシステム。詳細についてはヘルプをご覧ください。
    • Margin call level — このレベルに達すると、口座は「マージンコール」状態に切り替わります。
    • Stop out level — このレベルに達すると、すべての注文がキャンセルされ、すべての取引ポジションが決済されます。これらのレベルは、パーセンテージと金額で示すことができます。前者の場合、それらは口座の株式価値として決定されます。[In percent]が選択されている場合、レベルは口座の[証拠金レベル]値として定義されます(資金/証拠金*100)。
    • Unrealized profit — 現在の余剰証拠金の変動利益/損失を考慮します。
      • Do not use unrealized profit/loss — 計算に未決ポジションの利益/損失を含めません。
      • Use unrealized profit/loss — 計算に未決ポジションの利益/損失を含めます。
      • Use unrealized profit — 利益のみを含めます。
      • Use unrealized loss — 損失のみを含めます。
    • Daily fixed profit — 余剰証拠金での顧客の1日の固定利益/損失です。
      • Use daily fixed profit/loss — 余剰証拠金に取引日に受け取った利益と損失を含めます。
      • Use daily fixed loss — 取引日に受け取った損失のみを含めます。日中、得られた利益は特別勘定科目フィールド([Blocked])に蓄積されます。取引日の終わりに、累積利益が解放され(ゼロにされ)、口座残高に追加されます(余剰証拠金に含まれます)。
    • Release fixed profit at the end of day — このオプションは、[Use daily fixed loss]オプションが選択されている場合にのみ使用可能になります。有効にした場合、累積利益は1日の終わりに解放されます(したがって、余剰証拠金に含まれます)。そうでなければ、この利益額はブロックされたままになります。

    手数料
    このセクションでは、すべての取引操作で請求される手数料を管理します。

    • 手数料は、単一レベルと複数レベル、つまり取引量/取引高に関係なく均一である場合と取引量/取引高に依存する場合があります。適切なデータがターミナルに表示されます。
    • 手数料は、取引の執行時にすぐに請求される場合と取引日/月の終わりに請求される場合があります。
    • 手数料は、取引の方向(エントリ、エグジット、両方の操作タイプ)に応じてそれぞれ請求される場合があります。
    • 手数料は、ロットまたは取引ごとに請求される場合があります。
    • 手数料は、金額、パーセンテージ、またはポイントで計算できます。



  2. マーケットスキャナーモードでの作業を最適化および高速化しました。この間、[気配値表示]で利用可能なすべての銘柄に対して複数のテストパスが実行されます。
  3. ピップで利益を計算する際に、取引またはポジションのサイズが考慮されるようになりました。以前は、計算はロットごとにのみ実行されていました。
  4. 最適化結果グラフの制御を改善しました。ズームオプションの最適化グラフにスクロールオプションを追加しました。グラフの点をダブルクリックすると、パステーブルで対応する結果が選択されます。
ドキュメントを更新しました。
13 12月 2019
MetaTrader 5 Platform Build 2280

ターミナル

  1. データのないチャートからエキスパートアドバイザーを削除できないバグを修正しました。
  2. Wineでのチャートヘッダの表示を修正しました。

MQL5

  1. プログラムの読み込みとコンパイル速度を改善しました。
  2. チャートのダブルクリックがシングルクリックイベントとしてMQL5プログラムに渡されるようになりました。このようなイベントは以前は処理されませんでした。
  3. StringTrimRight関数の動作を修正しました。
  4. DirectX 3D視覚化関数のドキュメントを追加しました。

テスター

  1. 設定のテスト銘柄が空になるケースを修正しました。このエラーは、異なる取引手段のセットを持つ取引口座を切り替えることで発生する可能性があります。新しい動作: 以前に選択された銘柄が現在接続されている取引口座で見つからない場合、代わりに気配値表示で最初に利用可能な銘柄が自動的に選択されます。

MetaEditor

  1. プロジェクトのプロパティを再度開くときのアプリケーションアイコンのロードを修正しました。

インターフェイスの翻訳を更新しました。
クラッシュログに基づいた修正を加えました。
前へ1234567891011121314