MQL5プログラミング記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
市場シミュレーション(第4回):C_Ordersクラスの作成(I)

市場シミュレーション(第4回):C_Ordersクラスの作成(I)

本記事では、取引サーバーに注文を送信できるようにするためのC_Ordersクラスの作成を開始します。これは少しずつ進めていきますが、目的は、メッセージングシステムを通じてこれがどのようにおこなわれるのかを詳細に説明することです。
preview
リスク管理(第3回):リスク管理のメインクラスの構築

リスク管理(第3回):リスク管理のメインクラスの構築

本記事では、システム内のリスクを管理するための重要な基盤となるコアのリスク管理クラスを作成し始めます。今回は、基礎の構築に焦点を当て、基本的な構造、変数、関数を定義します。加えて、最大損益値を設定するために必要なメソッドを実装し、リスク管理の土台を築きます。
preview
MQL5 MVCパラダイムのテーブルのビューコンポーネント:基本グラフィック要素

MQL5 MVCパラダイムのテーブルのビューコンポーネント:基本グラフィック要素

本記事では、MQL5におけるMVC (Model-View-Controller)パラダイムでのテーブル実装の一環として、ビューコンポーネント向けの基本的なグラフィック要素を開発するプロセスを扱います。本記事はビューコンポーネントに関する最初の記事であり、MetaTrader 5クライアントターミナル向けテーブル作成に関する連載の第3回目です。
preview
古典的な戦略を再構築する(第17回):テクニカル指標のモデリング

古典的な戦略を再構築する(第17回):テクニカル指標のモデリング

金融における古典的機械学習手法によって課されている「ガラスの天井」をいかに打ち破るかに焦点を当てます。統計モデルから引き出せる価値に対する最大の制約は、モデルそのもの、すなわちデータやアルゴリズムの複雑さではなく、それらを適用する方法論にあるようです。言い換えれば、真のボトルネックはモデルの内在的能力ではなく、私たちがそれをどのように運用しているかにあるのかもしれません。
preview
MQL5における取引へのコンピュータビジョンの統合(第1回):基本関数の作成

MQL5における取引へのコンピュータビジョンの統合(第1回):基本関数の作成

コンピュータビジョンおよびディープラーニングを活用したEURUSD予測システムです。本記事では、畳み込みニューラルネットワークが外国為替市場における複雑な価格パターンをどのように認識し、最大54%の精度で為替レートの変動を予測できるかを解説します。また、従来のテクニカル指標の代わりに、チャートの視覚的分析に人工知能技術を活用するアルゴリズムの構築手法を共有します。著者は、価格データを「画像」へと変換するプロセス、それらをニューラルネットワークで処理する方法、さらに活性化マップやアテンションヒートマップを通じてAIの「意識」を可視化する独自のアプローチを解説します。MetaTrader 5ライブラリを用いた実践的なPythonコードにより、読者は本システムを再現し、自身の取引へ応用することができます。
preview
市場シミュレーション(第10回):ソケット(IV)

市場シミュレーション(第10回):ソケット(IV)

本記事では、MetaTrader 5を管理するためにExcelを活用する方法を、興味深い形で解説していきます。そのために、組み込みVBAを使わずに済むよう、Excelアドインを使用します。アドインが何を意味するのか分からない場合、本記事でExcelで直接Pythonをプログラミングする方法を学ぶことができます。
preview
MQL5における市場ポジショニング戦略の体系(第2回): Nvidia向けマルチパターンのビット単位学習

MQL5における市場ポジショニング戦略の体系(第2回): Nvidia向けマルチパターンのビット単位学習

管理可能なテスト期間において、特定の資産を特定の取引方向で検証する市場ポジショニングに関する新連載を継続します。前回の記事では、Nvidia Corp (NVDA)の株を対象に、RSIとDeMarkerオシレーターの組み合わせから5つのシグナルパターンを検証しました。本記事では残りの5パターンを取り上げ、さらに複数パターンの組み合わせにも踏み込みます。これには、10パターンすべての自由な組み合わせや、特定のペアのみを組み合わせる特殊パターンも含まれます。
preview
MQL5における市場ポジショニング戦略の体系(第1回):NVIDIAのビットワイズ戦略研究

