MQL4とMQL5のプログラム記事

icon

取引戦略をプログラミングするためのMQL5言語を、ほとんどがコミュニティメンバーによって書かれた数多くの公開記事で学びます。記事は統合、テスター、取引戦略等のカテゴリに分けられていて、プログラミングに関連する疑問への解答を素早く見つけることができます。

新着記事をフォローして、フォーラムでディスカッションしてください。

新しい記事を追加
最新 | ベスト
グラフィカルインターフェイスX:マルチラインテキストボックスでのテキスト選択(ビルド13)
グラフィカルインターフェイスX:マルチラインテキストボックスでのテキスト選択(ビルド13)

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

本稿では、他のテキストエディタと同様に、さまざまなキーの組み合わせによってテキストを選択して選択したテキストを削除する機能を実装します。さらに、引き続きコードを最適化し、ライブラリの進化の第2段階の最終プロセスではすべてのコントロールが別々の画像(キャンバス)としてレンダリングされるため、これに向かってクラスを準備します。
Wolfe波動
Wolfe波動

Wolfe波動

このBill Wolfe氏によって提案された視覚的手法は、市場参入の瞬間と方向を特定するためのパターンを検出することを可能にし、価格目標とその到達時間を予測するのに役立ちます。本稿では、Wolfe波動を検索するジグザグに基づいた指標を作成する方法と、この指標に基づいた簡単なエキスパートアドバイザーで取引する方法について説明します。
人工知能を用いたTDシーケンシャル(トーマス デマークのシーケンシャル)
人工知能を用いたTDシーケンシャル(トーマス デマークのシーケンシャル)

人工知能を用いたTDシーケンシャル(トーマス デマークのシーケンシャル)

本稿では、よく知られている戦略とニューラルネットワークを融合させた成功裡の取引方法を説明します。これは、人工知能システムを用いたトーマス デマークのシーケンシャル戦略に関するもので、「セットアップ」シグナルと「インターセクション」シグナルを使用して、戦略の最初の部分のみが適用されます。
銘柄とEAのORDER_MAGICによるバランス/エクイティチャートの分析
銘柄とEAのORDER_MAGICによるバランス/エクイティチャートの分析

銘柄とEAのORDER_MAGICによるバランス/エクイティチャートの分析

MetaTrader 5のヘッジ導入は、複数のエキスパートアドバイザーを1つの取引口座で同時に取引する絶好の機会を提供します。1つの戦略が利益を上げ、2番目の戦略が損失を生み出している場合、利益チャートはゼロに近い値を表示するかもしれません。この場合、各取引戦略のバランスチャートとエクイティチャートを別々に作成することが便利です。
クロスプラットフォームEA: シグナル
クロスプラットフォームEA: シグナル

クロスプラットフォームEA: シグナル

この記事では、クロスプラットフォームEAで使用される CSignal および CSignals クラスについて解説します。 MQL4 と MQL5 の違いについて、トレードシグナルの評価に必要なデータがどのようにアクセスされるかを調べ、記述されたコードが両方のコンパイラと互換性があることを確認します。
MQL5クックブック - スライディングウィンドウ内指標の高速計算のためのリングバッファの作成
MQL5クックブック - スライディングウィンドウ内指標の高速計算のためのリングバッファの作成

MQL5クックブック - スライディングウィンドウ内指標の高速計算のためのリングバッファの作成

リングバッファは、スライディングウィンドウで計算を実行するときにデータを配置するのに最も簡単で効率的な方法です。本稿では、そのアルゴリズムを説明し、同アルゴリズムが如何にスライディングウィンドウでの計算を単純化して効率を向上させるかを示します。
クロスプラットフォームEA: オーダーマネージャ
クロスプラットフォームEA: オーダーマネージャ

クロスプラットフォームEA: オーダーマネージャ

この記事では、クロスプラットフォームEAのオーダーマネージャの作成について説明します。 オーダーマネージャは、EAによってエントリーされたオーダーと決済、および両方で独立した記録を保持します。
ドンチャンチャネルを使った取引
ドンチャンチャネルを使った取引

ドンチャンチャネルを使った取引

本稿では、さまざまなフィルタを使用してドンチャンチャネルに基づいているいくつかの戦略を開発してテストします。それらの操作の比較分析も実行します。
10のトレンド戦略による比較分析
10のトレンド戦略による比較分析

10のトレンド戦略による比較分析

この記事では、10のトレンドのテスト結果と比較分析の概要を説明します。 得られた結果に基づいて、トレンドの妥当性、メリット、デメリットについて一般的な結論を導きます。
トレンドの長さは?
トレンドの長さは?

トレンドの長さは?

