MQL5プログラミング記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
ログレコードをマスターする(第10回):抑制機能を実装してログの再表示を防ぐ

ログレコードをマスターする(第10回):抑制機能を実装してログの再表示を防ぐ

Logifyライブラリにおけるログ抑制システムを作成しました。本記事では、CLogifySuppressionクラスがどのようにコンソールのノイズを低減するかについて詳しく説明します。このクラスは、繰り返しや無関係なメッセージを回避するための設定可能なルールを適用します。また、外部設定フレームワーク、検証機構、包括的なテストについても取り上げ、ボットやインジケーター開発時のログ取得における堅牢性と柔軟性を確保しています。
preview
Parafracオシレーター:パラボリックとフラクタルインジケーターの組み合わせ

Parafracオシレーター:パラボリックとフラクタルインジケーターの組み合わせ

パラボリックSARとフラクタルインジケーターを組み合わせて、新しいオシレーターベースのインジケーターを作成する方法について説明します。両ツールの独自の強みを統合することにより、トレーダーはより洗練された効果的な取引戦略の開発を目指すことができます。
preview
MQL5におけるパイプライン

MQL5におけるパイプライン

本記事では、機械学習におけるデータ準備工程の中で、重要性が急速に高まっているデータ前処理パイプラインを取り上げます。前処理パイプラインとは、生データをモデルに入力する前に通す一連の変換ステップを整理し、効率化したものです。一見地味な作業ですが、前処理(特にスケーリング)は学習時間や実行コストを削減するだけでなく、モデルの汎化性能を大きく左右します。本記事ではscikit-learnの前処理関数を中心に扱います。MQL5ウィザードはここでは使用しませんが、後続の記事で取り上げる予定です。
preview
FXにおけるスワップ差裁定:合成ポートフォリオの構築と一貫したスワップフローの生成

FXにおけるスワップ差裁定:合成ポートフォリオの構築と一貫したスワップフローの生成

金利差を活用して利益を得る方法をご存じでしょうか。本記事では、FXにおけるスワップ差裁定(スワップアービトラージ)を活用し、毎晩安定した利益を生み出し、市場の変動に強いポートフォリオを構築する方法について解説します。
preview
共和分株式による統計的裁定取引(第6回):スコアリングシステム

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

本記事では、共和分株式の統計的裁定取引に基づく平均回帰戦略のスコアリングシステムを提案します。流動性や取引コストから、共和分ベクトルの数(ランク)や回帰までの時間に至るまでの基準を示しつつ、時間足やルックバック期間のような戦略的基準も考慮し、スコアランキングを正しく評価する前に検討しています。バックテストの再現に必要なファイルも提供され、その結果についてもコメントしています。
preview
取引におけるニューラルネットワーク:Attentionメカニズムを備えたエージェントのアンサンブル(最終回)

取引におけるニューラルネットワーク:Attentionメカニズムを備えたエージェントのアンサンブル(最終回)

前回の記事では、複数のエージェントによるアンサンブルを用いて、異なるデータスケールのマルチモーダル時系列をクロス分析するマルチエージェント適応型フレームワーク「MASAAT」を紹介しました。今回は、このフレームワークのアプローチをMQL5で引き続き実装し、この研究を論理的な結論へと導きます。
preview
MQL5のテーブルモデルに基づくテーブルクラスとヘッダクラス:MVC概念の適用

MQL5のテーブルモデルに基づくテーブルクラスとヘッダクラス:MVC概念の適用

これは、MQL5でのテーブルモデル実装をMVC (Model-View-Controller)アーキテクチャパラダイムに基づいて解説する記事の第2部です。本記事では、前回作成したテーブルモデルをもとに、テーブルクラスおよびテーブルヘッダの開発について説明します。開発したクラスは、次回の記事で扱うビューおよびコントローラーコンポーネントの実装の基礎となります。
preview
共和分株式による統計的裁定取引(第3回):データベースのセットアップ

共和分株式による統計的裁定取引(第3回):データベースのセットアップ

本記事では、新しく作成したデータベースを更新するためのMQL5 Serviceのサンプル実装を紹介します。このデータベースはデータ分析や、共和分関係にある株式バスケットの取引に利用されます。データベース設計の根拠についても詳しく説明し、参照用としてデータディクショナリを文書化します。さらに、データベースの作成、スキーマ初期化、市場データ挿入のためのMQL5とPythonのスクリプトも提供します。
preview
共和分株式による統計的裁定取引(第4回):リアルタイムモデル更新

