メタトレーダー5を始めるには - ページ 122

 

MetaTrader 5でMATLAB 2018の計算機能を利用する

MetaTrader 5でMATLAB 2018の計算機能を利用する


This article is a development of the article "Interaction between MetaTrader 4 and MATLAB" by A. Emelyanov, and it provides information on solving a similar task for modern 64-bit versions of all platforms utilized by users. Over the past period, the method for creating shared DLL libraries has been substantially upgraded in the MATLAB package. Therefore, the method discussed in the original article requires modification. This happened because MATLAB Compiler SDK or MATLAB Coder must now be used instead of MATLAB Compiler. In addition, the practice of working with dynamic memory in MATLAB has changed, which implies certain adjustments of the source code that addresses a library written in the MATLAB language.

 

クロスプラットフォームのグライダーEAを開発 する

クロスプラットフォームなグライダーEAの開発

Most frequent users of this website know pretty well that MQL5 is the best option for developing custom EAs. Unfortunately, not all brokers allow creating accounts available in MetaTrader 5. Even if you currently work with a broker that allows that, you may switch to a broker offering only MetaTrader 4 in the future. What are you going to do with all the MQL5 EAs you have developed in that case? Are you going to spend a huge amount of time to rework them to fit into MQL4? Perhaps, it would be more reasonable to develop an EA able to work both in MetaTrader 5 and MetaTrader 4?

今回は、このようなEAを開発し、オーダーグリッドを利用した取引システムが使えるかどうかを確認してみます。

 

HTMLおよびCSVレポートに基づく多通貨取引履歴の視覚化方法

多通貨取引履歴をHTMLとCSVのレポートに基づいて可視化する方法

導入以来、MetaTrader 5はマルチカレンシーテストのオプションを提供しています。この可能性は、しばしばトレーダーによって使用されます。しかし、この機能は普遍的ではありません。特に、テストを実行した後、ユーザーは実行された取引操作のチャートを開くことができます。しかし、これはストラテジーテスターの設定で選択された1つの取引シンボルのみのチャートです。テスト実行後、使用した全シンボルの取引履歴を見ることはできないし、目視での確認は必ずしも効率的でない。テスト後、しばらくしてから追加で分析が必要な場合があります。また、レポートは別の人が提供することも可能です。そこで、HTMLのテストレポートに基づいて、複数の作業シンボルでの取引を可視化するツールがあれば、非常に便利である。

多通貨取引履歴をHTMLとCSVのレポートに基づいて可視化する方法

多通貨取引履歴をHTMLとCSVのレポートに基づいて可視化する方法

前回はCSSセレクタに基づくHTMLパーサの 説明を行いました[1]。このパーサーは、HTMLレポートから取引のリストを抽出し、それに基づいて取引を形成することができます(グラフィカル・オブジェクト)。MetaTrader 4 (*.history.csv) および MetaTrader 5 (*.positions.csv) のシグナルのファイル形式は、組み込みの MQL 関数によってサポートされている一方、シグナルセクションからの CSV ファイルの解析は少し簡単です。

 
何から始めればいい?
https://www.mql5.com/en/forum/212020
Where Do I start from?
Where Do I start from?
  • 2017.07.25
  • www.mql5.com
Hi fam! Am a total newbie in the forex niche... Just signed up here on this platform... Please where do i start from? I need help...
 

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

新しいMetaTrader 5プラットフォームビルド2085:Pythonとの統合とStrategy Testerの改善

MetaQuotes Software Corp., 2019.06.11 17:36

