MQL5プログラミング記事

icon

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

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

新しい記事を追加
最新 | ベスト
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第24部): 未決取引リクエストの使用 - リクエストオブジェクトクラス
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第24部): 未決取引リクエストの使用 - リクエストオブジェクトクラス

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第24部): 未決取引リクエストの使用 - リクエストオブジェクトクラス

前の記事では、保留中取引リクエストの概念を確認しました。保留中リクエストは、実際には、特定の条件によって実行される一般的な取引注文です。本稿では、保留中リクエストオブジェクトの完全なクラス(基本リクエストオブジェクトとその子孫)を作成します。
トレーダーのハック: 定義と ForEach のブレンド (#define)
トレーダーのハック: 定義と ForEach のブレンド (#define)

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

この記事は、現在MQL4でコーディングしていて、MQL5に切り替えたいとは思っていない人のためのものです。 今回はMQL4のスタイルでコードを書く方法を模索していきます。 #define プリプロセッサのマクロ置換を見ていきます。
ローソク足分析技術の研究(第2部): 新規パターンの自動検索
ローソク足分析技術の研究(第2部): 新規パターンの自動検索

ローソク足分析技術の研究(第2部): 新規パターンの自動検索

前回の記事では、さまざまな既存のローソク足の形成から選択された14のパターンを分析しました。すべてのパターンを1つずつ分析することは不可能であるため、別の解決策を見つけました。新しいシステムは、既知のローソク足タイプに基づいて新しいローソク足パターンを検索してテストします。
トレーダーのライフハック: テストの比較レポート
トレーダーのライフハック: テストの比較レポート

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

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

MetaTrader5のWebSocket

MQL5 APIが更新されてネットワーク機能が導入される前は、MetaTraderプログラムでは、WebSocketベースのサービスに接続してインターフェイスする機能が制限されていました。しかしもちろん、これはすべて変わっています。本稿では、純粋なMQL5でのWebSocketライブラリの実装について説明します。WebSocketプロトコルの簡単な説明とともに結果のライブラリの使用方法に関する手順のガイドが提示されます。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第4部)MQL4との互換性 - ポジション決済イベント
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第4部)MQL4との互換性 - ポジション決済イベント

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第4部)MQL4との互換性 - ポジション決済イベント

MetaTrader 5およびMetaTrader 4プラットフォーム用のプログラムの開発を簡素化する大規模なクロスプラットフォームライブラリの開発を継続します。第10部では、MQL4とのライブラリの互換性に関する作業を再開し、ポジションを開くイベントと未決注文の発動イベントを定義しました。本稿では、ポジション決済イベントを定義し、未使用の注文プロパティを取り除きます。
EAのリモートコントロールの方法
EAのリモートコントロールの方法

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

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

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

この記事では、OpenCL ローソク足パターンテスターを "1 分 OHLC " モードで実装するアルゴリズムについて説明します。 また、高速かつ低速の最適化モードで起動したビルトインストラテジーテスターとの速度を比較します。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第28部): 未決取引リクエスト - 特定の条件下でのポジションの決済
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第28部): 未決取引リクエスト - 特定の条件下でのポジションの決済

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

保留中リクエストを使用した取引を特徴とするライブラリ機能の開発を継続します。ポジションを開き、未決注文を出すための条件付き取引リクエストの送信をすでに実装しています。現在の記事では、条件付きのポジション決済(完全決済、部分決済、反対ポジションによる決済)を実装します。
予備インディケータによるメモリ消費削減
予備インディケータによるメモリ消費削減

予備インディケータによるメモリ消費削減

インディケータが計算のために他の多くのインディケータ値を使用すれば、それは多くのメモリを費やすこととなります。本稿では予備インディケータを使用する際のメモリ消費を減らす方法についていくつか述べていきます。保存されたメモリにより、クライアント端末において同時に使用する通貨ペア数、インディケータ、戦略を増やすことができるようになります。それはトレード ポートフォリオの信頼性も向上します。単純にご自身のコンピュータの技術的リソースを気に掛けることで、それはデポジットの資金リソースに変わる可能性があるのです。
時系列の主要特性分析
時系列の主要特性分析

時系列の主要特性分析

本稿ではさまざまな時系列特性を予めすばやく判断するために設計されるクラスを紹介します。これを行うにあたり、統計的パラメータと自己相関関数を決め、時系列のスペクトル推定を実行し、ヒストグラムを作成します。
MQLプログラムをグラフィカルに表示するためのマークアップツールとしてのMQL(その3)。 フォームデザイナー
MQLプログラムをグラフィカルに表示するためのマークアップツールとしてのMQL(その3)。 フォームデザイナー

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