共和分株式による統計的裁定取引(第4回):リアルタイムモデル更新

本記事では、共和分関係にある株式バスケットを対象とした、シンプルでありながら包括的な統計的アービトラージのパイプラインについて解説します。データのダウンロードと保存を行うPythonスクリプト、相関検定、共和分検定、定常性検定、さらにデータベース更新用のMetatrader 5サービスの実装およびそれに対応するエキスパートアドバイザー(EA)も含まれています。また、いくつかの設計上の判断については、参考情報および実験の再現性向上のために本記事に記録しています。
preview
MetaTrader 5機械学習の設計図(第4回):金融機械学習パイプラインの隠れた欠陥 - ラベルの同時発生

MetaTrader 5機械学習の設計図(第4回):金融機械学習パイプラインの隠れた欠陥 - ラベルの同時発生

金融機械学習における重大な欠陥であるラベルの同時発生が、過学習や実運用でのパフォーマンス低下を引き起こす問題をどのように修正するかを解説します。トリプルバリア法を使用すると、学習用ラベルが時間的に重複し、ほとんどの機械学習アルゴリズムにおける核心的な独立同分布(IID)の仮定に違反します。本記事では、サンプル重み付けを用いた実践的な解決策を提示します。具体的には、売買シグナル間の時間的重複を定量化し、各観測値が持つ固有情報を反映したサンプル重みを計算し、scikit-learnでこれらの重みを実装することで、より堅牢な分類器を構築する方法を学びます。これらの手法を習得することで、取引モデルの堅牢性、信頼性、収益性を向上させることができます。
preview
取引におけるニューラルネットワーク:ResNeXtモデルに基づくマルチタスク学習

取引におけるニューラルネットワーク:ResNeXtモデルに基づくマルチタスク学習

ResNeXtに基づくマルチタスク学習フレームワークは、金融データの高次元性、非線形性、時間依存性を考慮しながら分析を最適化します。グループ畳み込みと専用ヘッドの使用により、モデルは入力データから重要な特徴を効果的に抽出することができます。
preview
取引におけるニューラルネットワーク:シャープネス低減によるTransformerの効率向上(最終回)

取引におけるニューラルネットワーク:シャープネス低減によるTransformerの効率向上(最終回)

SAMformerは、長期の時系列予測におけるTransformerモデルの主要な欠点、すなわち学習の複雑さや小規模データセットでの汎化性能の低さに対して解決策を提供します。その浅いアーキテクチャとシャープネス認識型最適化により、不適切な局所解に陥ることを防ぎます。本記事では、MQL5を用いたアプローチの実装を続け、実際的な価値を評価していきます。
preview
ニューロボイド最適化アルゴリズム(NOA)

ニューロボイド最適化アルゴリズム(NOA)

新しい生体模倣型最適化メタヒューリスティックであるNOA (Neuroboids Optimization Algorithm)は、集合知とニューラルネットワークの原理を組み合わせた手法です。従来の方法とは異なり、このアルゴリズムは自己学習型の「ニューロボイド」集団を使用し、それぞれが独自のニューラルネットワークを持ち、探索戦略をリアルタイムで適応させます。本記事では、アルゴリズムのアーキテクチャ、エージェントの自己学習メカニズム、そしてこのハイブリッドアプローチを複雑な最適化問題に応用する可能性について解説します。
preview
取引におけるニューラルネットワーク:ResNeXtモデルに基づくマルチタスク学習(最終回)

取引におけるニューラルネットワーク:ResNeXtモデルに基づくマルチタスク学習(最終回)

ResNeXtに基づくマルチタスク学習フレームワークの探求を続けます。このフレームワークは、モジュール性が高く、計算効率に優れ、データ中の安定したパターンを特定できることが特徴です。単一のエンコーダーと専門化された「ヘッド」を使用することで、モデルの過学習のリスクを減らし、予測の精度を向上させます。
preview
MQL5とデータ処理パッケージの統合(第6回):市場フィードバックとモデル適応の融合

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

