MT5の始め方、まとめ ! - ページ 2

 

近日公開予定
テレグラムを模した新しい通信 システム -この記事を 読む

 

============

イチモク


はじめに

  1. シンプル・イチモク・システム
  2. シンプル・イチモク・システム - システムのルール
  3. シンプル・イチモクスキャルピング

============

 

ヒントスレッド- 良いスレッドは、視覚化された情報を使用して作成されました。
それは強く、すべての初心者に(知るために)、そして経験豊富なユーザーに(彼らの知識をリフレッシュするために)この小さなスレッドを読むことをお勧めします。

----------------

フリーランスサービス

  • MQL5アカウントへの入金方法
  • 次のステージに進むには
  • フィードバックの残し方
  • スクリーンショットとは
  • 要求仕様書(仮)の添付方法/他形式のファイルの添付方法
  • プログラムにエラーが発生した場合にデベロッパーに提出するもの
  • テキストに画像/コード/ビデオ/テーブルを挿入する方法
  • 携帯端末でスクリーンショットを作成する方法
  • 注文の執行期間・コストを延長するには
  • 執行期間を3日に設定した後、5日間消えないようにするにはお客様。チャットに埋め込むための動画ではなく、GIF画像を作成する方法

----------------

プラットフォーム

  • Expert Advisor/Indicatorをインストールする方法
  • プラットフォーム/テスター/オプティマイザーのジャーナルはどこにある
  • プッシュ通知を確認するためのMetaQuotes IDはどこですか?
  • チャートメニューから3クリックでエラーのスクリーンショットを作成する方法
  • メール通知を有効にし、設定する方法
  • EA/インジケーターが使用するファイルはどこですか?
  • 説明'と'アイコン'フィールドは何ですか?
  • プラットフォームビルド番号の見つけ方データウィンドウを有効にし、インジケーターの値を見るには?
  • 正確な時間スケールを有効にする方法
  • チャートテンプレートの保存方法
  • WebRequestで動作するようにURLを追加する方法EX4/EX5ファイルを見つける方法

----------------

エキスパートアドバイザー

  • マジックナンバーとは?
  • トレーリングストップはどのように機能するかEAのジャーナルはどこにありますか?
  • ナビゲーターでEA/インジケーターがグレーになるのはなぜ?
  • ネッティングとヘッジングの違いは何ですか?
  • マーケットで購入した製品をインストールする方法

----------------

テスター

  • セットファイルの保存/読み込み方法
  • プラットフォーム/テスター/オプティマイザーのジャーナルはどこにあるのか
  • テストモードはそれぞれどう違うのか?
  • ビジュアルテストの起動方法と使用方法
  • MetaTrader 4で利用可能な価格履歴をダウンロードする方法

 

これは非常に重要で非常に興味深いアップデートです - それを読んでください - 。

取引、自動売買システムとテスト取引戦略に関するフォーラム

MetaTrader 5 Platform Beta Build 1910:MQL5でチャートと.Netライブラリのドラッグアンドドロップの拘束なし

MetaQuotes Software Corp., 2018.10.12 19:43

更新されたMetaTrader 5プラットフォームのベータ版は、2018年10月14日にリリースされる予定です。access.metatrader5.com:443 にある公開 MetaQuotes-Demo サーバーを更新します。更新されたプラットフォームの機能を評価し、開発者がエラーを修正するのを助けるために、すべてのトレーダーにテストに参加することをお勧めします。

MetaTrader5をビルド1910までアップデートするには、access.metatrader5.com server:443 に接続してください。

新しいMetaTrader 5プラットフォームの最終ビルドは、パブリックベータテスト後にリリースされる予定です。

