MQL5言語のプログラミング例に関する記事

icon

MQL5言語でMetaTraderプラットフォームのインジケータと自動売買ロボットを作成する方法を示すコード例を含む膨大な記事のコレクションにアクセスします。ソースコードは記事に添付されているので、MetaEditorで開いて実行して、アプリがどのように機能するかを確認できます。

これらの記事は自動取引初心者にも、プログラム経験があるプロのトレーダーにも役に立つでしょう。それらは単に例を特徴とするだけではなく、新しいアイデアも含んでいます。

新しい記事を追加
最新 | ベスト
ユニバーサルEA:シグナルの標準メタトレーダーモジュールとの統合(その7)
ユニバーサルEA:シグナルの標準メタトレーダーモジュールとの統合(その7)

ユニバーサルEA:シグナルの標準メタトレーダーモジュールとの統合(その7)

このパートでは、シグナルモジュールとCStrategyエンジンの統合の可能性が、メタトレーダーの標準ライブラリにあることについて記述します。この記事では、カスタム戦略を作成するメソッドと同様に、シグナルの操作メソッドについて説明します。
トレーダーのハック: 定義と ForEach のブレンド (#define)
トレーダーのハック: 定義と ForEach のブレンド (#define)

トレーダーのハック: 定義と ForEach のブレンド (#define)

この記事は、現在MQL4でコーディングしていて、MQL5に切り替えたいとは思っていない人のためのものです。 今回はMQL4のスタイルでコードを書く方法を模索していきます。 #define プリプロセッサのマクロ置換を見ていきます。
グラフィカルインタフェースX: 標準チャートコントロール(ビルド4)
グラフィカルインタフェースX: 標準チャートコントロール(ビルド4)

グラフィカルインタフェースX: 標準チャートコントロール(ビルド4)

今回は、標準のチャートコントロールについて考えていきます。これによって水平スクロールを同期させる機能を持つサブチャートの配列の作成が可能になります。また、引き続き、ライブラリのコードを最適化してCPU負荷を軽減します。
preview
連続的なウォークフォワード最適化(その7)。オートオプティマイザの論理部分をグラフィックスでバインドし、プログラムからグラフィックスを制御する

連続的なウォークフォワード最適化(その7)。オートオプティマイザの論理部分をグラフィックスでバインドし、プログラムからグラフィックスを制御する

この記事では、オートオプティマイザプログラムのグラフィカルな部分と論理的な部分の接続について説明します。 ボタンクリックから最適化マネージャへのタスクリダイレクトまで、最適化の起動プロセスを考慮します。
取引戦略におけるファジー論理
取引戦略におけるファジー論理

取引戦略におけるファジー論理

本稿では、ファジーライブラリを使用して、ファジー論理を適用した簡単な取引システムの構築例を検討します。ファジー論理、遺伝的アルゴリズムおよびニューラルネットワークを組み合わせることによりシステムを改良するための変形が提案されます。
OpenCL を使用したローソク足パターンのテスト
OpenCL を使用したローソク足パターンのテスト

OpenCL を使用したローソク足パターンのテスト

この記事では、OpenCL ローソク足パターンテスターを "1 分 OHLC " モードで実装するアルゴリズムについて説明します。 また、高速かつ低速の最適化モードで起動したビルトインストラテジーテスターとの速度を比較します。
取引におけるニューラルネットワークの実用化
取引におけるニューラルネットワークの実用化

取引におけるニューラルネットワークの実用化

本稿では、フル機能の自動売買ロボットを作成することを目的として、ニューラルネットワークと取引ターミナルの統合の主な側面について検討します。
ジグザグの力(第二部)データの受け取り、処理、表示の例
ジグザグの力(第二部)データの受け取り、処理、表示の例

ジグザグの力(第二部)データの受け取り、処理、表示の例

本稿の最初の部分では、変更されたジグザグ指標と、そのタイプの指標のデータを受け取るためのクラスについて説明しました。ここでは、これらのツールに基づいて指標を開発する方法を示し、ジグザグ指標によって形成されたシグナルに従って取引を行うことを特徴とするテスト用のEAを作成します。さらに、本稿ではグラフィカルユーザインタフェースを開発するためのEasyAndFastライブラリの新しいバージョンを紹介します。
MQL5とQLUAの比較ーなぜMQL5での取引操作は28倍速いのか?
MQL5とQLUAの比較ーなぜMQL5での取引操作は28倍速いのか?

MQL5とQLUAの比較ーなぜMQL5での取引操作は28倍速いのか?

多くのトレーダーは、どれくらいの速さで自分の注文が取引所に到達し、どれくらいの時間で実行されるのか、そしていつトレーダーの取引ターミナルに取引操作の結果が反映されるのかということについてよく考えるものだと思います。今まで誰もMQL5とQLUAのプログラムを使用した取引操作速度の比較測定を行っていないので、この比較を行いたいと思います。
マルチタイムフレームとマルチ通貨パネルの作成
マルチタイムフレームとマルチ通貨パネルの作成

マルチタイムフレームとマルチ通貨パネルの作成

この記事では、オブジェクト指向プログラミングを使うMetaTrader 5のマルチタイムフレームとマルチ通貨パネルの作成の仕方を解説します。主な目的は、パネルのコードを変更することなく、価格や価格の変化、インディケーターの値や売買条件のカスタマイズなど 多くの異なった種類のデータを表示することのできる汎用パネルの作成です。
EAのリモートコントロールの方法
EAのリモートコントロールの方法

EAのリモートコントロールの方法

トレーディングロボットの主な利点は、リモートの VPS サーバー上で24時間動作できることです。 しかし、時にはサーバーに直接アクセスすることができず、タスクに介入する必要があります。 EAをリモートで管理することは可能でしょうか。 この記事では、外部コマンドを使用してEAを制御するオプションの1つを提案します。
EX5 ライブラリ使用による開発プロジェクトの促進
EX5 ライブラリ使用による開発プロジェクトの促進

EX5 ライブラリ使用による開発プロジェクトの促進

.ex5 ファイルにクラス/関数の実装詳細を非表示にすることでノウハウアルゴリズムを他の開発者と共有し、共通のプロジェクトを設定し、ウェブ上でそれらを進めていくことができるようになります。そして MetaQuotes チームが ex5 ライブラリクラスの直接継承機能を実現することに全力を傾ける一方で、われわれはそれをいますぐ実装していこうとしているのです。
メタトレーダー5のカスタムニュースフィードを作成する
メタトレーダー5のカスタムニュースフィードを作成する

メタトレーダー5のカスタムニュースフィードを作成する

この記事では、ニュースの種類とまたその情報元の面でより多くのオプションを提供しています。柔軟なニュースフィードを作成する汎用性を考察します。 この記事では、web API を MetaTrader5 ターミナルと統合する方法について説明します。
MQL5 クックブック-ピボットトレーディングシグナル
MQL5 クックブック-ピボットトレーディングシグナル

MQL5 クックブック-ピボットトレーディングシグナル

この記事では、ピボットの反転に基づいたシグナルのクラスの開発と実装について説明します。 このクラスは、標準ライブラリを適用する戦略を形成するために使用されます。 フィルタを追加することにより、ピボット戦略を改善することができるでしょう。
グラフィカルインタフェースX: テキストエディットボックス、ピクチャスライダー、及びシンプルなコントロール(ビルド5)
グラフィカルインタフェースX: テキストエディットボックス、ピクチャスライダー、及びシンプルなコントロール(ビルド5)

グラフィカルインタフェースX: テキストエディットボックス、ピクチャスライダー、及びシンプルなコントロール(ビルド5)

この記事では、テキストエディットボックス、ピクチャスライダー、および追加的なシンプルなコントロール(テキストラベルとピクチャ)の新しいコントロールについて検討します。ライブラリは成長を続けており、新しいコントロールの導入に加えて、以前作成されたものも改善されています。
適応型相場の実用的評価法
適応型相場の実用的評価法

適応型相場の実用的評価法

この記事で提案するトレーディングシステムは、株価を分析するための数学的ツールです。 ディジタルフィルタリングと離散時系列のスペクトル推定を適用します。 戦略の理論的側面について説明し、テストEAを作成します。
ピボット・パターン:『ヘッドアンドショルダー』パターンのテスト
ピボット・パターン:『ヘッドアンドショルダー』パターンのテスト

ピボット・パターン:『ヘッドアンドショルダー』パターンのテスト

この記事は、前回のピボット・パターン:『ダブルトップ・ダブルボトム』パターンのテストの論理的な続編になります。ここでもう一つのよく知られている『ヘッドアンドショルダー』の反転パターンを検討し、2つのパターンの取引パフォーマンスを比較し、2つのパターンの取引を1つの取引システムに組み合わせてみたいと思います。
グラフィカルインタフェースX: Easy And Fast (簡単で手早い)ライブラリの更新(ビルド3)
グラフィカルインタフェースX: Easy And Fast (簡単で手早い)ライブラリの更新(ビルド3)

グラフィカルインタフェースX: Easy And Fast (簡単で手早い)ライブラリの更新(ビルド3)

本稿では、Easy And Fast ライブラリの次のバージョン(バージョン3)を紹介します。特定の欠陥を修正して、新しい機能を追加しました。詳細は本稿で後ほどお話しします。
グラフィカルインタフェースを備えたユニバーサルチャンネル
グラフィカルインタフェースを備えたユニバーサルチャンネル

グラフィカルインタフェースを備えたユニバーサルチャンネル

すべてのチャネルインジケータは、上中下の3ラインとして表示されます。 移動平均インジケーターは主にチャネルに使用されますが、中央の線の描画原理は移動平均に似ています。 上下の線は中心線から等しい距離に位置します。 この距離は、標準偏差値 (ボリンジャーバンドバンド)、または ATR値 (ケルトナーチャネル) を使用して、価格のパーセント (エンベロープインジケータ) としてポイント単位で決定されます。
preview
移動平均でできること

移動平均でできること

この記事では、移動平均指標を適用するいくつかの方法について考察しています。曲線分析が含まれるそれぞれの方法には、アイデアを視覚化する指標が付属しています。ほとんどの場合、ここで紹介されているアイデアは、その尊敬すべき著者に帰属しています。私の唯一の仕事は、それらをまとめて、主要なアプローチを確認し、うまくいけば、より合理的な取引決定を下せるようにすることでした。この記事は、MQL5の初心者向けです。
MQL5 クックブック:ОСО オーダー
MQL5 クックブック:ОСО オーダー

MQL5 クックブック:ОСО オーダー

トレーダーのトレーディング活動にはさまざまなメカニズムや注文同士の関係を含む相互関係がつきものです。本稿は OCO 注文処理のソリューションを提案します。新規データタイプがそこで作成されるのみならず、標準クラスは広くかかわっています。
高度適応インディケータ理論および MQL5への実装
高度適応インディケータ理論および MQL5への実装

高度適応インディケータ理論および MQL5への実装

本稿は高度適応インディケータとその MQL5への実装について述べます。適応型サイバーサイクル、適応型重心、適応型RVIです。すべてのインディケータはJohn F. Ehlersの原著 "Cybernetic Analysis for Stocks and Futures" で紹介されていました。
グラフィカルインタフェースVI:チェックボックスコントロール、編集コントロールとその混合型(チャプター 1)
グラフィカルインタフェースVI:チェックボックスコントロール、編集コントロールとその混合型(チャプター 1)

グラフィカルインタフェースVI:チェックボックスコントロール、編集コントロールとその混合型(チャプター 1)

本稿は、MetaTrader端末でグラフィカルインタフェースを作成するためのライブラリの開発に関するシリーズの第六部の始まりです。第1章ではチェックボックスコントロール、編集コントロールとその混合型についてお話します。
MQL5 Cookbook:トレードレベルを設定/変更する際エラーを避ける方法
MQL5 Cookbook:トレードレベルを設定/変更する際エラーを避ける方法

MQL5 Cookbook:トレードレベルを設定/変更する際エラーを避ける方法

シリーズの前稿 "MQL5 Cookbook: Analyzing Position Properties in the MetaTrader 5 Strategy Tester" からの Expert Advisor への取り組みの続編として、既存の関数を改良、最適化しつつ有用な関数を数多く用いて Expert Advisor を強化していきます。今回 Expert Advisor は MetaTrader 5 「ストラテジーテスタ」で最適化可能な外部パラメータを取得し、いくつかの点でシンプルなトレーディングシステムのようになります。
CGraphic ライブラリを使用したスキャルピング相場深度の実装
CGraphic ライブラリを使用したスキャルピング相場深度の実装

CGraphic ライブラリを使用したスキャルピング相場深度の実装

この記事では、スキャルピング相場深度ツールの基本的な関数を作成します。 また、CGraphic ライブラリーをベースにしたティック・チャートを開発し、オーダーブックと統合します。 記述された相場深度を使用して、短期トレードの強力なアシスタントツールを作成することが可能になります。
初心者のためのMQL5におけるデジタルフィルタの実践的実装
初心者のためのMQL5におけるデジタルフィルタの実践的実装

初心者のためのMQL5におけるデジタルフィルタの実践的実装

トレーディングシステムを構築するトピックを扱うフォーラムではデジタルシグナルのフィルタリングに関する考え方が広く議論されてきています。MQL5においてデジタルフィルタの標準コードを作成しないことは思慮が足りないかもしれません。本稿では、『初心者のためのMQL5におけるカスタムインディケータ』よりシンプルなSMAのインディケータ コードをより複雑で汎用なデジタルフィルタに変換することについて述べます。本稿は前稿からのロジカルな続編です。また、コード内テキストの置き換え方法、プログラムエラーの修正方法についても述べます。
preview
MQL5におけるリソースの使用

MQL5におけるリソースの使用

MQL5プログラムを使うと、ルーチンの演算を自動化するだけでなく、フル機能のグラフィック環境を作ることが可能です。真にインタラクティブなコントロールを作成する機能は、今や、伝統的なプログラミング言語のそれとほとんど同じくらい充実しています。MQL5でフル機能のスタンドアロンプログラムを書くことを望むなら、これらに含まれるリソースを使いましょう。リソースを使ったプログラムは、管理や配布をより簡単に行えます。
マルチ通貨システム エキスパートアドバイザーの作成
マルチ通貨システム エキスパートアドバイザーの作成

マルチ通貨システム エキスパートアドバイザーの作成

この記事は、複数のシンボルをトレードし、同時にいくつものトレーディングシステムを使用するエキスパートアドバイザーのストラクチャーを紹介します。もしすでにすべてのEAにおいて最適な入力パラメーターを特定し、それぞれに対して個別に良いテスト結果を得ているのであれば、もしすべての戦略を合わせて同時に全EAをテストすればどのような結果を得ることができるか、ご自身に尋ねてみてください。
グラフィカルインタフェースX: マルチラインテキストボックス(ビルド8)
グラフィカルインタフェースX: マルチラインテキストボックス(ビルド8)

グラフィカルインタフェースX: マルチラインテキストボックス(ビルド8)

マルチラインテキストボックスについて説明します。OBJ_EDIT型のグラフィカルオブジェクトとは異なり、ここで説明されるバージョンには入力文字数の制限がありません。また、カーソルをマウスまたはキーを使用して移動してテキストボックスをシンプルなテキストエディタに切り替えるモードも追加されています。
DoEasyライブラリの時系列(第36部): すべての使用銘柄期間の時系列オブジェクト
DoEasyライブラリの時系列(第36部): すべての使用銘柄期間の時系列オブジェクト

DoEasyライブラリの時系列(第36部): すべての使用銘柄期間の時系列オブジェクト

本稿では、使用された各銘柄期間のバーオブジェクトのリストを単一の銘柄時系列オブジェクトに結合することを検討します。使用されるすべての銘柄時系列期間のリストを格納するオブジェクトが各銘柄に備わることになります。
MQL5 ウィザード:計算された価格での発注、ストップロスおよびテイクプロフィット設定標準ライブラリ拡張
MQL5 ウィザード:計算された価格での発注、ストップロスおよびテイクプロフィット設定標準ライブラリ拡張

MQL5 ウィザード:計算された価格での発注、ストップロスおよびテイクプロフィット設定標準ライブラリ拡張

本稿は MQL5 標準ライブラリの拡張について説明します。それは MQL5 ウィザードを用いてインクルードされたモジュールから受信する価格によって Expert Advisors を作成し、発注し、ストップロスおよびテイクプロフィットを設定することを可能にするものです。この方法はモジュール数に追加の制限は何も設けず、その連携動作において競合が発生することはありません。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第29部): 未決取引リクエスト - 特定の条件下での注文とポジションの削除と変更
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第29部): 未決取引リクエスト - 特定の条件下での注文とポジションの削除と変更

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第29部): 未決取引リクエスト - 特定の条件下での注文とポジションの削除と変更