ライブ取引結果、ボラティリティの変化、流動性の変化といったリアルタイムの市場フィードバックを、適応型モデル学習とどのように統合するかに焦点を当てます。これにより、応答性が高く、自己改善を継続する取引システムを維持することを目指します。
preview
MQL5でのAI搭載取引システムの構築(第8回):アニメーション、タイミング指標、応答管理ツールによるUIの改善

MQL5でのAI搭載取引システムの構築(第8回):アニメーション、タイミング指標、応答管理ツールによるUIの改善

本記事では、MQL5におけるAI駆動取引システムを、ユーザーインターフェースの改善によって強化します。具体的には、リクエストの準備フェーズおよび思考フェーズにおけるローディングアニメーションの追加や、レスポンスに表示される処理時間(タイミングメトリクス)による応答の向上などを実装します。さらに、AIへの再クエリを行うための再生成ボタンや、最新の応答をファイルとして保存できるエクスポート機能などのレスポンス管理ツールを追加し、操作性を向上させます。
preview
初級から中級まで:構造体(II)

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

本記事では、MQL5のようなプログラミング言語において構造体が存在する理由を考察します。また、構造体を用いて関数や手続き間で値を受け渡すことが有効な場合と、必ずしもそうではない場合がある理由についても解説します。
preview
取引におけるニューラルネットワーク:暗号通貨市場向けメモリ拡張コンテキスト認識学習(MacroHFT)

取引におけるニューラルネットワーク:暗号通貨市場向けメモリ拡張コンテキスト認識学習(MacroHFT)

MacroHFTフレームワークは、マクロ経済データと適応型エージェントを用いて、高頻度暗号資産取引の意思決定を改善するために、コンテキスト認識型強化学習とメモリを応用するものです。
preview
レストラン経営達人アルゴリズム(SRA)

レストラン経営達人アルゴリズム(SRA)

レストラン経営達人アルゴリズム(SRA)は、レストラン経営の原則に着想を得た革新的な最適化手法です。従来のアプローチとは異なり、SRAは弱い解を破棄するのではなく、成功した解の要素と組み合わせて改善します。このアルゴリズムは競争力のある結果を示し、最適化問題における探索と活用のバランスに関する新しい視点を提供します。
preview
初級から中級まで:定義(II)

初級から中級まで:定義(II)

本記事では、前回に引き続き#defineディレクティブについて理解を深めていきますが、今回はその第2の使用形態、すなわちマクロの作成に焦点を当てます。このテーマはやや複雑であるため、これまで学習を進めてきたアプリケーションを題材として取り上げながら説明していきます。この記事も楽しんでいただけたら幸いです。
preview
初級から中級まで:構造体(I)

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

本日は、構造体について、よりシンプルで実践的、かつ無理のない形で学び始めます。構造体は、構造化プログラミングであろうとなかろうと、プログラミングの基礎を成す要素のひとつです。多くの人は、構造体を単なるデータの集合だと考えがちですが、実際にはそれ以上の役割を持っています。本記事では、この新しい世界を、できるだけ分かりやすく、体系的に探っていきます。
preview
取引におけるニューラルネットワーク:階層型ダブルタワーTransformer(最終回)

取引におけるニューラルネットワーク:階層型ダブルタワーTransformer(最終回)

複雑な多変量時系列の分析および予測を目的に設計された、Hidformer階層型ダブルタワーTransformerモデルの構築を引き続き進めます。本記事では、これまでに着手した作業を論理的な結論へと導き、実際の履歴データを用いてモデルを検証します。
preview
多通貨エキスパートアドバイザーの開発(第24回):新しい戦略の追加(II)

多通貨エキスパートアドバイザーの開発(第24回):新しい戦略の追加(II)

本記事では、引き続き、作成済みの自動最適化システムに新しい戦略を連携する方法を見ていきます。最適化プロジェクト作成EAと、第2ステージおよび第3ステージのEAにどのような変更を加える必要があるかを見てみましょう。
preview
MQL5取引ツール(第9回):EA向けスクロール可能ガイド付き初回実行ユーザー設定ウィザードの開発

MQL5取引ツール(第9回):EA向けスクロール可能ガイド付き初回実行ユーザー設定ウィザードの開発