MQL5における市場ポジショニング戦略の体系(第1回):NVIDIAのビットワイズ戦略研究

これまでの「MQL5ウィザード」シリーズで積み上げてきた取り組みを基盤とし、それをさらに発展させる新連載を開始します。本連載は、システムトレードおよび戦略テストへのアプローチを一段引き上げることを目的としています。単一タイプのポジションのみを保有するように設計されたエキスパートアドバイザーに焦点を当てます。主にロングポジションのみを扱う設計です。市場トレンドを一方向に限定することで、分析が簡素化され、戦略の複雑さが軽減されます。また、特に為替以外の資産を扱う場合には、重要な洞察が得られる可能性があります。したがって本連載では、株式やその他の非為替資産において、このアプローチが有効かどうかを検証していきます。買い専用戦略は、スマートマネーや機関投資家の戦略と相関することが多いため、その実用性を体系的に探究します。
preview
MQL5でのAI搭載取引システムの構築(第6回):チャットの削除と検索機能の導入

MQL5でのAI搭載取引システムの構築(第6回):チャットの削除と検索機能の導入

連載第6回では、ChatGPT統合型エキスパートアドバイザー(EA)をさらに進化させ、サイドバーのインタラクティブな削除ボタン、大・小の履歴ポップアップ、新しい検索ポップアップを導入することで、トレーダーが永続的な会話履歴を効率的に管理および整理できるようにしました。これにより、チャートデータからのAI駆動のシグナルを維持しつつ、暗号化されたストレージに会話を安全に保存できます。
preview
MQL5で自己最適化エキスパートアドバイザーを構築する(第17回):アンサンブルインテリジェンス

MQL5で自己最適化エキスパートアドバイザーを構築する(第17回):アンサンブルインテリジェンス

すべてのアルゴリズム取引戦略は、その複雑さに関係なく、構築や維持が困難です。これは初心者と専門家の双方に共通する課題です。本記事では、教師ありモデルと人間の直感を組み合わせるアンサンブルフレームワークを紹介し、それぞれの限界を相互に補完する方法を提案します。移動平均チャネル戦略とリッジ回帰モデルを同じテクニカル指標上で整合させることで、集中管理、より速い自己修正、そして本来は収益性のなかったシステムからの利益創出を実現します。
preview
MetaTrader 5機械学習の設計図(第6回):実務で使えるキャッシュシステムの設計

MetaTrader 5機械学習の設計図(第6回):実務で使えるキャッシュシステムの設計

進捗バーを眺めるだけで、取引戦略のテストに時間を浪費していませんか。従来のキャッシュ手法では金融機械学習には対応できず、計算の無駄や再実行によるフラストレーションに悩まされます。私たちは、金融データ特有の課題、時間的依存関係、複雑なデータ構造、そして先読みバイアスのリスクを理解した洗練されたキャッシュアーキテクチャを設計しました。この三層構造のシステムにより、計算速度は劇的に向上し、古い結果の自動無効化やコストの高いデータリークの防止も可能です。もう計算待ちに時間を費やす必要はありません。市場が要求するペースで、迅速に反復作業をおこなえます。
preview
機械学習の限界を克服する(第7回):自動戦略選択

機械学習の限界を克服する(第7回):自動戦略選択

本記事では、MetaTrader 5を用いて潜在的に収益性の高い取引戦略を自動的に特定する方法を紹介します。ホワイトボックスソリューションは、教師なし学習による行列分解によって動作し、設定が容易で解釈もしやすく、どの戦略を保持すべきか明確な指針を提供します。一方、ブラックボックスソリューションはより時間がかかりますが、ホワイトボックスアプローチでは捉えきれない複雑な市場環境に適しています。本記事では、あらゆる状況下で収益性の高い戦略を慎重に見極めるために、どのように取引戦略を活用できるかを解説します。
preview
ブラック–ショールズのギリシャ指標の自動化:高度なスキャルピングとマイクロストラクチャ取引

ブラック–ショールズのギリシャ指標の自動化:高度なスキャルピングとマイクロストラクチャ取引