本稿では、フラット(不活発な市場)に対したトレンドの期間を特定することを目的としたいくつかのトレンド識別法を紹介します。理論的には、トレンドとフラットの比率は30〜70%と考えられます。これを確認していきます。
MQL5 クックブック-ピボットトレーディングシグナル
MQL5 クックブック-ピボットトレーディングシグナル

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

この記事では、ピボットの反転に基づいたシグナルのクラスの開発と実装について説明します。 このクラスは、標準ライブラリを適用する戦略を形成するために使用されます。 フィルタを追加することにより、ピボット戦略を改善することができるでしょう。
MetaTrader 4でMQL5ウィザードの既製エキスパートアドバイザーが機能
MetaTrader 4でMQL5ウィザードの既製エキスパートアドバイザーが機能

MetaTrader 4でMQL5ウィザードの既製エキスパートアドバイザーが機能

本稿ではMetaTrader 4のためのMetaTrader 5取引環境の簡単なエミュレータについてお話しします。このエミュレータは標準ライブラリの取引クラスの移行と調整を実装するものです。その結果、MetaTrader 5ウィザードで生成されたエキスパートアドバイザーは、そのままMetaTrader 4でコンパイルして実行することができます。
グラフィカルインタフェースX: マルチラインテキストボックス内のワードラップアルゴリズム(ビルド12)
グラフィカルインタフェースX: マルチラインテキストボックス内のワードラップアルゴリズム(ビルド12)

グラフィカルインタフェースX: マルチラインテキストボックス内のワードラップアルゴリズム(ビルド12)

マルチラインテキストボックスの開発を続けましょう。今回の課題は、テキストがボックス幅を超えた場合には自動的にワードラップを行い、機会が生じた場合にはワードラップを取り消してテキストを前行に収めることです。
グラフィカルインターフェイスを使用したユニバーサルトレンド
グラフィカルインターフェイスを使用したユニバーサルトレンド

グラフィカルインターフェイスを使用したユニバーサルトレンド

この記事では、普遍的なトレンドインジケーターを、標準のインジケーターの数に基づいて作成します。 さらに作成されたグラフィカルインターフェイスは、インジケーターの種類を選択し、そのパラメータを調整することができます。 インジケーターは、色付きのアイコンのラインを持つ別のウィンドウに表示されます。
グラフィカルインターフェイスX:ソート、テーブル再構築とセル内のコントロール(ビルド11)
グラフィカルインターフェイスX:ソート、テーブル再構築とセル内のコントロール(ビルド11)

グラフィカルインターフェイスX:ソート、テーブル再構築とセル内のコントロール(ビルド11)

レンダーテーブルにデータソート、列と行の数の管理、コントロールを配置するためのテーブルのセルタイプの設定といった新しい機能を追加し続けます。
グラフィカルインターフェイスX:レンダーテーブルの更新とコード最適化(ビルド10)
グラフィカルインターフェイスX:レンダーテーブルの更新とコード最適化(ビルド10)

グラフィカルインターフェイスX:レンダーテーブルの更新とコード最適化(ビルド10)

レンダーテーブル(CCanvasTable)に新しい機能を補完していきます。テーブルには、ホバー時の列の強調表示;、各セルにアイコンの配列を追加する機能とそれらを切り替えるメソッド、 実行時にセルテキストを設定または変更する機能などが含まれます。
通貨バスケットをトレードするときに利用可能なパターン。 パート2
通貨バスケットをトレードするときに利用可能なパターン。 パート2

通貨バスケットをトレードするときに利用可能なパターン。 パート2

通貨バスケットのパターンの議論を続けてきました。 このパートでは、複合トレンドインジケーターを用いた場合に形成されるパターンについて考察します。 通貨インデックスに基づくインジケーターは、分析ツールとして使用されます。
グラフィカルインタフェースX:レンダーテーブルの新機能(ビルド9)
グラフィカルインタフェースX:レンダーテーブルの新機能(ビルド9)

グラフィカルインタフェースX:レンダーテーブルの新機能(ビルド9)

今日までは、ライブラリの最も高度なテーブルはCTableでした。このテーブルは、OBJ_EDIT型のエディットボックスから組み立てられており、さらなる開発は難しいです。したがって、機能の最大化においては、ライブラリ開発の現段階を考慮しても、CCanvasTable型のレンダーテーブルを開発する方が賢明です。その現バージョンはまったく使えない状態ですが、この記事から始めて状況を改善していきましょう。
グラフィカルインタフェースを備えたユニバーサルチャンネル
グラフィカルインタフェースを備えたユニバーサルチャンネル

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

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

ハースト指数の計算

ハースト指数とその計算アルゴリズムの背後にある考え方について紹介します。 金融相場セグメントの数を分析し、MT5でフラクタル解析をする方法を説明します。
preview
可視化の可能性 Rのプロットに似たMQL5のグラフィックス ライブラリ