本論文では、MQLの構造を利用してMQLプログラムのウィンドウインタフェースを構築する概念の説明をします。 特殊なグラフィカル・エディタでは、GUI要素の基本クラスで構成されるレイアウトをインタラクティブに設定し、MQLにエクスポートしてMQLプロジェクトで使用することができます。 本論文では、エディタの内部設計とユーザーガイドを紹介します。 ソースコードも添付します。
マルチタイムフレームとマルチ通貨パネルの作成
マルチタイムフレームとマルチ通貨パネルの作成

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

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

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

本稿はターミナルのグローバル変数の処理を助けるオブジェクト作成のための MQL5 言語オブジェクト指向機能を明らかにします。実用例として私はプログラム段階実装のためのコントロールポイントとしてグローバル変数が使用される場合を考察します。
グラフィカルインタフェースVI:チェックボックスコントロール、編集コントロールとその混合型(チャプター 1)
グラフィカルインタフェースVI:チェックボックスコントロール、編集コントロールとその混合型(チャプター 1)

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

本稿は、MetaTrader端末でグラフィカルインタフェースを作成するためのライブラリの開発に関するシリーズの第六部の始まりです。第1章ではチェックボックスコントロール、編集コントロールとその混合型についてお話します。
950のウェブサイトがメタクオーツの経済指標カレンダーをブロードキャスト
950のウェブサイトがメタクオーツの経済指標カレンダーをブロードキャスト

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

このウィジェットによって、ウェブサイトには世界最大経済の500の指標と指数の詳細なリリーススケジュールが提供され、トレーダーは、ウェブサイトのメインコンテンツに加えて、説明やグラフとともに、重要なイベントの最新情報をすばやく受け取ることができます。
直線回帰例によるインディケータスピードアップの3手法
直線回帰例によるインディケータスピードアップの3手法

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

本稿では、インディケータメソッドの計算アルゴリズムの最適化を取り上げます。みなさんはご自身のニーズにもっとも合うメソッドをお探しのことと思います。本稿では3種類の手法について述べます。その一つはきわめて簡単なものです。次のひとつはしっかりした数学の知識が必要です。そして最後のひとつには多少のウィットが必要です。はここで述べられる手法のほとんどを理解するのにインディケータまたはMetaTrader5 ターミナルのデザイン的特性を利用します。その手法はかなり汎用的で直線回帰計算だけでなくその他のインディケータに対しても使用可能です。
グラフィカルインタフェースX: テキストエディットボックス、ピクチャスライダー、及びシンプルなコントロール(ビルド5)
グラフィカルインタフェースX: テキストエディットボックス、ピクチャスライダー、及びシンプルなコントロール(ビルド5)

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

この記事では、テキストエディットボックス、ピクチャスライダー、および追加的なシンプルなコントロール(テキストラベルとピクチャ)の新しいコントロールについて検討します。ライブラリは成長を続けており、新しいコントロールの導入に加えて、以前作成されたものも改善されています。
preview
PythonやRの知識が不要なYandexのCatBoost機械学習アルゴリズム

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

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

MQLによるMQLの構文解析

本稿では、MQLに基づいたソースコードの解析に使用されるプリプロセッサ、スキャナ、パーサについて説明します。MQLの実装が添付されています。
ユニバーサルEA:シグナルの標準メタトレーダーモジュールとの統合(その7)
ユニバーサルEA:シグナルの標準メタトレーダーモジュールとの統合(その7)

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

このパートでは、シグナルモジュールとCStrategyエンジンの統合の可能性が、メタトレーダーの標準ライブラリにあることについて記述します。この記事では、カスタム戦略を作成するメソッドと同様に、シグナルの操作メソッドについて説明します。
preview
自動で動くEAを作る(第04回):手動トリガー(I)

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

今日は、自動モードでシンプルかつ安全に動作するエキスパートアドバイザー(EA)を作成する方法を紹介します。
MQL5とQLUAの比較ーなぜMQL5での取引操作は28倍速いのか?
MQL5とQLUAの比較ーなぜMQL5での取引操作は28倍速いのか?

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

多くのトレーダーは、どれくらいの速さで自分の注文が取引所に到達し、どれくらいの時間で実行されるのか、そしていつトレーダーの取引ターミナルに取引操作の結果が反映されるのかということについてよく考えるものだと思います。今まで誰もMQL5とQLUAのプログラムを使用した取引操作速度の比較測定を行っていないので、この比較を行いたいと思います。
ピボット・パターン:『ヘッドアンドショルダー』パターンのテスト
ピボット・パターン:『ヘッドアンドショルダー』パターンのテスト

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

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

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