ガンマ(Γ)とデルタ(Δ)はもともとオプションのエクスポージャーをヘッジするためのリスク管理ツールとして開発されましたが、時間の経過とともに、高度なスキャルピング、オーダーフローモデリング、マイクロストラクチャ取引における強力なツールへと進化しました。現在では、価格感応度や流動性行動のリアルタイム指標として機能し、トレーダーが短期的なボラティリティを驚くほど正確に予測できるようにしています。
preview
MQL5における二変量コピュラ(第2回):MQL5でのアルキメデスコピュラの実装

MQL5における二変量コピュラ(第2回):MQL5でのアルキメデスコピュラの実装

連載第2回では、二変量アルキメデスコピュラの特性と、それらをMQL5で実装する方法について解説します。また、コピュラを活用したシンプルなペアトレード戦略の開発についても取り上げます。
preview
共和分株式による統計的裁定取引(第7回):スコアリングシステム2

共和分株式による統計的裁定取引(第7回):スコアリングシステム2

平均回帰戦略、特に共和分に基づく統計的裁定取引において取引対象となる株式バスケットの選定に使用する、追加の2つのスコアリング基準について解説します。前回の記事では、流動性および共和分ベクトルの強度、ならびに時間足とルックバック期間という戦略的基準を紹介しました。本記事ではそれを補完する形で、共和分ベクトルの安定性および平均回帰に要する時間、いわゆる半減期を取り上げます。また、新しいフィルタを適用したバックテスト結果の考察と、その再現に必要なファイルも提供します。
preview
初級から中級まで:インジケーター(IV)

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

本記事では、ローソク足に色を付ける実践的なアプローチを簡単に作成および実装する方法を解説します。このコンセプトは、トレーダーから非常に高く評価されています。実装する際には、バーやローソク足が元の見た目を保持し、ローソク足ごとの視認性を妨げないよう注意する必要があります。
preview
MQL5 MVCパラダイムにおけるテーブルのビューおよびコントローラーコンポーネント:サイズ変更可能な要素

MQL5 MVCパラダイムにおけるテーブルのビューおよびコントローラーコンポーネント:サイズ変更可能な要素

本記事では、要素の端や角をマウスでドラッグしてコントロールをサイズ変更する機能を追加します。
preview
MQL5標準ライブラリエクスプローラー(第3回):エキスパート標準偏差チャネル

MQL5標準ライブラリエクスプローラー(第3回):エキスパート標準偏差チャネル

CTradeクラスとCChartObjectStdDevChannelクラスを用いたエキスパートアドバイザー(EA)を開発し、さらに収益性を高めるためのいくつかのフィルタを適用します。前回の議論で扱った理論を実装へ落とし込むことが目的です。また、MQL5標準ライブラリとその内部コードベースを理解するのに役立つ、もう一つの簡単なアプローチも紹介します。本記事では、これらの概念を実践的に学ぶことができます。
preview
初級から中級まで:構造体(VI)

初級から中級まで:構造体(VI)

本記事では、共通の構造化されたコード基盤をどのように実装していくかについて解説します。目的は、プログラミングの作業負担を軽減し、使用しているプログラミング言語(ここではMQL5)そのものが持つ潜在能力を最大限に活用することです。
preview
取引戦略の開発:擬似ピアソン相関アプローチ

取引戦略の開発:擬似ピアソン相関アプローチ

既存のインジケーターから新しいインジケーターを生成することは、取引分析を強化するための非常に強力な方法です。既存のインジケーターの出力を統合する数学的関数を定義することで、トレーダーは複数のシグナルを1つの効率的なツールにまとめたハイブリッドインジケーターを作成できます。本記事では、ピアソン相関関数を改良した「擬似ピアソン相関(PPC, Pseudo Pearson Correlation)」を用いて、3つのオシレーターから構築された新しいインジケーターを紹介します。PPCインジケーターは、オシレーター同士の動的な関係を数値化し、それを実践的な取引戦略に応用することを目的としています。
preview
オンチャートUIを使用したリスクベースの取引執行EA(第2回):インタラクティブ性とロジックの追加