可視化の可能性 Rのプロットに似たMQL5のグラフィックス ライブラリ

トレードロジックを勉強する際、チャートの視覚的な表現は非常に重要です。科学分野で人気のある数々のプログラミング言語 (R や Python など) は可視化のための関数”プロット”があります。これらは視覚化するために、線、点の分布、ヒストグラムなどを描くことができます。MQL5でも、CGraphics クラスを使用して、同じことができます。
グラフィカルインタフェースX: マルチラインテキストボックス(ビルド8)
グラフィカルインタフェースX: マルチラインテキストボックス(ビルド8)

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

マルチラインテキストボックスについて説明します。OBJ_EDIT型のグラフィカルオブジェクトとは異なり、ここで説明されるバージョンには入力文字数の制限がありません。また、カーソルをマウスまたはキーを使用して移動してテキストボックスをシンプルなテキストエディタに切り替えるモードも追加されています。
ZUP - ペサベントパターンの不可逆なジグザグ。グラフィカルインターフェイス
ZUP - ペサベントパターンの不可逆なジグザグ。グラフィカルインターフェイス

ZUP - ペサベントパターンの不可逆なジグザグ。グラフィカルインターフェイス

ZUP プラットフォームの最初のバージョンのリリース後、10年に渡り、複数の変更と改善がありました。その結果、現在は迅速なMT4のグラフィカルアドオンがあり、相場データの分析が便利になりました。今回は、ZUPインジケータープラットフォームのグラフィカルインターフェイスを使用するメソッドについて説明します。
MQL5で3Dモデリング
MQL5で3Dモデリング

MQL5で3Dモデリング

時系列は、動的なシステムであり、確率変数の値が継続的または連続に等間隔で受信されます。市場分析の2Dから3Dへの移行は、複雑なプロセスと研究オブジェクトにおいて、新たな展望を与えます。この記事では、2次元データの3D表現をする可視化手法について説明します。3Dモデリングは、複雑なプロセスや現象を分析し、その結果を予測できます。
グラフィカルインタフェースX:リストとテーブルの高度な管理コードの最適化(ビルド7)
グラフィカルインタフェースX:リストとテーブルの高度な管理コードの最適化(ビルド7)

グラフィカルインタフェースX:リストとテーブルの高度な管理コードの最適化(ビルド7)

ライブラリコードの最適化が必要です。それは、より規則正しく、学習のために読みやすく理解しやすくなければありません。さらに、以前に作成したコントロール(リスト、テーブル、スクロールバー)の開発が続きます。
指定した価格変動に基づく極値点の自動検出
指定した価格変動に基づく極値点の自動検出

指定した価格変動に基づく極値点の自動検出

グラフィカルパターンを使った自動トレード戦略には、極値を検索する機能が必要です。既存のツールは、必ずしもこのような機能がありません。この記事で説明されているアルゴリズムは、チャート上のすべての極値を検出できます。ここで説明するツールは、トレンドやレンジに効率的です。得られた結果は選択した期間によって強く影響を受けず、指定したスケールでのみ定義されています。
ウェブサイトにMetaTrader 4/5 ウェブターミナルを無料で埋め込んで利益を得ましょう
ウェブサイトにMetaTrader 4/5 ウェブターミナルを無料で埋め込んで利益を得ましょう

ウェブサイトにMetaTrader 4/5 ウェブターミナルを無料で埋め込んで利益を得ましょう

ブラウザから直接金融市場取引ができるウェブターミナルはトレーダーによく知られています。お客様のウェブサイトにウェブターミナルウィジェットを追加なさってください。これは完全に無償です。ご自分のウェブサイトでブローカーを照会して利益を得ることができます。このためにすぐに使えるWebベースのソリューションを用意させていただきました。お客様がなさるのはウェブサイトにiframeを1つ埋め込むことだけです。
モスクワ為替先物のスプレッド戦略の開発例
モスクワ為替先物のスプレッド戦略の開発例

モスクワ為替先物のスプレッド戦略の開発例

MT5 プラットフォームでは、同時に複数の金融商品のトレードロボットをテストすることができます。組み込みのストラテジーテスターは、自動的にヒストリーデータをブローカーのサーバーからダウンロードします。そのため、開発者は特別手動で何かをする必要はありません。シンプルかつ確実に異なるシンボルのミリ秒単位のティックによるトレード環境を再現することが可能です。この記事では、2つのモスクワ為替先物においてスプレッドストラテジーをテストと開発を行います。
グラフィカルインタフェースX: Timeコントロール、チェックボックスコントロールのリストとテーブルのソート(ビルド6)
グラフィカルインタフェースX: Timeコントロール、チェックボックスコントロールのリストとテーブルのソート(ビルド6)