本記事では、エキスパートアドバイザー(EA)向けのMQL5初回実行ユーザー設定ウィザードを開発します。このウィザードはスクロール可能なガイド、インタラクティブなダッシュボード、動的テキストフォーマット、ボタンやチェックボックスなどの視覚的コントロールを備えており、ユーザーが指示に沿って操作し、取引パラメータを効率的に設定できるようにします。ユーザーは、初回実行時にプログラムの内容と操作方法を把握でき、オリエンテーションモデルとして利用できます。
preview
MetaTrader 5用シグマスコアインジケーター:単純な統計的異常検出器

MetaTrader 5用シグマスコアインジケーター:単純な統計的異常検出器

MetaTrader 5用の実践的なSigma Score(シグマスコア)インジケーターをゼロから構築し、その指標が本質的に何を測定しているのかを理解します。シグマスコアとは、対数収益率のz得点(直近の値動きが過去の平均から標準偏差でどれだけ乖離しているか)を表すものです。OnInit()、OnCalculate()、OnDeinit()の各コードブロックを一つずつ丁寧に解説しながら実装を進めます。さらに、±2といった閾値の解釈方法や、このシグマスコアを「市場ストレスメーター」として活用し、平均回帰戦略およびモメンタム戦略の双方に応用する方法についても説明します。
preview
カオスゲーム最適化(CGO)

カオスゲーム最適化(CGO)

本記事では、新しいメタヒューリスティックアルゴリズムであるカオスゲーム最適化(CGO)を紹介します。CGOは、高次元問題に対しても高い効率を維持できるという独自の特性を示しています。ほとんどの最適化アルゴリズムとは異なり、CGOは問題の規模が大きくなると性能が低下するどころか、場合によっては向上することさえあり、これがこのアルゴリズムの主要な特徴です。
preview
多通貨エキスパートアドバイザーの開発(第24回):新しい戦略の追加(I)

多通貨エキスパートアドバイザーの開発(第24回):新しい戦略の追加(I)

本記事では、作成済みの自動最適化システムに新しい戦略を連携する方法を見ていきます。どのようなEAを作成する必要があるのか、EAライブラリのファイルを変更せずにできるのか、必要な変更を最小限に抑えられるかを確認してみましょう。
preview
取引におけるニューラルネットワーク:ハイブリッドグラフシーケンスモデル(最終部)

取引におけるニューラルネットワーク:ハイブリッドグラフシーケンスモデル(最終部)

引き続き、異なるアーキテクチャの利点を統合し、高い分析精度と計算リソースの効率的な配分を実現するハイブリッドグラフシーケンスモデル(GSM++)を検討します。これらのモデルは、隠れたパターンを効果的に識別し、市場ノイズの影響を低減して予測精度を向上させます。
preview
リプレイシステムの開発(第78回):新しいChart Trade(V)

リプレイシステムの開発(第78回):新しいChart Trade(V)

本記事では、受信側コードの一部の実装方法について解説します。ここでは、プロトコルの相互作用をテストし理解するためのエキスパートアドバイザー(EA)を実装します。ここで提示されるコンテンツは、教育目的のみに使用されることを意図しています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを利用することは避けてください。
preview
多通貨エキスパートアドバイザーの開発(第21回):重要な実験の準備とコードの最適化

多通貨エキスパートアドバイザーの開発(第21回):重要な実験の準備とコードの最適化

さらなる前進のためには、自動最適化を定期的に再実行し、新しいエキスパートアドバイザー(EA)を生成することで結果を改善できるかどうかを検証することが有益でしょう。パラメータ最適化の利用を巡る多くの議論における最大の障害は、取得したパラメータを将来の期間において、収益性およびドローダウンを所定の水準に保ったまま、どれだけ長く取引に使用できるのかという点です。そして、そもそもそれは可能なのかという問題でもあります。
preview
初心者からエキスパートへ:MQL5を使ったアニメーションニュース見出し(X) - ニュース取引のための多銘柄チャート表示

初心者からエキスパートへ:MQL5を使ったアニメーションニュース見出し(X) - ニュース取引のための多銘柄チャート表示