オンチャートUIを使用したリスクベースの取引執行EA(第2回):インタラクティブ性とロジックの追加

チャート上のコントロールパネルを備えたインタラクティブなMQL5エキスパートアドバイザー(EA)を構築する方法を学びます。リスクベースのロットサイズを計算し、チャート上から直接取引をおこなう方法を理解します。
preview
MQL5とデータ処理パッケージの統合(第6回):市場フィードバックとモデル適応の融合

MQL5とデータ処理パッケージの統合(第6回):市場フィードバックとモデル適応の融合

ライブ取引結果、ボラティリティの変化、流動性の変化といったリアルタイムの市場フィードバックを、適応型モデル学習とどのように統合するかに焦点を当てます。これにより、応答性が高く、自己改善を継続する取引システムを維持することを目指します。
preview
取引戦略の開発:Flower Volatility Indexのトレンドフォローアプローチ

取引戦略の開発:Flower Volatility Indexのトレンドフォローアプローチ

市場のリズムを解読する絶え間ない探求により、トレーダーやクオンツアナリストは数多くの数学モデルを生み出してきました。本記事では、Flower Volatility Index (FVI)を紹介します。これは、バラ曲線の数学的優雅さを実用的な取引ツールに変換した新しいアプローチです。この研究を通じて、数学モデルを実際の市場環境で分析や意思決定を支援できる実用的な取引メカニズムに適応できることを示しました。
preview
MQL5での取引戦略の自動化(第41回):ローソク足レンジ理論(CRT)-蓄積・操作・分配(AMD)

MQL5での取引戦略の自動化(第41回):ローソク足レンジ理論(CRT)-蓄積・操作・分配(AMD)

MQL5で動作するローソク足レンジ理論(CRT)取引システムを開発します。このシステムは、指定した時間足での蓄積のレンジを特定し、操作の深さフィルタリングを用いてブレイクを検知し、分配フェーズにおける反転確認を経てエントリーをおこないます。また、リスクリワード比に基づく動的または静的なストップロスとテイクプロフィット設定、任意のトレーリングストップ、方向ごとのポジション上限設定などによるリスク管理にも対応しています。
preview
機械学習の限界を克服する(第8回):ノンパラメトリックな戦略選択

機械学習の限界を克服する(第8回):ノンパラメトリックな戦略選択

データ駆動型アプローチを用いて強力な取引戦略を自動的に発見するために、ブラックボックスモデルをどのように設定するかを解説します。相互情報量を利用して学習しやすいシグナルを優先的に選択することで、従来の手法よりも優れた、よりスマートで適応的なモデルを構築することができます。また読者は、表面的な指標に過度に依存するという一般的な落とし穴を避け、意味のある統計的洞察に基づいた戦略を開発する方法についても学ぶことができます。
preview
MetaTrader 5機械学習の設計図(第6回):実務で使えるキャッシュシステムの設計

MetaTrader 5機械学習の設計図(第6回):実務で使えるキャッシュシステムの設計

進捗バーを眺めるだけで、取引戦略のテストに時間を浪費していませんか。従来のキャッシュ手法では金融機械学習には対応できず、計算の無駄や再実行によるフラストレーションに悩まされます。私たちは、金融データ特有の課題、時間的依存関係、複雑なデータ構造、そして先読みバイアスのリスクを理解した洗練されたキャッシュアーキテクチャを設計しました。この三層構造のシステムにより、計算速度は劇的に向上し、古い結果の自動無効化やコストの高いデータリークの防止も可能です。もう計算待ちに時間を費やす必要はありません。市場が要求するペースで、迅速に反復作業をおこなえます。
preview
分析型ボリュームプロファイル取引(AVPT):流動性アーキテクチャ、市場メモリ、アルゴリズム実行

分析型ボリュームプロファイル取引(AVPT):流動性アーキテクチャ、市場メモリ、アルゴリズム実行

分析型ボリュームプロファイル取引(AVPT, Analytical Volume Profile Trading)は、流動性構造と市場記憶がプライスアクションに与える影響を分析し、機関投資家のポジション構築や出来高駆動の構造をより深く理解する手法です。POC、HVN、LVN、バリューエリアを可視化することで、受容、拒否、アンバランスゾーンを高い精度で特定できます。
preview
機械学習の限界を克服する(第8回):ノンパラメトリックな戦略選択

