MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加
最新 | ベスト
MQLプログラムをグラフィカルに表示するためのマークアップツールとしてのMQL(その3)。 フォームデザイナー
MQLプログラムをグラフィカルに表示するためのマークアップツールとしてのMQL(その3)。 フォームデザイナー

MQLプログラムをグラフィカルに表示するためのマークアップツールとしてのMQL(その3)。 フォームデザイナー

本論文では、MQLの構造を利用してMQLプログラムのウィンドウインタフェースを構築する概念の説明をします。 特殊なグラフィカル・エディタでは、GUI要素の基本クラスで構成されるレイアウトをインタラクティブに設定し、MQLにエクスポートしてMQLプロジェクトで使用することができます。 本論文では、エディタの内部設計とユーザーガイドを紹介します。 ソースコードも添付します。
preview
PythonやRの知識が不要なYandexのCatBoost機械学習アルゴリズム

PythonやRの知識が不要なYandexのCatBoost機械学習アルゴリズム

この記事では、具体的な例を用いて、機械学習プロセスのコードと主要な段階の説明をします。 このモデルを取得するためには、PythonやRの知識は必要ありません。 さらに、MQL5の基本的な知識があれば十分です - まさに私のレベルです。 したがって、この記事が、機械学習の評価やプログラムへの実装に興味のある人たちの手助けとなり、幅広い人たちの良いチュートリアルとなることを期待しています。
マルチタイムフレームとマルチ通貨パネルの作成
マルチタイムフレームとマルチ通貨パネルの作成

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

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

異なる国での異なるタイムゾーンに基づくトレーディング戦略例

インターネット検索をしていると、多くの戦略を見つけるのはたやすいことです。そこから多様な提案を得ることができます。インサイダーの方法を採り入れ、異なる大陸の異なるタイムゾーンに基づく戦略作成の手順を見ていきます。
時系列の主要特性分析
時系列の主要特性分析

時系列の主要特性分析

本稿ではさまざまな時系列特性を予めすばやく判断するために設計されるクラスを紹介します。これを行うにあたり、統計的パラメータと自己相関関数を決め、時系列のスペクトル推定を実行し、ヒストグラムを作成します。
直線回帰例によるインディケータスピードアップの3手法
直線回帰例によるインディケータスピードアップの3手法

直線回帰例によるインディケータスピードアップの3手法

本稿では、インディケータメソッドの計算アルゴリズムの最適化を取り上げます。みなさんはご自身のニーズにもっとも合うメソッドをお探しのことと思います。本稿では3種類の手法について述べます。その一つはきわめて簡単なものです。次のひとつはしっかりした数学の知識が必要です。そして最後のひとつには多少のウィットが必要です。はここで述べられる手法のほとんどを理解するのにインディケータまたはMetaTrader5 ターミナルのデザイン的特性を利用します。その手法はかなり汎用的で直線回帰計算だけでなくその他のインディケータに対しても使用可能です。
MQL5でのオブジェクトポインターの使用
MQL5でのオブジェクトポインターの使用

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

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

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

この記事は、前回の記事".Net Framework と C#に基づいてEAとインジケータのグラフィカルインターフェイスを開発する"のフォローアップです。 グラフィカルインターフェイスを作成するための新しいグラフィカル要素を紹介します。
preview
ATRによる取引システムの設計方法を学ぶ

ATRによる取引システムの設計方法を学ぶ

簡単な取引システムの設計方法を学ぶ連載の続編として、取引に使用できる新しいテクニカルツールを学びます。今回は、もう1つの人気あるテクニカル指標であるATR(Average True Range、アベレージトゥルーレンジ)です。
エキスパートアドバイザやインディケータ、スクリプトの入力パラメータを保存する為のテキストファイル
エキスパートアドバイザやインディケータ、スクリプトの入力パラメータを保存する為のテキストファイル

エキスパートアドバイザやインディケータ、スクリプトの入力パラメータを保存する為のテキストファイル