本稿では、保留中リクエスト取引の概念の説明を完了し、未決注文を削除する機能と、特定の条件下で注文とポジションを変更する機能を作成します。したがって、シンプルなカスタム戦略、またはユーザ定義の条件でアクティブ化されるEA動作ロジックを開発できるようになります。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第19部): ライブラリメッセージのクラス
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第19部): ライブラリメッセージのクラス

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第19部): ライブラリメッセージのクラス

本稿では、テキストメッセージを表示するクラスについて検討します。現在、異なるテキストメッセージが多数あるので、ロシア語または英語のメッセージを他の言語に保存、表示、翻訳する方法を再調整するときが来ました。さらに、新しい言語をライブラリに追加して言語をすばやく切り替える便利な方法を導入するのが望ましいでしょう。
MQL5でのオブジェクトポインターの使用
MQL5でのオブジェクトポインターの使用

MQL5でのオブジェクトポインターの使用

デフォルトで、MQL5ではすべてのオブジェクトがレファレンスによって渡されますが、オブジェクトポインターを使用する可能性があります。しかし、オブジェクトは初期化されないかもしれないので、ポインター 確認が必要です。 この場合、 MQL5はクリティカルエラーでアップロードされずにプログラムが終了します。自動作成されたオブジェクトはこのようなエラーが発生しないのでその意味で安全です。本記事ではオブジェクトレファレンスとオブジェクトポインターの違いを理解し、ポインターを使うセキュアコードの書き方を考察します。
グラフィカルインタフェース I: コントロールのフォーム(チャプター 2)
グラフィカルインタフェース I: コントロールのフォーム(チャプター 2)