機械学習の限界を克服する(第8回):ノンパラメトリックな戦略選択

データ駆動型アプローチを用いて強力な取引戦略を自動的に発見するために、ブラックボックスモデルをどのように設定するかを解説します。相互情報量を利用して学習しやすいシグナルを優先的に選択することで、従来の手法よりも優れた、よりスマートで適応的なモデルを構築することができます。また読者は、表面的な指標に過度に依存するという一般的な落とし穴を避け、意味のある統計的洞察に基づいた戦略を開発する方法についても学ぶことができます。
preview
MQL5での取引戦略の自動化(第42回):セッションベースのオープニングレンジブレイクアウト(ORB)システム

MQL5での取引戦略の自動化(第42回):セッションベースのオープニングレンジブレイクアウト(ORB)システム

MQL5で完全にカスタマイズ可能なセッションベースのオープニングレンジブレイクアウト(ORB)システムを作成します。このシステムでは、任意のセッション開始時刻とレンジの期間を設定でき、指定したオープニング期間の高値と安値を自動計算し、かつ動きの方向に沿った確定ブレイクアウトのみを取引します。
preview
MQL5でかぎ足をマスターする(第1回):インジケーターの作成

MQL5でかぎ足をマスターする(第1回):インジケーターの作成

MQL5で完全なかぎ足エンジンを構築する方法を学びましょう。価格の反転の構築、動的な線分の生成、そしてかぎ足の構造をリアルタイムで更新する方法を扱います。本連載第1回では、MetaTrader 5上にかぎ足を直接描画する方法を解説します。これにより、トレーダーはトレンドの転換や市場の強さを明確に把握できるようになり、第2部で扱うかぎ足ベースの自動売買ロジックの準備が整います。
preview
ケンドールのタウ係数と距離相関を用いたVGTの市場ポジショニング分析コード

ケンドールのタウ係数と距離相関を用いたVGTの市場ポジショニング分析コード

この記事では、相補的なインジケーターのペアをどのように活用して、過去5年間のVanguard Information Technology Index Fund ETF (VGT)を分析できるかを検討します。具体的には、ケンドールのタウ係数と距離相関という2つの指標を用い、VGTの取引に適したインジケーターの組み合わせだけでなく、それら2つのインジケーターに対するシグナルパターンの最適なペアリングも選定することを目指します。
preview
MQL5入門(第28回):MQL5のAPIとWebRequest関数の習得(II)

MQL5入門(第28回):MQL5のAPIとWebRequest関数の習得(II)

本記事では、APIとMQL5のWebRequest関数を使用して、外部プラットフォームから価格データを取得および抽出する方法を解説します。URLの構造、APIレスポンスの形式、サーバーデータを可読な文字列へ変換する方法、そしてJSONレスポンスから特定の値を識別および抽出する方法を学びます。
preview
MQL5でかぎ足をマスターする(第1回):インジケーターの作成

MQL5でかぎ足をマスターする(第1回):インジケーターの作成

MQL5で完全なかぎ足エンジンを構築する方法を学びましょう。価格の反転の構築、動的な線分の生成、そしてかぎ足の構造をリアルタイムで更新する方法を扱います。本連載第1回では、MetaTrader 5上にかぎ足を直接描画する方法を解説します。これにより、トレーダーはトレンドの転換や市場の強さを明確に把握できるようになり、第2部で扱うかぎ足ベースの自動売買ロジックの準備が整います。
preview
MQL5入門(第29回):MQL5のAPIとWebRequest関数の習得(III)

MQL5入門(第29回):MQL5のAPIとWebRequest関数の習得(III)

本記事では、MQL5におけるAPIおよびWebRequestの理解をさらに深め、外部サービスからローソク足データを取得する方法を解説します。サーバーレスポンスの分割、データのクレンジング、そして複数の日足に対する始値時刻やOHLC値などの主要要素の抽出に焦点を当て、後続の分析に利用可能な形へと整形していきます。