この記事では、エキスパートアドバイザやインディケータ、スクリプトのテキストファイル内のプロパティとしての動的オブジェクトや配列、その他の変数の保存について説明します。MQL言語で提供される標準的なツールへの機能の追加に役立ちます。
preview
初級から中級まで:インジケーター(II)

初級から中級まで:インジケーター(II)

本記事では、移動平均の計算をどのように実装するか、またその計算をおこなう際にどのような点に注意すべきかを確認します。さらに、OnCalculate関数のオーバーロードについても取り上げ、どのバージョンをいつ、どのように扱うべきかを理解していきます。
高度適応インディケータ理論および MQL5への実装
高度適応インディケータ理論および MQL5への実装

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

本稿は高度適応インディケータとその MQL5への実装について述べます。適応型サイバーサイクル、適応型重心、適応型RVIです。すべてのインディケータはJohn F. Ehlersの原著 "Cybernetic Analysis for Stocks and Futures" で紹介されていました。
ユニットテストの助けを借りたコードのクオリティー向上
ユニットテストの助けを借りたコードのクオリティー向上

ユニットテストの助けを借りたコードのクオリティー向上

シンプルなプログラムにさえ信じられないようなエラーがよくあるものです。「どうしてそんなふうになったんだろう?」というのが、そのようなエラーが明らかになったとき最初に思うことです「どうしたらエラーを出さずにすむのだろう?」というのは、あまり頻繁に心に浮かばない第2の問いです。完璧に欠点のないコードを作成するのは不可能です。特に大規模なプロジェクトでは。ですが、ちょうどよいタイミングでエラーを検出するために技術を利用できるものです。本稿では、一般的なユニットテスト方法の助けを借りてコードのクオリティーを向上する方法を説明します。
preview
自動で動くEAを作る(第04回):手動トリガー(I)

自動で動くEAを作る(第04回):手動トリガー(I)

今日は、自動モードでシンプルかつ安全に動作するエキスパートアドバイザー(EA)を作成する方法を紹介します。
ディープニューラルネットワーク(その7)ニューラルネットワークのアンサンブル: スタッキング
ディープニューラルネットワーク(その7)ニューラルネットワークのアンサンブル: スタッキング

ディープニューラルネットワーク(その7)ニューラルネットワークのアンサンブル: スタッキング

アンサンブルの構築を続けます。今回は、以前に作成したバギングアンサンブルに、訓練可能な結合器、つまりディープニューラルネットワークが追加されます。ニューラルネットワークの1つは、刈り込み後に7つの最良アンサンブル出力を組み合わせます。2つ目はアンサンブルの500個の出力をすべて入力として取り込み、刈り込んで結合します。ニューラルネットワークは、Python用のKeras/TensorFlowパッケージを使用して構築されます。このパッケージの特徴には簡単に触れます。テストが実行されて、バギングアンサンブルとスタッキングアンサンブルの分類品質が比較されます。
Canvasクラスを使用したカスタム指標の開発
Canvasクラスを使用したカスタム指標の開発

Canvasクラスを使用したカスタム指標の開発

本稿では、Canvasクラスのグラフィカルプリミティブを使用してカスタムグラフィカル指標を開発する方法について説明します。
MetaEditor:支点としてのテンプレート
MetaEditor:支点としてのテンプレート

MetaEditor:支点としてのテンプレート

読者の多くにとって EA を書く準備はすべて一度だけすると、それを継続的に利用できるというのは初耳でしょう。
ユニバーサルEA:シグナルの標準メタトレーダーモジュールとの統合(その7)
ユニバーサルEA:シグナルの標準メタトレーダーモジュールとの統合(その7)

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

このパートでは、シグナルモジュールとCStrategyエンジンの統合の可能性が、メタトレーダーの標準ライブラリにあることについて記述します。この記事では、カスタム戦略を作成するメソッドと同様に、シグナルの操作メソッドについて説明します。
銘柄とEAのORDER_MAGICによるバランス/エクイティチャートの分析
銘柄とEAのORDER_MAGICによるバランス/エクイティチャートの分析

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

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