MetaTrader 5プラットフォームの更新版は、2019年6月13日(木)にリリースされる予定です。新バージョンでは、以下の変更点があります。


  1. ターミナルPython 言語を使用するアプリケーションを介してMetaTrader 5ターミナルデータの要求を可能にする新しいAPIを追加しました。

    Pythonは、スクリプトやアプリケーションを開発するための最新の高水準プログラミング言語です。機械学習、プロセス自動化だけでなく、データ分析や可視化のための複数のライブラリが含まれています。

    MetaTrader package for Pythonは、MetaTrader 5ターミナルから直接、プロセッサ間通信を介して為替データを効率的かつ高速に取得するために設計されています。この経路で受信したデータは、さらに統計計算や機械学習に使用することができます。



    接続方法

    1. 最新バージョンのPythonは、https://www.python.org/downloads/windows からダウンロードしてください。
    2. Pythonのインストール時に、「Add Python X.X to PATH%」にチェックを入れると、コマンドラインからPythonスクリプトを起動できるようになります。
    3. MetaTrader 5 モジュールをコマンドラインからインストールします。
      pip install MetaTrader5
    4. matplotlibとpytzのパッケージの追加
      pip install matplotlib
      pip install pytz

    機能一覧

    • MT5Initializeは MetaTrader 5ターミナルとの接続を確立します。
    • MT5Shutdown MetaTrader 5ターミナルとの以前に確立した接続を閉じます。
    • MT5TerminalInfo 接続された MetaTrader 5 ターミナルのステータスとパラメータを受信します。
    • MT5Version は MetaTrader 5 ターミナルのバージョンを返します。
    • MT5WaitForTerminalは、MetaTrader 5ターミナルが取引サーバーに接続するまで待機します
    • MT5CopyRatesFrom は、指定された日付から始まるバーを MetaTrader 5 ターミナルから受信します。
    • MT5CopyRatesFromPos は、指定されたインデックスから開始する MetaTrader 5 ターミナルからバーを受信します。
    • MT5CopyRatesRange は、MetaTrader 5 ターミナルから指定された日付範囲のバーを受信します。
    • MT5CopyTicksFrom は、指定された日付から始まるティックを MetaTrader 5 ターミナルから受信します。
    • MT5CopyTicksRange は、MetaTrader 5 ターミナルから指定された日付範囲のティックを受信します。


  2. ターミナルマーケットと シグナルの セクションが最適化されました。製品およびシグナルのショーケースが最大7倍高速に動作するようになり、より優れたサービス閲覧体験を提供します。




  3. ターミナルWineで「マーケット」、「シグナル」、「検索」のサポートを追加しました。Linuxと Mac OSの ユーザーは、コピー取引サービスとともに、取引アプリケーションの最大ストアにアクセスできるようになりました。




  4. ターミナル。内蔵の学習プログラムは、スペイン語、中国語、ポルトガル語、ドイツ語など、30カ国以上の言語に翻訳されています。インタラクティブなヒントを希望の言語で表示するには、「表示」メニューで必要なインターフェース言語に切り替えてください。




  5. ターミナル新しいオプションにより、デモ口座や予備口座を開設する際にトレーダーが指定した電話番号と電子メールの検証が可能になりました。

    データ検証の必要性は、ブローカーによって決定されます。このオプションを有効にすると、アカウントリクエスト時に確認コードがトレーダーに自動的に送信され、ダイアログボックスに特別なコードフィールドが表示されます。




    確認コードは数分間有効です。確認コードは数分間有効です。この時間内にコードがフィールドに入力されないと、トレーダは手順を繰り 返す必要があります。
    コードを送信する前に、システムは指定された電話/電子メールが以前に確認されたかどうかをチェックします。トレーダーがパソコンからの確認に合格している場合は、追加確認なしで口座が開設されます。このように、口座開設依頼の際に、トレーダーに新たな負担をかけることはありません。

  6. ターミナルMQL5.communityのPayPal システムによる支払い方法が拡張されました。このシステムを利用して、ワンクリックで購入が可能になりました。

    操作方法
    購入時にPayPalアカウントでログインすると、弊社への支払いを許可するように要求されます。





    このオプションを確認し、保存済みのアカウントボタンを押すことで、ワンクリックで購入が可能になります。




    キャンセルしてMetaQuotes Software Corp.に戻る」をクリックすると、購入のたびにPayPalアカウントの詳細を手動で入力し、通常の方法で支払いを行うことができます。
    MQL5.comのウェブサイトとMetaTrader 5プラットフォームは、お客様の支払いに関する詳細を保存しません。資金の入金、マーケットサービスでの購入、シグナルの購読を行う場合、データの確認は決済システム側で行われます。
    お客様はいつでもPayPalアカウントリンクを削除することができます。

  7. テスターストラテジーテスターの改良と最適化。

    ストラテジーテスターの動作を最適化するため、隠れた改良やエラーの修正を大量に導入しました。このアップデートにより、一部のタスクタイプにおいて、より高速なテストと、より高い動作の安定性が実現されました。主な改善点は以下の通りです。

    フレームを使用した操作
    ローカルエージェント、ネットワークエージェント、クラウドエージェントにおけるフレームを 使った操作が最適化されました。このような操作は、より速く処理され、決してスキップされることはありません。

    エージェントへのタスクの分配
    最適化の過程で、タスクをエージェントに再分配できるようになりました。新しいエージェントが利用可能になった場合(あるいは、以前利用していたエージェントの一つがリリースされた場合)、テスタは、他のエージェントに以前配布されたものを利用して、自動的に新しいタスクのパッケージを作成します。遅いエージェントが検出された場合、タスクは再分配されます。そのようなエージェントのタスクは、より速く最適化を完了させるために、他のエージェントに送られます。

    数学計算モードでのタスクの分配は、より速くなりました。

    ジャーナルでの最適化統計
    最適化ログが拡張されました。MQL5クラウドネットワークの 使用状況や、クラウドエージェントの有効化・無効化などに関する詳細な統計が含まれます。

    フルオプティマイズログモードでの動作
    最適なリソース消費のために、エージェントからのすべてのメッセージがテスターログに記録されるわけではありません。すべてのログを表示するには、テスターログのコンテキストメニューを使用して、「フルオプティマイズログ」オプションを有効にすることができます。以前は、このモードは最適化プロセスを著しく遅くしていました。現在は、計算時間に影響はありません。

    MQL5 クラウドネットワーク
    クラウドテストエージェントの運用を最適化しました。計算タスクがより効率的に分散されるようになりました。

  8. ターミナル内蔵カレンダーは、米国、欧州連合、日本、英国など、世界18大経済に関連する900以上の指標を公表しています。関連するデータはオープンソースからリアルタイムで収集されます。トレーダーは、このサービスを定期的にチェックすることで、最新の世界的なニュースに関する情報を入手し、十分な情報に基づいて取引の意思決定を行うことができるのです。

    経済カレンダーは、デスクトップ端末やウェブサイトだけでなく、モバイル端末でも利用可能です。アプリケーションは、端末のカレンダーコンテキストメニューを使用して開くことができます。




    お使いのプラットフォームを選択し、Tradaysアプリをダウンロードしてください。


    デスクトップ版で利用可能なカレンダー機能に加え、モバイル版ではイベントのリマインダーや、チャートとテーブル形式で指標の全履歴にアクセスすることが可能です。

  9. ターミナルティック履歴のインポート時にカスタムシンボルのバー履歴を自動生成する機能を追加しました。これにより、カスタム・シンボルのティック・データが変更された場合、対応するバーが自動的に再計算されます。

    • このように、プラットフォームで統一されたデータが保存されます。
    • ティックデータをインポートした後(十分なデータがある場合)、バーがターミナルによって自動的に計算されるため、バーをインポートする必要はありません。

    ターミナル・インターフェースを介して実行されるティックのインポート、およびCustomTicks* 関数を使用してMQL5アプリケーションから実行されるティックの更新に関する変更です。ティックデータの変更は、カスタムシンボルの対応する1分足のバーの再計算につながります。

  10. ターミナルデタッチャートで 十字線を使用した場合のデータウインドウのデータ更新を修正しました。
  11. ターミナルティック履歴の保存を修正しました。以前のバージョンでは、1ミリ秒以内の複数のティックが間違った順序で保存されることがありました。
  12. ターミナルサーバー上で利用可能な短すぎる価格履歴(1日未満)に基づくチャートの生成を修正しました。
  13. MQL5:MQL5サービスの デバッグオプションを追加しました。これらのアプリケーションは、Expert Advisorやインジケータと同様にテストすることができるようになりました。
  14. MQL5:ENUM_SYMBOL_CALC_MODE 列挙に新しい利益計算モードとマージン計算モードが追加されました。

    • SYMBOL_CALC_MODE_EXCH_BONDS - 為替債券の計算を行います。
    • SYMBOL_CALC_MODE_EXCH_STOCKS_MOEX - モスクワ取引所で取引される銘柄の計算を行います。
    • SYMBOL_CALC_MODE_EXCH_BONDS_MOEX - モスクワ証券取引所で取引されている債券の計算を行います。

  15. MQL5:新しいTesterDeposit 関数は、テスト中の入金操作のエミュレーションを可能にします。この関数は、マネーマネジメント戦略をテストする際に便利です。
    bool  TesterDeposit(
       double money      // the deposit amount
       );
  16. MQL5:OnDeinit メソッドの実行中、MQL5アプリケーションはターミナルからイベントを受信しません。以前は、アプリケーションが他のイベントを受信するために、初期化解除(たとえば、作成されたすべてのオブジェクトの削除)を完了できないことがありました。
  17. MQL5:現在の日のカスタムシンボルティックの履歴を変更した後に発生する可能性のあるエラーを修正しました。
  18. MQL5:多数の(数万)グラフィカルオブジェクトを使用する際に、まれにアプリケーションの速度が低下することがある問題を修正しました。
  19. MQL5:MQL5プログラムから頻繁に取引履歴を呼び出す場合に、ターミナルがフリーズするのを修正しました。
  20. MQL5:iBarShift 関数の動作を修正しました。exact=false」フラグとデータ外の要求で、関数は最新のバー番号の代わりに最も古いバー番号を返しました。
  21. Tester:複数のNUMAノードを 持つプロセッサーを搭載したコンピューターでのコア数の決定を修正しました。
  22. テスター新しいTesterDeposit 関数を使用してテスト中に入金操作をエミュレートできるため、ゼロの初期入金でテストと最適化を実行する可能性が追加されました。
  23. MetaEditor:コードスタイラーコマンドが ツールバーに追加され、素早くアクセスできるようになりました。
  24. MetaEditor:関数名や変数名に非Unicode文字を使用した場合に、パラメータ定義への切り替えや関連データの閲覧を修正しました。
  25. ドキュメントを更新しました。