このアップデートでは、以下の変更が行われます。

  1. ターミナル取引ターミナルのウィンドウから金融記号チャートをデタッチできるようになりました。

    この機能は、複数のモニターを使用する場合に便利です。このため、1つのモニターにメインプラットフォームウィンドウを設定し、口座の状態をコントロールし、チャートを2番目のスクリーンに移動して市場の状況を観察することができます。ターミナルからチャートを切り離すには、そのコンテキストメニューのDockedオプションを無効にします。その後、チャートを任意のモニターに移動してください。



    デタッチャートには独立したツールバーがあり、モニターを切り替えることなく分析オブジェクトやインディケータを適用することができます。ツールバーのコンテキストメニューで利用可能なコマンドを管理したり、非表示にすることができます。

  2. ターミナル内蔵のチャットを全面的に更新しました。グループダイアログとチャンネルをサポートするようになりました。異なるダイアログを切り替えることなく、統一された環境でグループとプライベートなディスカッションを行い、あなたの興味や言語に応じてチャンネルを作成することができます。MQL5.communityの同僚や友人と、ウェブサイトを訪問することなくコミュニケーションをとることができます。

    グループチャットとチャンネルは、公開または非公開にすることができます。自由に参加するか、招待制にするかは、作成者が決定します。また、チャンネルやチャットにモデレーターを割り当て、コミュニケーションをさらにコントロールすることができます。



  3. ターミナル暗号通貨取引における取引量の精度を向上させるためのサポートを追加しました。現在、取引操作の最小可能数量は0.00000001ロットです。マーケットデプス、タイム&セールス、およびその他のインターフェース要素に、小数点以下8桁の精度でボリュームを表示する機能が追加されました。

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




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



  5. ターミナルWine で作業する際に証明書を使用する拡張認証の サポートを追加しました。
  6. ターミナル市場の深さが 1 レベルに制限されている場合の表示を修正しました。
  7. ターミナルスタンダードツールバーに「画像として保存」コマンドを追加しました。これにより、チャートの写真を撮り、コミュニティで共有することがより簡単になりました。




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



  9. MQL5:スマート」関数インポートで.NETライブラリのネイティブサポートを追加しました。.NETライブラリは特別なラッパーを書くことなく、MetaEditorが独自に処理することで使用できるようになりました。

    .NETライブラリの関数を使用するには、特定の関数を定義することなく、単にDLL自体をインポートしてください。MetaEditorは自動的に使用可能なすべての関数をインポートします:
    • 単純な構造体 (POD、plain old data)
    • 単純なデータ型を持つ構造体
    • 単純な型と POD 構造体またはその配列のみが使用される、パラメータを持つパブリック静的関数

    ライブラリから関数を呼び出すには、単にそれをインポートします:
    #import "TestLib.dll"
    
    //+------------------------------------------------------------------+
    //| Script program start function                                    |
    //+------------------------------------------------------------------+
    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;          // Last price update time
       double           bid;           // Current Bid price
       double           ask;           // Current Ask price
       double           last;          // Current price of the Last trade
       ulong            volume;        // Volume for the current Last price
       long             time_msc;      // Last price update time in milliseconds
       uint             flags;         // Tick flags
       double           volume_real;   // Volume for the current Last price with greater accuracy
      };

    struct MqlBookInfo
      {
       ENUM_BOOK_TYPE   type;            // order type from the ENUM_BOOK_TYPE enumeration
       double           price;           // price
       long             volume;          // volume
       double           volume_real;     // volume with greater accuracy
      };

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

    • SYMBOL_VOLUME_REAL - 最後に実行されたディールのボリューム。
    • SYMBOL_VOLUMEHIGH_REAL - 現在の日の最高取引量。
    • SYMBOL_VOLUMELOW_REAL - 現在の日の最少取引量;

    これらのプロパティを取得するには、SymbolInfoDouble 関数を使用してください。

  16. MQL5。ENUM_MQL_INFO_INTEGER 列挙にMQL_FORWARDプロパティを追加しました -フォワード・テスト・ モード・フラグです。
  17. MQL5:列挙型のキャスティングの要件が緩和されました。暗黙的なキャストの場合、コンパイラーは自動的に正しい列挙型の値を代入し、警告を表示します。

    次のコードの場合:
    enum Main
      {
       PRICE_CLOSE_,
       PRICE_OPEN_
      };
    
    input Main Inp=PRICE_CLOSE;
    //+------------------------------------------------------------------+
    //| Start function                                                   |
    //+------------------------------------------------------------------+
    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:テンプレート関数のコンパイルが修正されました。オーバーロードされたテンプレート関数を使用する場合、既存のすべてのオーバーロードではなく、必要なオーバーロードのみがインスタンス化されるようになりました。
    class X {  };
    
    void f(int)  {  }
      
    template<typename T>
    void a(T*) { new T(2); }  // previously, the compiler generated the error here
      
    template<typename T>
    void a()  { f(0); }
      
      
    void OnInit()  { a<X>(); }  
    
  19. MQL5:MQL5:CopyTicks* 関数で ティック履歴にアクセスするいくつかのケースを最適化しました。
  20. テスター。テスト/最適化および関連するレポートの生成時に、入金通貨の精度を計算するように修正されました。
  21. テスターストラテジーテスターの動作を最適化し、高速化しました。
  22. MetaEditor:単語全体の検索を修正しました。検索時にアンダースコアが単語の区切り文字ではなく、通常の文字としてカウントされるようになりました。
  23. ドキュメントを更新しました。

 

良いスレッドが立ちました -MQL 5の始め方

取引、自動取引システム、取引戦略のテストに関するフォーラム

MQL5を始める方法

ウラジミール・カルプトフ, 2018.12.24 20:34

このスレッドでは、MQL5のコード例について説明します。インジケータからデータを取得する方法、アドバイザーをプログラムする方法...一般的に、MQL5言語への初心者からのあらゆる質問の例があることでしょう。