クロスプラットフォーム グリッドEAの開発(最終パート):収益性を高める方法と多様化

このシリーズのこれまでの記事では、多かれ少なかれ収益性の高いグリッドEAを作成するためのさまざまな方法を試しました。 今回は多様化を通じてEAの収益性を高めます。 究極の目標は、最大20% 以下のドローダウンで年間100%の利益を達成することです。
初心者のためのMQL5におけるデジタルフィルタの実践的実装
初心者のためのMQL5におけるデジタルフィルタの実践的実装

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

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

ニューラルネットワークFANN2MQL のチュートリアル

本稿は、FANN2MQL によるニューラルネットワークの使用方法を簡単な例を用いて説明するために書かれました。
preview
MetaTrader 5のWebSocket — WindowsAPIの使用

MetaTrader 5のWebSocket — WindowsAPIの使用

この記事では、WinHttp.dllを使用してMetaTrader 5プログラム用のWebSocketクライアントを作成します。クライアントは最終的にクラスとして実装され、Binary.com WebSocketAPIに対してもテストされます。
MQL5 クックブック-ピボットトレーディングシグナル
MQL5 クックブック-ピボットトレーディングシグナル

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

この記事では、ピボットの反転に基づいたシグナルのクラスの開発と実装について説明します。 このクラスは、標準ライブラリを適用する戦略を形成するために使用されます。 フィルタを追加することにより、ピボット戦略を改善することができるでしょう。
バランスグラフを使用した戦略の最適化と、結果の「バランス+最大シャープレシオ」基準との比較
バランスグラフを使用した戦略の最適化と、結果の「バランス+最大シャープレシオ」基準との比較

バランスグラフを使用した戦略の最適化と、結果の「バランス+最大シャープレシオ」基準との比較

本稿では、バランスグラフ分析に基づいたカスタム取引戦略最適化基準をさらにもう1つ考察します。線形回帰は、ALGLIBライブラリの関数を使用して計算されます。
MQL5でのZIPアーカイブの扱い
MQL5でのZIPアーカイブの扱い

MQL5でのZIPアーカイブの扱い

MQL5は常に進化しています。この度新しい機能が追加されました。この革新により、DLLなしでZIPアーカイブを標準MQL5ツールで実行できるようになりました。この記事ではCZipクラスの使い方と、ZIPアーカイブの読み込み・生成・修正を例として扱います。
グラフィカルインタフェースX: Easy And Fast (簡単で手早い)ライブラリの更新(ビルド3)
グラフィカルインタフェースX: Easy And Fast (簡単で手早い)ライブラリの更新(ビルド3)

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

本稿では、Easy And Fast ライブラリの次のバージョン(バージョン3)を紹介します。特定の欠陥を修正して、新しい機能を追加しました。詳細は本稿で後ほどお話しします。
クイック手動取引ツールキット: ポジションと指値注文の使用
クイック手動取引ツールキット: ポジションと指値注文の使用

クイック手動取引ツールキット: ポジションと指値注文の使用

本稿では、ツールキットの機能を拡張します。特定の条件で取引ポジションを決済する機能を追加し、これらの注文を編集する機能を備えた、成行注文と指値注文を制御するための表を作成します。
適応型相場の実用的評価法
適応型相場の実用的評価法

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

この記事で提案するトレーディングシステムは、株価を分析するための数学的ツールです。 ディジタルフィルタリングと離散時系列のスペクトル推定を適用します。 戦略の理論的側面について説明し、テストEAを作成します。
通貨バスケットをトレードするときに利用可能なパターン。 パート III
通貨バスケットをトレードするときに利用可能なパターン。 パート III

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