このアップデートは、LiveUpdateシステムを通じて入手可能です。


 

トレーディングにおけるOLAPの適用(その1)。多次元データのオンライン分析

class Record
  {
    private:
      double data[];
      
    public:
      Record(const int length)
      {
        ArrayResize(data, length);
        ArrayInitialize(data, 0);
      }
      
      void set(const int index, double value)
      {
        data[index] = value;
      }
      
      double get(const int index) const
      {
        return data[index];
      }
  };

トレーダーはしばしば膨大な量のデータを分析する必要があります。その中には、数値、気配値、指標値、取引報告書などが含まれることが多い。これらの数値は多くのパラメータや条件に依存しているため、部分的に考察し、様々な角度からプロセス全体を見ることができるようにします。情報全体は、仮想的なハイパーキューブのようなもので、各パラメータはそれぞれ他のパラメータと直交する次元を定義しています。このようなハイパーキューブは、一般的なOLAP(Online Analytical Processing)技術を使って処理・分析することができる。

この手法の名前にある「オンライン」は、インターネットを意味するのではなく、結果の迅速性を意味する。動作原理は、ハイパーキューブのセルを事前に計算し、その後、キューブの任意の断面を素早く抽出して視覚的に表示することを意味しています。これは MetaTrader の最適化プロセスと比較することができます。テスターはまず取引のバリエーションを計算し(これはかなり長い時間がかかる可能性があり、つまり迅速ではありません)、次に入力パラメータにリンクした結果を特徴とするレポートを出力します。 ビルド1860から、MetaTrader 5プラットフォームは、様々な最適化基準を切り替えることにより、表示された最適化結果の動的な変更をサポートしています。これはOLAPのアイデアに近いものです。しかし、完全な分析を行うには、ハイパーキューブの他の多くのスライスを選択する可能性が必要です。

Online analytical processing - Wikipedia
  • en.wikipedia.org
OLAP tools enable users to analyze multidimensional data interactively from multiple perspectives. OLAP consists of three basic analytical operations: consolidation (roll-up), drill-down, and slicing and dicing.[6]: Consolidation involves the aggregation of data that can be accumulated and computed in one or more dimensions. For example, all...
 
Sergey Golubev:

ターミナルWineで「マーケット」、「シグナル」、「検索」に対応しました。LinuxとMac OSのユーザーは、コピー取引サービスとともに、取引アプリケーションの最大ストアにアクセスできるようになりました。

MT5のみですか?

MT4はどうですか?

 
Bernhard Schweigert:

MT5のみですか?

MT4はどうですか?

MT5用のアナウンスなので、MT5専用なのではと思います。
メタトレーダー4関連で同じような情報やアナウンスがなかったから。

 
Sergey Golubev:

MT5用のアナウンスでしたので、MT5専用かもしれませんね。
メタトレーダー4関連で同じ情報やアナウンスが無かったので・・・。

MACやLinuxをお持ちの方なら、ここでテストしてわかると思います。