本日は、チャートオブジェクトを用いたマルチチャート表示システムを開発します。本システムの目的は、MQL5アルゴリズムを活用して、重要なニュース発表時などの高ボラティリティ期間におけるトレーダーの反応時間を短縮し、ニュース取引を支援することです。複数の主要通貨ペアを、統合的に監視できる、オールインワンのニュース取引環境を提供します。News Headline EAの開発は継続的に進化しており、完全自動システムを使用するトレーダーはもちろん、アルゴリズム補助による手動取引をおこなうトレーダーにとっても実用的な機能が追加されています。さらに知識や洞察、実践的なアイデアを深めたい方は、ぜひ本ディスカッションに参加して詳細をご覧ください。
preview
取引におけるニューラルネットワーク:概念強化を備えたマルチエージェントシステム(最終回)

取引におけるニューラルネットワーク:概念強化を備えたマルチエージェントシステム(最終回)

FinConフレームワークの著者によって提案されたアプローチの実装を続けます。FinConは、大規模言語モデル(LLM)をベースとしたマルチエージェントシステムです。本日は、必要なモジュールを実装し、実際の過去データを用いたモデルの包括的なテストをおこないます。
preview
MQL5における取引へのコンピュータビジョンの統合(第1回):基本関数の作成

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

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

他言語の実用モジュールをMQL5で実装する(第04回):Pythonのtime、date、datetimeモジュール

MQL5とは異なり、Pythonは、時間の扱いや操作において高い柔軟性と制御性を提供します。本記事では、Pythonのように日付や時刻をより扱いやすくするためのモジュールを、MQL5で実装していきます。
preview
MQL5での取引戦略の自動化(第29回):プライスアクションに基づくガートレーハーモニックパターンシステムの作成

MQL5での取引戦略の自動化(第29回):プライスアクションに基づくガートレーハーモニックパターンシステムの作成

本記事では、MQL5で弱気、強気双方のガートレーハーモニックパターンを、ピボットポイントとフィボナッチ比率に基づいて識別し、正確なエントリー、ストップロス、テイクプロフィットレベルを使用して取引を自動化するガートレーパターンシステムを開発します。また、XABCDパターン構造やエントリーレベルを表示するために、三角形やトレンドラインなどのチャートオブジェクトを使った視覚的フィードバックでトレーダーの洞察力を高めます。
preview
多通貨エキスパートアドバイザーの開発(第22回):設定のホットスワップへの移行を開始する

多通貨エキスパートアドバイザーの開発(第22回):設定のホットスワップへの移行を開始する

定期的な最適化を自動化するのであれば、取引口座上ですでに稼働しているEAの設定を自動更新することについても検討する必要があります。これにより、ストラテジーテスター内でエキスパートアドバイザー(EA)を実行しながら、単一の実行の中でその設定を変更できるようにする必要があります。
preview
オンチャートUIを使用したリスクベースの取引執行EA(第1回):ユーザーインターフェースの設計

オンチャートUIを使用したリスクベースの取引執行EA(第1回):ユーザーインターフェースの設計

MQL5でリスクベース取引執行エキスパートアドバイザー(EA)用の、クリーンでプロフェッショナルなオンチャートコントロールパネルを構築する方法を解説します。このステップバイステップガイドでは、トレーダーが取引パラメータを入力し、ロットサイズを計算し、自動発注に備えることができる機能的なGUIの設計方法を説明します。
preview
MQL5入門(第28回):MQL5のAPIとWebRequest関数の習得(II)

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

本記事では、APIとMQL5のWebRequest関数を使用して、外部プラットフォームから価格データを取得および抽出する方法を解説します。URLの構造、APIレスポンスの形式、サーバーデータを可読な文字列へ変換する方法、そしてJSONレスポンスから特定の値を識別および抽出する方法を学びます。
preview
取引におけるニューラルネットワーク:予測符号化を備えたハイブリッド取引フレームワーク(最終回)

取引におけるニューラルネットワーク:予測符号化を備えたハイブリッド取引フレームワーク(最終回)

予測符号化と強化学習アルゴリズムを組み合わせた金融時系列分析用のハイブリッド取引システム「StockFormer」の検討を引き続きおこないます。本システムは、複雑なパターンや資産間の相互依存関係を捉えることを可能にするDiversified Multi-Head Attention (DMH-Attn)機構を備えた、3つのTransformerブランチに基づいています。前回は、フレームワークの理論的な側面に触れ、DMH-Attn機構を実装しました。今回は、モデルのアーキテクチャと学習について解説します。
preview
古典的な戦略を再構築する(第17回):テクニカル指標のモデリング

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

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