グラフィカルインタフェース I: コントロールのフォーム(チャプター 2)

本稿ではグラフィカルインタフェースの第一及び主要素である、コントロールのフォームを作成します。このフォームには複数のコントロールが任意の場所と組み合わせで添付することができます。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第28部): 指値取引リクエストの決済、削除、変更
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第28部): 指値取引リクエストの決済、削除、変更

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第28部): 指値取引リクエストの決済、削除、変更

これは、保留中リクエストの概念に関する3番目の記事です。ここでは、ポジションの決済、指値注文の削除、ポジションと指値注文パラメータの変更のためのメソッドを作成することにより、指値取引リクエストのテストを完了します。
Net Framework および C# に基づくグラフィカル インターフェイスの開発 (パート 2): その他のグラフィカル要素
Net Framework および C# に基づくグラフィカル インターフェイスの開発 (パート 2): その他のグラフィカル要素

Net Framework および C# に基づくグラフィカル インターフェイスの開発 (パート 2): その他のグラフィカル要素

この記事は、前回の記事".Net Framework と C#に基づいてEAとインジケータのグラフィカルインターフェイスを開発する"のフォローアップです。 グラフィカルインターフェイスを作成するための新しいグラフィカル要素を紹介します。
グラフィカルインタフェース I: フォームボタンとインターフェイス要素削除のための関数(チャプター 4)
グラフィカルインタフェース I: フォームボタンとインターフェイス要素削除のための関数(チャプター 4)

