MQL5プログラミング記事

icon

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

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

新しい記事を追加
最新 | ベスト
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型のグラフィカルオブジェクトとは異なり、ここで説明されるバージョンには入力文字数の制限がありません。また、カーソルをマウスまたはキーを使用して移動してテキストボックスをシンプルなテキストエディタに切り替えるモードも追加されています。
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のグラフィカルオブジェクトの「非表示」関数があります。
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負荷を軽減します。
MQL5 プログラミングの基礎: ファイル
MQL5 プログラミングの基礎: ファイル

MQL5 プログラミングの基礎: ファイル

この実践向きの記事は、MQL5 内のファイルの操作に焦点を当てています。基本を把握し、スキルを磨くことができるシンプルなタスクを提供しています。
グラフィカルインタフェースX: Easy And Fast (簡単で手早い)ライブラリの更新(ビルド3)
グラフィカルインタフェースX: Easy And Fast (簡単で手早い)ライブラリの更新(ビルド3)

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

本稿では、Easy And Fast ライブラリの次のバージョン(バージョン3)を紹介します。特定の欠陥を修正して、新しい機能を追加しました。詳細は本稿で後ほどお話しします。
ニューラル ネットワーク: EAの自己最適化
ニューラル ネットワーク: EAの自己最適化

ニューラル ネットワーク: EAの自己最適化

ポジションを最適化し、コードのコマンドに従って定期的に条件を終了するEAを開発します。ニューラル ネットワーク (多層パーセプトロン) を分析し、戦略を実現するためのモジュールの形式で実装します。毎月 (毎週、毎日、または毎時) ニューラル ネットワークを最適化する EAを作成します。したがって、自己最適化 EA を開発します。
preview
Rを使って高速化したMQL5の統計分布

Rを使って高速化したMQL5の統計分布

Rで実装されている基本的な統計分布を操作するための関数を紹介します。コーシー、ワイブル、正規、対数正規、ロジスティック、指数、均一、ガンマ分布、カイ 2 乗、中央と非心 beta スチューデントの t 分布、F 分布フィッシャーの離散二項および否定的な二項分布、幾何学、幾何とポアソン分布。これらのモデルに実際の分布の適合性の程度を評価できるように、分布の理論的モーメントを計算する関数があります。
シグナルのクイック評価:トレーディング、ドローダウン/ロードとMFE/ MAE配信チャート
シグナルのクイック評価:トレーディング、ドローダウン/ロードとMFE/ MAE配信チャート

シグナルのクイック評価:トレーディング、ドローダウン/ロードとMFE/ MAE配信チャート

購読者は、多くの場合、シグナルプロバイダーのアカウントの総成長を分析することによって、適切なシグナルを検索します。しかし、特定のトレード戦略の潜在的なリスクを分析することも重要です。この記事では、その性能に基づいてトレードシグナルを評価するための簡単かつ効率的な方法を紹介します。
トレーダーライフハック:"静かな"最適化とプロットトレード分布
トレーダーライフハック:"静かな"最適化とプロットトレード分布

トレーダーライフハック:"静かな"最適化とプロットトレード分布

トレードのヒストリーの分析とポジションエントリーの時間に応じて、HTMLでトレード結果の分布図をプロットします。このチャートは、次の3つのセクションで表示されています - 時間、曜日及び月。
クロスプラットフォームEA:オーダー
クロスプラットフォームEA:オーダー

クロスプラットフォームEA:オーダー

MT4とMT5は、トレードリクエストで異なるルールを使用しています。この記事では、トレードプラットフォームとバージョンにかかわらず、クロスプラットフォームEAとして稼働する、クラスオブジェクトを使用します。
MT5で取引戦略を迅速に開発しデバッグする方法
MT5で取引戦略を迅速に開発しデバッグする方法

MT5で取引戦略を迅速に開発しデバッグする方法

スキャルピング自動システムはアルゴリズム取引の頂点にみなされていますが、コードを書くのは最も困難です。この記事では、受信ティックの分析に基づいて、戦略を構築するメソッドを示し、ビルトインツールとビジュアルテストをデバッグします。エントリーと決済の開発は、多くの場合、裁量取引の経験を必要とします。しかし、MT5ではヒストリー上で戦略をテストすることができます。
MQL5クックブック - 移動チャンネルのシグナルトレーディング
MQL5クックブック - 移動チャンネルのシグナルトレーディング

MQL5クックブック - 移動チャンネルのシグナルトレーディング

この記事では、移動チャネルに基づいたシグナルを送信するクラスを実装するプロセスについて説明します。各々は、テスト結果を取引戦略が引き続きます。標準ライブラリのクラスは派生クラスを作成するために使用します。
クロスプラットフォームEA:MQL5標準ライブラリからコンポーネントの再利用
クロスプラットフォームEA:MQL5標準ライブラリからコンポーネントの再利用

クロスプラットフォームEA:MQL5標準ライブラリからコンポーネントの再利用

クロスプラットフォームEAはMQL4に有用であり、MQL5標準ライブラリ内に一部コンポーネントが存在します。 この記事では、MQL4コンパイラと互換性のあるMQL5標準ライブラリの特定コンポーネントを作るメソッドを取り扱います。