本稿では、Easy And Fast ライブラリの次のバージョン(バージョン3)を紹介します。特定の欠陥を修正して、新しい機能を追加しました。詳細は本稿で後ほどお話しします。
preview
カスタムシンボル。実用的な基礎

カスタムシンボル。実用的な基礎

この記事では、クオートを表示するための一般的な方法を示すために、カスタムシンボルプログラムの生成を行います。 派生したカスタムシンボルチャートから実際のシンボルをトレードするためのEAにおける提案された亜種についても説明します。 この記事にはMQLのソースコードが添付されています。
RSIによる取引システムの設計方法を学ぶ
RSIによる取引システムの設計方法を学ぶ

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

今回は、取引の世界で最も人気があり、一般的に使用されている指標の1つであるRSIを紹介します。この指標を使用した取引システムの設計方法を学びます。
ディープニューラルネットワーク(その7)ニューラルネットワークのアンサンブル: スタッキング
ディープニューラルネットワーク(その7)ニューラルネットワークのアンサンブル: スタッキング

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

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

MQL5.comフリーランスサービスが注文50,000件を達成

公式のMetaTraderフリーランスサービスのメンバー受注完了数が2018年10月に50,000件に達しました。これは、MQLプログラマー向けの世界最大のフリーランスサイトです。サイトには1,000人以上の開発者が登録しており、新規注文は毎日数十件を超えます。サイトは7ヶ国語に訳されています。
通貨バスケットをトレードするときに利用可能なパターン。 パート III
通貨バスケットをトレードするときに利用可能なパターン。 パート III

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

通貨ペアバスケットをトレードするときに発生するパターンに特化した最後の記事です。 複合トレンドフォローインジケーターと標準グラフィカル構造のアプリケーションを考察します.
さまざまな移動平均システムを設計する方法を学ぶ
さまざまな移動平均システムを設計する方法を学ぶ

さまざまな移動平均システムを設計する方法を学ぶ

この記事の主題である移動平均自体を使用する場合でも、任意のストラテジーに基づいて生成されたシグナルをフィルタリングするために使用できるストラテジーはたくさんあります。この記事の目的は、移動平均ストラテジーのいくつかと、アルゴリズム取引システムを設計する方法を共有することです。
トレードシグナルを購読選択する場合のチップステップバイステップガイド
トレードシグナルを購読選択する場合のチップステップバイステップガイド

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

このガイドは、シグナルサービス・トレードシグナルのテスト・要求されたシグナルを調べるアプローチシステムのためのものであり、潜在性・リスク・トレード意図・様々な口座タイプや金融ツールで稼働するという基準を満たします。
グラフィカルインタフェースX: 標準チャートコントロール(ビルド4)
グラフィカルインタフェースX: 標準チャートコントロール(ビルド4)

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

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

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

本稿では、Canvasクラスのグラフィカルプリミティブを使用してカスタムグラフィカル指標を開発する方法について説明します。
メタトレーダー5のカスタムニュースフィードを作成する
メタトレーダー5のカスタムニュースフィードを作成する

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

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

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

本稿では、必要なタグの自動マークアップから始まるMQL5コードのドキュメントの作成について考察し、Doxygenソフトウェアの使い方と正しい設定の仕方、html、HtmlHelp、PDFなどのさまざまな形式で結果を受け取る方法についても説明します。
Net Framework および C# に基づくグラフィカル インターフェイスの開発 (パート 2): その他のグラフィカル要素
Net Framework および C# に基づくグラフィカル インターフェイスの開発 (パート 2): その他のグラフィカル要素

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

この記事は、前回の記事".Net Framework と C#に基づいてEAとインジケータのグラフィカルインターフェイスを開発する"のフォローアップです。 グラフィカルインターフェイスを作成するための新しいグラフィカル要素を紹介します。
ビンスによる資金管理 MQL5 ウィザードのモジュールとしての実装
ビンスによる資金管理 MQL5 ウィザードのモジュールとしての実装

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

この記事は、ラルフ·ビンスによる "The Mathematics of Money Management" に基づいています。 トレードロットの最適なサイズを見つけるために使用される経験的およびパラメトリックメソッドの説明をします。 また、それらのメソッドに基づいて MQL5 ウィザードのトレーディングモジュールの実装を行います。
取引におけるニューラルネットワークの実用化
取引におけるニューラルネットワークの実用化

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

本稿では、フル機能の自動売買ロボットを作成することを目的として、ニューラルネットワークと取引ターミナルの統合の主な側面について検討します。
適応型相場の実用的評価法
適応型相場の実用的評価法

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

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