グラフィカルインタフェース I: フォームボタンとインターフェイス要素削除のための関数(チャプター 4)

本稿では、コントロールのクリックによるフォーム管理のメソッドを追加してWindowクラスの開発を続けていこうと思います。フォームのボタンによってのプログラムの終了を有効にするだけでなく、フォームの最小化と最大化機能も実装します。
MQL5での統計確率分布
MQL5での統計確率分布

MQL5での統計確率分布

本稿は、適用統計に使用されるランダム変数の確率分布(標準、対数正規分布、二項分布、ロジスティック分布、指数分布、コーシー分布、ストゥーデンとの t-分布、 ラプラス分布、 ポアソン分布、双曲線正割分布、 ベータ分布、ガンマ分布)について述べます。またこういった分布を処理するクラス特性についても述べます。
標準ライブラリクラスを使ってオリジナルのMarket Watchを作成します。
標準ライブラリクラスを使ってオリジナルのMarket Watchを作成します。

標準ライブラリクラスを使ってオリジナルのMarket Watchを作成します。

新しいMetaTrader 5クライアント端末とMQL5言語はトレーダーにビジュアル情報を提供する機会をもたらします。 本稿では、汎用的拡張可能なクラスセットを提案します。それはチャート上の任意のテキストの表示作成作業をすべて行うものです。 Market Watch インディケータの例を提供します。