グラフィカルインタフェースX: Timeコントロール、チェックボックスコントロールのリストとテーブルのソート(ビルド6)

グラフィカルインタフェースを作成するためのライブラリの開発が続きます。今回は、チェックボックスコントロールのリストとTimeが対象となります。さらに、CTableクラスではデータを昇順または降順に並べ替えることができるようになりました。
取引通貨バスケットでの利用可能なパターン
取引通貨バスケットでの利用可能なパターン

取引通貨バスケットでの利用可能なパターン

前の記事に則って、トレーダーが認識可能なパターンについて分析を試みます。また、各パターンの利点、欠点を考慮し、それに関する推奨事項を示します。ウィリアムズのオシレータに基づいたインジケーターを分析ツールとして使用します。
インジケータのバッファや配列を使わずにヒストグラムを形成する統計分布
インジケータのバッファや配列を使わずにヒストグラムを形成する統計分布

インジケータのバッファや配列を使わずにヒストグラムを形成する統計分布

この記事では、グラフィックメモリの助けを借りて、相場の統計的分布ヒストグラムをプロットする可能性について説明します。サンプルのヒストグラムと mql5のグラフィカルオブジェクトの「非表示」関数があります。
MT4のストラテジーテスターでバイナリーオプションを行う方法
MT4のストラテジーテスターでバイナリーオプションを行う方法

MT4のストラテジーテスターでバイナリーオプションを行う方法

バイナリーオプションストラテジーを構築し、MT4のストラテジーテスターで検証する方法をご紹介します。
GUIによる汎用的なオシレーター
GUIによる汎用的なオシレーター

GUIによる汎用的なオシレーター

この記事では、独自のグラフィカルインターフェイスを使用して、よくあるオシレーターに基づく汎用的なインジケータの作成プロセスについて説明します。GUIは、ユーザーが迅速かつ容易に、グラフ ・ ウィンドウから (開くことがなくそのプロパティ)、各オシレーターの設定を直接変更するとでき、特定のタスクに最適なオプションを選択することができます。
グラフィカルインタフェースX: テキストエディットボックス、ピクチャスライダー、及びシンプルなコントロール(ビルド5)
グラフィカルインタフェースX: テキストエディットボックス、ピクチャスライダー、及びシンプルなコントロール(ビルド5)

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

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

不変なジグザグ

ジグザグは、MT5のユーザーの間で人気の高いインジケーターです。この記事では、ジグザグのさまざまなパターンを作成する可能性について分析します。この結果はEAの開発に有用であるばかりでなく、その関数を拡張する不変なインジケーターとなりえます。
トレーダーのライフハック: テストの比較レポート
トレーダーのライフハック: テストの比較レポート

トレーダーのライフハック: テストの比較レポート

この記事では、EAを4 つの異なるトレードでテストします。4つのテストにおけるレポートの最終的な比較は、オンラインストアでの商品のような表にします。追加として、各シンボルの分布図が自動的に作成されます。
80-20 トレード戦略
80-20 トレード戦略

80-20 トレード戦略

この記事では、80-20 トレード戦略を分析するためツール (インジケーターおよびEA) の開発について説明します。トレードルールは"ストリートスマート"より引用します。リンダラッシュクとローレンス · コナーズによる"短期的なトレード戦略”です。mql5を使用して、戦略ルールを定式化し、最近の相場のヒストリーベースで、インディケータとEAをテストします。
「タートルスープ」トレードシステムと ' タートル スープ プラス一 '
「タートルスープ」トレードシステムと ' タートル スープ プラス一 '

「タートルスープ」トレードシステムと ' タートル スープ プラス一 '

この記事では、2つのトレードシステム「タートルスープ」と「タートル スープ プラスワン'のルールについて扱います。リンダ ・ ブラッドフォード ・ ラシュキ と ローレンス a. コナーズによる 高確率短期のトレード戦略です。この戦略は、かなり人気があります。15~20年間の相場の動きに基づいてを開発したものです。
MQL5をプログラミングの基礎: ターミナルのグローバル変数
MQL5をプログラミングの基礎: ターミナルのグローバル変数

MQL5をプログラミングの基礎: ターミナルのグローバル変数

ターミナルのグローバル変数は、高度で信頼性の高いEAを開発するために欠かせないツールです。グローバル変数なしで MQL5で EA の開発をすることは想像を絶します。
グラフィカルインタフェースX: 標準チャートコントロール(ビルド4)
グラフィカルインタフェースX: 標準チャートコントロール(ビルド4)

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

今回は、標準のチャートコントロールについて考えていきます。これによって水平スクロールを同期させる機能を持つサブチャートの配列の作成が可能になります。また、引き続き、ライブラリのコードを最適化してCPU負荷を軽減します。