もしあなたがメタトレーダー5ターミナルを知り始めたばかりなら、次のスレッドをお勧めします。

 

市場のすべての売り手が読むべき記事があります:それは市場の製品の検証についてです - 。

----------------

取引ロボットがマーケットで公開される前に通過しなければならないチェック事項

Why products are checked before they are published in the Market 

エキスパートやインジケーターのロジックに小さな誤りがあると取引口座に損失が発生する可能性があるため、市場に商品が公開される前に、必ず事前チェックを受けなければなりません。そのため、弊社では、マーケット商品の必要な品質レベルを確保するための一連の基本的なチェックを開発しました。

製品をチェックする過程でマーケットモデレーターによって何らかのエラーが確認された場合、それらをすべて修正する必要があります。この記事では、開発者が取引ロボットやテクニカルインディケーターで最も頻繁に発生するエラーについて考察します。また、以下の記事を読むことをお勧めします。

 

ありがとう男...

とても役に立った、素晴らしい努力だ...

 

取引、自動取引システム、および取引戦略のテストに関するフォーラム

新しいMetaTrader5プラットフォームビルド2005:経済カレンダー、サービスとしてのMQL5アプリケーションおよびR言語API

MetaQuotes Software Corp. 、2019.02.20 17:20

MetaTrader 5プラットフォームアップデートは2019年2月21日にリリースされます。新しいバージョンには、次の変更が含まれています。

  1. ターミナル:完全に改訂された組み込みの経済カレンダー。

    経済カレンダーは当社独自のソリューションです。その中には、米国、欧州連合、日本、英国、カナダ、オーストラリア、中国など、13の最大の世界経済に関連する600を超える金融ニュースと指標があります。関連するデータは、オープンソースからリアルタイムで収集されます。

    新しいバージョンは、更新されたコンテンツと高度なイベントフィルター(時間、優先度、通貨、国別)を備えています。

    MQL5プログラムからカレンダーデータにアクセスできるようになりました。詳しくは下記をご覧ください。




  2. ターミナル:新しいタイプのMQL5アプリケーション—サービスを追加しました。この新しいタイプでは、端末のカスタム価格フィードを作成できます。つまり、ブローカーのトレードサーバーに実装されているのと同じように、外部システムからの価格配信をリアルタイムで実装できます。

    Expert Advisor、インジケーター、スクリプトとは異なり、サービスは特定のチャートにリンクされていません。このようなアプリケーションはバックグラウンドで実行され、端末の起動時に自動的に起動されます(このようなアプリが強制的に停止された場合を除く)。

    サービスは、ナビゲータウィンドウ内の新しいセクションから管理できます。





    サービスの作成方法
    サービステンプレートを作成するには、対応するMQL5ウィザードオプションを使用します。スクリプトと同様に、サービスには1つのOnStartエントリポイントがあります。この時点で、ネットワーク機能を使用して、無限のデータ受信および処理サイクルを実装できます。

    サービスの開始方法
    異なるパラメーターを使用して複数のExpertAdvisorまたはインジケーターのコピーを実行するには、それらを異なるチャートで起動する必要があります。この場合、さまざまなプログラムインスタンスが作成され、それらは独立して動作します。サービスはチャートにリンクされていないため、サービスインスタンスを作成するための特別なメカニズムが実装されています。

    ナビゲーターからサービスを選択し、コンテキストメニューの[サービスの追加]をクリックします。これにより、標準のMQL5プログラムダイアログが開きます。このダイアログでは、トレーディングとシグナル設定へのアクセスを有効/無効にしたり、さまざまなパラメーターを設定したりできます。




    サービスインスタンスは、適切なインスタンスメニューを使用して起動および停止できます。すべてのインスタンスを管理するには、サービスメニューを使用します。

  3. ターミナル:学習プログラムが追加されました。

    この新機能は、初心者がプラットフォームとの対話方法を学ぶのに役立ちます。プラットフォームの主な機能に関する100を超えるインタラクティブなヒントを追加しました。

    • ヒントはツールバーの進行状況バーとしてシームレスに表示されるため、ユーザーの気を散らすことはありません。
    • ヒントは、プラットフォームで実行したことがないアクションに対してのみ表示されます。
    • すべてのヒントには、関連するインターフェイス要素に移動できるインタラクティブリンクが含まれています。たとえば、目的のプログラムを含む取引ダイアログまたはメニューをチップから直接起動できます。

    適切なアクションを実行してトレーニングを続行すると、プログレスバーの塗りつぶされた領域が増加します。




  4. ターミナル: 取引口座の履歴はポジションとして表示できます。プラットフォームは、ポジションに関連する取引(オープニング、ボリュームの増加、部分的または完全なクロージング)に関するデータを収集し、情報を1つのレコードにグループ化します。したがって、ポジションの詳細にアクセスできます:始値と終値、出来高、価格、結果。この効率的なプレゼンテーションフォームは、ファイルにエクスポートされた履歴レポートで利用できるようになりました。




  5. ターミナル: R言語を使用するアプリケーションを介したMetaTrader5ターミナルデータのリクエストを可能にする新しいAPIを追加しました。

    特別なMetaTraderパッケージを用意しました。 RとMetaTrader5ターミナル間の相互作用のためのDLL、ドキュメント、補助rファイルが含まれています。 CRANリポジトリへのパッケージ登録が完了しました。その後、ダウンロードしてインストールできるようになります。




    パッケージは、特別なコマンドを使用してインストールできます。
    R CMD INSTALL --build MetaTrader

    データ要求に関連する次のコマンドを使用できます。

    • MT5Initializeは、MetaTrader5ターミナルとの接続を初期化して確立します。必要に応じて、コマンド実行中に端末を起動します。
    • MT5Shutdownは初期化を解除し、MetaTrader5から切断します。
    • MT5VersionはMetaTrader5ターミナルバージョンを取得します。
    • MT5TerminalInfoは、ブローカーのサーバーへの端末接続の状態とパラメーター(アカウント番号とサーバーアドレス)を取得します。
    • MT5WaitTerminalは、MetaTrader5ターミナルがブローカーのサーバーに接続するのを待ちます。
    • MT5CopyTicksFrom(symbol、from、count、flags)は、指定された日付から指定されたティック数をコピーします。日付は、01.01.1970以降のミリ秒単位で指定されます。
    • MT5CopyTicksRange(symbol、from、to、flags)は、指定された期間内からティックをコピーします。日付は、01.01.1970以降のミリ秒単位で指定されます。
    • MT5CopyRatesFrom(symbol、timeframe、from、count)は、指定された日付から始まる指定された数の1分バーをコピーします。日付は01.01.1970からの秒数で指定されます。
    • MT5CopyRatesFromPos(symbol、timeframe、start_pos、count)は、最後のバーを基準にして、指定された位置から1分のバーをコピーします。
    • MT5CopyRatesFromRange(symbol、timeframe、date_from、date_to)は、指定された期間内からバーをコピーします。日付は01.01.1970からの秒数で指定されます。

    サポートされているコマンドのリストはさらに拡張されます。

  6. ターミナル:反対側のポジションを閉じるために使用される最適化されたクローズバイダイアログ。これで、開いているポジションが多数ある場合でも、ダイアログの速度が低下することはありません。
  7. ターミナル:データがスキップされることがあるため、 合成シンボルの計算エラーが修正されました。
  8. ターミナル: カスタムシンボルが削除されると、その目盛りとバーの履歴を保存しているファイルも削除されます。これにより、ハードディスクに未使用のデータが蓄積するのを防ぎます。
  9. ターミナル:高DPI画面での検索結果の表示を修正しました。
  10. MQL5:MQL5プログラムからの経済カレンダーデータへのアクセスを実装しました。

    新機能

    CalendarCountryById —識別子によって国の説明を取得します。
     bool CalendarCountryById(
       const long            country_id,    // country ID
       MqlCalendarCountry&  country        // country description
       );
    CalendarEventById —識別子によってイベントの説明を取得します。
     bool CalendarEventById(
       const long            event_id,      // event ID
       MqlCalendarEvent&     event           // event description
       );
    CalendarValueById —識別子によってイベント値の説明を取得します。
     bool CalendarValueById(
       const long            value_id,      // value ID
       MqlCalendarValue&     value           // value description
       );
    CalendarEventByCountry —その国で利用可能なイベントの配列を取得します。
     bool CalendarEventByCountry(
       string                country_code,  // country code
       MqlCalendarEvent&    events[]       // array of events
       );
    CalendarEventByCurrency —影響を受ける通貨で利用可能なイベントの配列を取得します。
     bool CalendarEventByCurrency(
       string                currency,       // currency
       MqlCalendarEvent&    events[]       // array of events
       );
    CalendarValueHistoryByEvent —イベント識別子によって、指定された期間の値の配列を取得します。
     bool CalendarValueHistoryByEvent(
       ulong                 event_id,      // event ID
       MqlCalendarValue&    values[],      // array of values
       datetime              datetime_from, // period beginning date
       datetime              datetime_to= 0  // period end date
       );
    CalendarValueHistory —国や通貨でフィルタリングされた、すべてのイベントの指定された期間の値の配列を取得します。
     bool CalendarValueHistory(
       MqlCalendarValue&    values[],           // array of values
       datetime              datetime_from,     // beginning of period
       datetime              datetime_to= 0 ,     // end of period
       string                country_code=NULL, // country code
       string               currency=NULL      // currency
       );
    CalendarValueLastByEvent —識別子ごとに最後のイベント値の配列を取得します。この関数は、前回のリクエスト以降に表示された値のリクエストを有効にします。この操作には、入力/出力パラメーター「change_id」が追加で使用されます。

    カレンダデータベースが変更されるたびに、「change_id」プロパティ(最後の変更識別子)が更新されます。データ要求中に「change_id」を指定すると、端末はそれ以降に発生したイベントと、次の要求に使用できる現在の「change_id」値を返します。最初の関数呼び出し中に、ゼロの「change_id」を指定します。この関数はイベントを返しませんが、以降の要求のために現在の「change_id」を返します。
     bool CalendarValueHistory(
       ulong                 event_id,           // event ID
       ulong &               change_id,         // last calendar change ID
       MqlCalendarValue&    values[]           // array of values
       );
    CalendarValueLast —国や通貨でフィルタリングされた、すべてのイベントの最後の値の配列を取得します。この関数は、前回のリクエスト以降に表示された値のリクエストを有効にします。 CalendarValueLastByEventと同様に、「change_id」プロパティがリクエストに使用されます。
     bool CalendarValueHistory(
       ulong                 event_id,           // event ID
       ulong &               change_id,         // last calendar change ID
       MqlCalendarValue&    values[],           // array of values
       string                country_code=NULL, // country code
       string currency=NULL                     // currency
       );

    新しい構造

    MqlCalendarCountry —国の説明。
     struct MqlCalendarCountry
      {
       ulong              id;                         // country ID in ISO 3166-1
       string             name;                       // text name of the country
       string             code;                       // code name of the country in ISO 3166-1 alpha-2
       string             currency;                   // country currency code
       string             currency_symbol;           // country currency symbol/sign
       string             url_name;                   // country name used in URL on mql5.com
      };
    MqlCalendarEvent —イベントの説明。
     struct MqlCalendarEvent
      {
       ulong                           id;           // event ID
       ENUM_CALENDAR_EVENT_TYPE       type;         // event type
       ENUM_CALENDAR_EVENT_SECTOR     sector;       // sector to which the event belongs
       ENUM_CALENDAR_EVENT_FREQUENCY  frequency;     // event release frequency
       ENUM_CALENDAR_EVENT_TIMEMODE   time_mode;     // event release time mode
       ulong                           country_id;   // country ID
       ENUM_CALENDAR_EVENT_UNIT       unit;         // unit for the event values
       ENUM_CALENDAR_EVENT_IMPORTANCE importance;   // event importance
       ENUM_CALENDAR_EVENT_MULTIPLIER multiplier;   // event importance multiplier
       uint                            digits;       // number of decimal places in the event value
       string                          source_url;   // source URL
       string                          event_code;   // event code
       string                          name;         // text name of the event in the terminal language
      };
    MqlCalendarValue —イベント値の説明。
     struct MqlCalendarValue
      {
       ulong              id;                         // value ID
       ulong              event_id;                   // event ID
       datetime           time;                       // event date and time
       datetime           period;                     // period, for which the event is published
       int                revision;                   // published indicator revision in relation to the reported period
       long               actual_value;               // current event value
       long               prev_value;                 // previous event value
       long               revised_prev_value;         // revised previous event value
       long               forecast_value;             // forecast event value
       ENUM_CALENDAR_EVENT_IMPACRT impact_type;     // potential impact on the currency rate
      };

    新しい列挙

    enum ENUM_CALENDAR_EVENT_FREQUENCY
      {
       CALENDAR_FREQUENCY_NONE            = 0 ,   // not used
       CALENDAR_FREQUENCY_WEEK            = 1 ,   // weekly
       CALENDAR_FREQUENCY_MONTH           = 2 ,   // monthly
       CALENDAR_FREQUENCY_QUARTER         = 3 ,   // quarterly
       CALENDAR_FREQUENCY_YEAR            = 4 ,   // yearly
       CALENDAR_FREQUENCY_DAY             = 5 ,   // daily
      };
    
    enum ENUM_CALENDAR_EVENT_TYPE
      {
       CALENDAR_TYPE_EVENT                = 0 ,   // event (meeting, speech, etc.)
       CALENDAR_TYPE_INDICATOR            = 1 ,   // indicator
       CALENDAR_TYPE_HOLIDAY              = 2 ,   // holiday
      };
    
    enum ENUM_CALENDAR_EVENT_SECTOR
      {
       CALENDAR_SECTOR_NONE               = 0 ,   // no
       CALENDAR_SECTOR_MARKET             = 1 ,   // market
       CALENDAR_SECTOR_GDP                = 2 ,   // GDP
       CALENDAR_SECTOR_JOBS               = 3 ,   // jobs
       CALENDAR_SECTOR_PRICES             = 4 ,   // prices
       CALENDAR_SECTOR_MONEY              = 5 ,   // money
       CALENDAR_SECTOR_TRADE              = 6 ,   // trade
       CALENDAR_SECTOR_GOVERNMENT         = 7 ,   // government
       CALENDAR_SECTOR_BUSINESS           = 8 ,   // business
       CALENDAR_SECTOR_CONSUMER           = 9 ,   // consumer
       CALENDAR_SECTOR_HOUSING            = 10 ,   // housing
       CALENDAR_SECTOR_TAXES              = 11 ,   // taxes
       CALENDAR_SECTOR_HOLIDAYS           = 12 ,   // holidays
      };
      
    enum ENUM_CALENDAR_EVENT_IMPORTANCE
      {
       CALENDAR_IMPORTANCE_LOW            = 0 ,   // no
       CALENDAR_IMPORTANCE_NONE           = 1 ,   // low
       CALENDAR_IMPORTANCE_MODERATE       = 2 ,   // moderate
       CALENDAR_IMPORTANCE_HIGH           = 3 ,   // high
      };
    
    enum ENUM_CALENDAR_EVENT_UNIT
      {
       CALENDAR_UNIT_NONE                 = 0 ,   // no
       CALENDAR_UNIT_PERCENT              = 1 ,   // percent
       CALENDAR_UNIT_CURRENCY             = 2 ,   // national currency
       CALENDAR_UNIT_HOUR                 = 3 ,   // number of hours
       CALENDAR_UNIT_JOB                  = 4 ,   // number of jobs
       CALENDAR_UNIT_RIG                  = 5 ,   // number of rigs
       CALENDAR_UNIT_USD                  = 6 ,   // US dollar
       CALENDAR_UNIT_PEOPLE               = 7 ,   // number of people
       CALENDAR_UNIT_MORTGAGE             = 8 ,   // number of mortgages
       CALENDAR_UNIT_VOTE                 = 9 ,   // number of votes
       CALENDAR_UNIT_BARREL               = 10 ,   // number of barrels
       CALENDAR_UNIT_CUBICFEET            = 11 ,   // volume in cubic feet
       CALENDAR_UNIT_POSITION             = 12 ,   // number of job positions
       CALENDAR_UNIT_BUILDING             = 13    // number of buildings
      };
      
    enum ENUM_CALENDAR_EVENT_MULTIPLIER
      {
       CALENDAR_MULTIPLIER_NONE           = 0 ,   // no    
       CALENDAR_MULTIPLIER_THOUSANDS      = 1 ,   // thousands
       CALENDAR_MULTIPLIER_MILLIONS       = 2 ,   // millions
       CALENDAR_MULTIPLIER_BILLIONS       = 3 ,   // billions
       CALENDAR_MULTIPLIER_TRILLIONS      = 4 ,   // trillions
      };
      
    enum ENUM_CALENDAR_EVENT_IMPACRT
      {
       CALENDAR_IMPACT_NA                 = 0 ,   // not available
       CALENDAR_IMPACT_POSITIVE           = 1 ,   // positive
       CALENDAR_IMPACT_NEGATIVE           = 2 ,   // negative
      };
    
    enum ENUM_CALENDAR_EVENT_TIMEMODE
      {
       CALENDAR_TIMEMODE_DATETIME         = 0 ,   // the source publishes the exact time
       CALENDAR_TIMEMODE_DATE             = 1 ,   // the event takes the whole day
       CALENDAR_TIMEMODE_NOTIME           = 2 ,   // the source does not publish the event time
       CALENDAR_TIMEMODE_TENTATIVE        = 3 ,   // the source provides only date, but does not publish the exact time in advance, exact time is added when event occurs
      };

    新しいエラーコード

    ERR_CALENDAR_MORE_DATA             = 5400 ,   // the array is small for the whole result (values which fit in the array were passed)
    ERR_CALENDAR_TIMEOUT               = 5401 ,   // timed out waiting for a response to the calendar data request
    ERR_CALENDAR_NO_DATA               = 5402 ,   // data not found

  11. MQL5:ティックとバーの履歴に関連する修正と操作速度の改善。
  12. MQL5:カスタムトレーディングシンボル、 CustomTicks*およびCustomRates*のティッカーおよびバー履歴変更機能に関連する修正と大幅な操作速度の改善。
  13. MQL5:新しいデータ変換関数。

    CharArrayToStructは、uchar配列をPOD構造体にコピーします。
     bool   CharArrayToStruct(
       void &         struct_object,    // structure
       const uchar &  char_array[],      // array
       uint           start_pos= 0         // starting position in the array
       );
    StructToCharArrayは、POD構造体をuchar配列にコピーします。
     bool   StructToCharArray(
       const void &  struct_object,      // structure
       uchar &       char_array[],      // array
       uint          start_pos= 0         // starting position in the array
       );

  14. ushort、uint、およびulong値のバイト順序を変更するためのMathSwap関数が追加されました。
     ushort MathSwap( ushort value );
    uint    MathSwap( uint    value );
    ulong   MathSwap( ulong    value );

  15. MQL5:システムソケットを介してリモートホストへのTCP接続を作成するためのネットワーク機能を追加しました。

    • SocketCreateは、指定されたフラグを使用してソケットを作成し、そのハンドルを返します
    • SocketCloseはソケットを閉じます
    • SocketConnectは、タイムアウト制御を使用してサーバーに接続します
    • SocketIsConnectedは、ソケットが現在接続されているかどうかを確認します
    • SocketIsReadableは、ソケットから読み取ることができるバイト数を取得します
    • SocketIsWritableは、現時点でこのソケットへのデータ書き込みが可能かどうかを確認します
    • SocketTimeoutsは、システムソケットオブジェクトのデータ受信および送信タイムアウトを設定します
    • SocketReadはソケットからデータを読み取ります
    • SocketSendはデータをソケットに書き込みます
    • SocketTlsHandshakeは、TLSハンドシェイクプロトコルを使用して、指定されたホストとの安全なTLS(SSL)接続を開始します
    • SocketTlsCertificateは、安全なネットワーク接続に使用される証明書に関する情報を受け取ります
    • SocketTlsReadは、安全なTLS接続からデータを読み取ります
    • SocketTlsReadAvailableは、安全なTLS接続から利用可能なすべてのデータを読み取ります
    • SocketTlsSendは、安全なTLS接続を使用してデータを送信します

    ネットワーク機能を使用した接続が確立されているホストのアドレスは、端末設定の許可されたアドレスのリストに明示的に追加する必要があります。

    ネットワーク機能を使用した操作用に、新しいエラーコードが追加されました。

    • ERR_NETSOCKET_INVALIDHANDLE(5270):関数に渡された無効なソケットハンドル
    • ERR_NETSOCKET_TOO_MANY_OPENED(5271):開いているソケットが多すぎます(最大128)
    • ERR_NETSOCKET_CANNOT_CONNECT(5272):リモートホストへの接続中にエラーが発生しました
    • ERR_NETSOCKET_IO_ERROR(5273):ソケットからのデータの送受信中にエラーが発生しました
    • ERR_NETSOCKET_HANDSHAKE_FAILED(5274):セキュア接続確立エラー(TLSハンドシェイク)
    • ERR_NETSOCKET_NO_CERTIFICATE(5275)—安全な接続に使用される証明書に関するデータがありません

  16. MQL5:文字列操作用の新しい関数を追加しました:

    StringReserveは、指定されたサイズのメモリバッファを文字列用に予約します。
     bool   StringReserve(
       string &        string_var,           // string
       uint            new_capacity          // buffer size for the string
       );
    StringSetLengthは、指定された文字列の長さを文字数で設定します。
     bool   StringSetLength(
       string &        string_var,          // string
       uint            new_length           // new string length
       );

  17. MQL5:配列操作用の新しい関数を追加しました:

    ArrayRemoveは、指定されたインデックスで始まる指定された数の要素を配列から削除します。
     bool   ArrayRemove(
       void &         array[],              // array of any type
       uint           start,                // the index to start removal
       uint           count=WHOLE_ARRAY      // number of elements
       );
    ArrayInsertは、指定されたインデックスから始めて、ソース配列から指定された数の要素をレシーバー配列に挿入します。
     bool   ArrayInsert(
       void &         dst_array[],          // receiver array
       const void &   src_array[],          // source array
       uint           dst_start,            // index in the receiver array where to insert
       uint           src_start= 0 ,           // index in the source array to start copying
       uint           count=WHOLE_ARRAY     // number of inserted elements
       );
    ArrayReverseは、指定されたインデックスで始まる指定された数の要素を配列内で反転します。
     bool   ArrayReverse(
       void &         array[],              // array of any type
       uint           start= 0 ,               // index to start reversing
       uint           count=WHOLE_ARRAY      // number of elements
       );

  18. MQL5:新しい「uintcount」パラメーターが関数CustomRatesUpdateCustomRatesReplaceCustomTicksAdd 、およびCustomTicksReplaceに追加されました。これにより、これらの関数に使用される、渡された配列の要素数を指定できます。デフォルトでは、WHOLE_ARRAY値がパラメーターに使用されます。これは、アレイ全体が利用されることを意味します。
  19. MQL5:カスタムシンボルの市場の深さのステータスを渡すためのCustomBookAdd関数が追加されました。この機能により、ブローカーのサーバーから価格が到着したかのように、市場の深さをブロードキャストできます。
     int   CustomBookAdd(
       const string         symbol,             // symbol name
       const MqlBookInfo&  books[]             // an array with the DOM elements descriptions
       uint                 count=WHOLE_ARRAY   // number of elements to be used
       );
  20. MQL5: CustomSymbolCreate関数のオーバーロードを追加しました。これにより、既存の取引シンボルに基づいてカスタム取引シンボルを作成できます。作成後、対応する関数を使用して任意のシンボルプロパティを編集できます。
     bool   CustomSymbolCreate (
       const string         symbol_name,       // custom symbol name
       const string         symbol_path= "" ,    // name of the group in which the symbol will be created
       const string         symbol_origin=NULL // name of the symbol based on which the custom symbol will be created
       );
    カスタムシンボルのプロパティのコピー元となるシンボルの名前は、「symbol_origin」パラメータで指定されます。

  21. 日付/時刻の文字列を日時値に変換するStringToTime関数が更新されました。現在、次の日付形式をサポートしています。

    • yyyy.mm.dd [hh:mi]
    • yyyy.mm.dd [hh:mi:ss]
    • yyyymmdd [hh:mi:ss]
    • yyyymmdd [hhmiss]
    • yyyy / mm / dd [hh:mi:ss]
    • yyyy-mm-dd [hh:mi:ss]

  22. MQL5: ENUM_TERMINAL_INFO_INTEGER列挙型の新しいTERMINAL_VPSプロパティ。ターミナルがMetaTrader仮想ホスティングサーバー(MetaTrader VPS)で実行されていることを示しています。アプリケーションがホスティングサーバーで実行されている場合、仮想サーバーにはグラフィカルユーザーインターフェイスがないため、そのすべての視覚的機能を無効にすることができます。
  23. MQL5: ENUM_SYMBOL_INFO_INTEGER列挙の新しいSYMBOL_EXISTプロパティは、この名前のシンボルが存在することを意味します。
  24. MQL5:テンプレート関数の事前宣言を使用する場合の入力を修正しました。
  25. MQL5:取引口座を変更する際のインジケーターの再初期化を追加しました。
  26. MQL5:最適化されたStringSplit関数。
  27. MQL5:標準ライブラリ操作のエラーを修正しました。
  28. テスター: TesterStop機能が追加されました—テストエージェントのエキスパートアドバイザーの定期的な早期シャットダウン。これで、指定された負けトレード数、事前設定されたドローダウンレベル、またはその他の基準に達した後、テストを強制的に停止できます。

    この関数を使用して完了したテストは、成功したと見なされます。関数呼び出しの後、テスト中に取得された取引履歴とすべての取引統計が端末に渡されます。

  29. テスター:実際のティックモードでMQL5クラウドネットワークを介してエキスパートアドバイザーをテストおよび最適化する機能を無効にしました。このモードは、ローカルエージェントとローカルネットワークファームでのみ使用できます。
  30. テスター:視覚テスト中のインジケーターの作業を改善しました。これで、最大の視覚化速度であっても、価格チャートとインジケーターラインが同期して描画されます。
  31. テスター:最適化され、大幅に加速されたテストと最適化。
  32. テスター:履歴データのインジケーターのデバッグを修正しました。これで、OnInitおよびOnDeinitインジケーター関数を適切にデバッグできます。
  33. テスター:複数通貨のエキスパートアドバイザーをテストするときに、履歴データへのより高速なアクセスを実装しました。
  34. テスター:履歴データのデバッグ中にビジュアルテスターがフリーズすることがある問題を修正しました。
  35. テスター:エージェントがタスクパッケージを処理するときに、最適化パスのより高速な開始を実装しました。
  36. テスター:タスクパッケージをテストエージェントに配布するポリシーを変更しました。パッケージサイズが大きくなったため、ネットワーク運用でのリソース消費が大幅に削減されました。
  37. テスター:ローカル、ネットワーク、およびクラウドエージェントの使用を可能にするオプションの動作を変更しました。これで、オプションをオフにすると、エージェントは受信したタスクの処理を完了しますが、新しいタスクはエージェントに与えられなくなります。以前のバージョンでは、動作は「Disable」コマンドと同様で、エージェントの動作をすぐに停止していました。




  38. MetaEditor:デバッガーでの非ANSI文字のサポートが追加されました。キリル文字で変数名を指定しても、式が正しく表示されるようになりました。
  39. MetaEditor:高DPI画面での検索結果の表示を修正しました。
  40. クロアチア語へのユーザーインターフェイスの翻訳を追加しました。
  41. ドキュメントが更新されました。
アップデートはLiveUpdateシステムから入手できます。

 

こんにちは。

この2005をインストールする前に、ビルド1940を削除 する必要がありますか?
アンインストールせずに試したところ、インストール後は以前と同じ1940になっています。
また、昨年からアップデートができなくなったのですが、何か理由があるのでしょうか?
全部削除してやり直した方がいいのでしょうか?


ありがとうございます...

 
初心者に便利