通貨ペアバスケットをトレードするときに発生するパターンに特化した最後の記事です。 複合トレンドフォローインジケーターと標準グラフィカル構造のアプリケーションを考察します.
ビンスによる資金管理 MQL5 ウィザードのモジュールとしての実装
ビンスによる資金管理 MQL5 ウィザードのモジュールとしての実装

ビンスによる資金管理 MQL5 ウィザードのモジュールとしての実装

この記事は、ラルフ·ビンスによる "The Mathematics of Money Management" に基づいています。 トレードロットの最適なサイズを見つけるために使用される経験的およびパラメトリックメソッドの説明をします。 また、それらのメソッドに基づいて MQL5 ウィザードのトレーディングモジュールの実装を行います。
950のウェブサイトがメタクオーツの経済指標カレンダーをブロードキャスト
950のウェブサイトがメタクオーツの経済指標カレンダーをブロードキャスト

950のウェブサイトがメタクオーツの経済指標カレンダーをブロードキャスト

このウィジェットによって、ウェブサイトには世界最大経済の500の指標と指数の詳細なリリーススケジュールが提供され、トレーダーは、ウェブサイトのメインコンテンツに加えて、説明やグラフとともに、重要なイベントの最新情報をすばやく受け取ることができます。
トレードシグナルを購読選択する場合のチップステップバイステップガイド
トレードシグナルを購読選択する場合のチップステップバイステップガイド

トレードシグナルを購読選択する場合のチップステップバイステップガイド

このガイドは、シグナルサービス・トレードシグナルのテスト・要求されたシグナルを調べるアプローチシステムのためのものであり、潜在性・リスク・トレード意図・様々な口座タイプや金融ツールで稼働するという基準を満たします。
preview
アクセラレーターオシレーター(Accelerator Oscillator)による取引システムの設計方法を学ぶ

アクセラレーターオシレーター(Accelerator Oscillator)による取引システムの設計方法を学ぶ

最も人気のあるテクニカル指標によって取引システムを設計する方法についての連載の新しい記事へようこそ。今回は、新しい指標であるアクセラレーターオシレーター(Accelerator Oscillator、AC)について学び、それを使った取引システムを設計する方法を学びます。
グラフィカルインタフェースX: 標準チャートコントロール(ビルド4)
グラフィカルインタフェースX: 標準チャートコントロール(ビルド4)

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

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

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

マルチラインテキストボックスについて説明します。OBJ_EDIT型のグラフィカルオブジェクトとは異なり、ここで説明されるバージョンには入力文字数の制限がありません。また、カーソルをマウスまたはキーを使用して移動してテキストボックスをシンプルなテキストエディタに切り替えるモードも追加されています。
MQL5 ウィザード:計算された価格での発注、ストップロスおよびテイクプロフィット設定標準ライブラリ拡張
MQL5 ウィザード:計算された価格での発注、ストップロスおよびテイクプロフィット設定標準ライブラリ拡張

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

本稿は MQL5 標準ライブラリの拡張について説明します。それは MQL5 ウィザードを用いてインクルードされたモジュールから受信する価格によって Expert Advisors を作成し、発注し、ストップロスおよびテイクプロフィットを設定することを可能にするものです。この方法はモジュール数に追加の制限は何も設けず、その連携動作において競合が発生することはありません。
グラフィカルインタフェース I: コントロールのフォーム(チャプター 2)
グラフィカルインタフェース I: コントロールのフォーム(チャプター 2)

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

本稿ではグラフィカルインタフェースの第一及び主要素である、コントロールのフォームを作成します。このフォームには複数のコントロールが任意の場所と組み合わせで添付することができます。
CGraphic ライブラリを使用したスキャルピング相場深度の実装
CGraphic ライブラリを使用したスキャルピング相場深度の実装

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

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

MQL5ソースコードに基づくドキュメントの作成

本稿では、必要なタグの自動マークアップから始まるMQL5コードのドキュメントの作成について考察し、Doxygenソフトウェアの使い方と正しい設定の仕方、html、HtmlHelp、PDFなどのさまざまな形式で結果を受け取る方法についても説明します。