MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
MQL5で他の言語の実用的なモジュールを実装する(第2回):Pythonに着想を得たREQUESTSライブラリの構築

MQL5で他の言語の実用的なモジュールを実装する(第2回):Pythonに着想を得たREQUESTSライブラリの構築

この記事では、MetaTrader 5 (MQL5)でWebリクエストの送受信をより簡単におこなうために、Pythonのrequestsモジュールに似たモジュールを実装します。
preview
MQL5での取引戦略の自動化(第31回):プライスアクションに基づくスリードライブハーモニックパターンシステムの作成

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

本記事では、MQL5においてピボットポイントとフィボナッチ比率に基づいて強気、弱気双方のスリードライブハーモニックパターンを識別し、ユーザーが選択できるカスタムエントリー、ストップロス、テイクプロフィット設定を用いて取引を実行するスリードライブパターンシステムを開発します。さらに、チャートオブジェクトによる視覚的フィードバックによって、トレーダーの洞察を強化します。
preview
データサイエンスとML(第43回):潜在ガウス混合モデル(LGMM)を用いた指標データにおける隠れパターン検出

データサイエンスとML(第43回):潜在ガウス混合モデル(LGMM)を用いた指標データにおける隠れパターン検出

チャートを見ていて、奇妙な感覚を覚えたことはありませんか。表面のすぐ下にパターンが隠されている気がして、もし解読できれば価格がどこに向かうか分かるかもしれない、そんな秘密のコードが存在するかもしれないという感覚です。ここで紹介するのがLGMM、マーケットの隠れたパターンを検出するモデルです。これは機械学習モデルで、隠れた市場のパターンを識別する手助けをします。
preview
MQL5取引ツール(第8回):ドラッグ&最小化可能な拡張情報ダッシュボード

MQL5取引ツール(第8回):ドラッグ&最小化可能な拡張情報ダッシュボード

本記事では、前回のダッシュボードを拡張し、ドラッグ&最小化機能を追加し、ユーザー操作性を向上させながら、複数銘柄のポジションや口座指標のリアルタイム監視を維持する情報ダッシュボードを開発します。
preview
MQL5で自己最適化エキスパートアドバイザーを構築する(第14回):フィードバックコントローラーにおけるデータ変換を調整パラメータとして捉える

MQL5で自己最適化エキスパートアドバイザーを構築する(第14回):フィードバックコントローラーにおけるデータ変換を調整パラメータとして捉える

前処理は非常に強力でありながら、しばしば軽視されがちな調整パラメータです。その存在は、より注目されるオプティマイザーや華やかなモデル構造の影に隠れています。しかし、前処理のわずかな改善は、利益やリスクに対して予想以上に大きな複利効果をもたらすことがあります。あまりにも多くの場合、このほとんど未踏の領域は単なるルーチン作業として扱われ、手段としてしか意識されません。しかし実際には、前処理は信号を直接増幅することもあれば、容易に破壊してしまうこともあるのです。
preview
取引におけるニューラルネットワーク:ハイブリッドグラフシーケンスモデル(GSM++)

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

グラフシーケンスモデル(GSM++)は、異なるアーキテクチャの利点を統合することで、高精度なデータ分析と最適化された計算コストを両立するモデルです。これらのモデルは、動的な市場データに効果的に適応し、金融情報の表現および処理能力を向上させます。
preview
機械学習の限界を克服する(第4回):複数ホライズン予測による既約誤差の回避

機械学習の限界を克服する(第4回):複数ホライズン予測による既約誤差の回避

機械学習は統計学や線形代数の観点から語られることが多いですが、本記事ではモデル予測を幾何学的に理解する視点に注目します。本記事で示したいのは、モデルはターゲットを直接近似しているのではなく、ターゲットを別の座標系に写像することで固有のずれを生み出し、その結果、避けがたい既約誤差が生じる点です。また本記事では、ターゲットとの直接比較ではなく、異なるホライズンにおけるモデルの予測同士を比較する複数ステップ予測の方が実務的かつ有効であることを提案します。この手法を取引モデルに適用すると、基礎モデルを変更することなく、収益性と予測精度が大幅に向上することを確認しました。
preview
迅速な取引判断を極める:実行麻痺を克服する

迅速な取引判断を極める:実行麻痺を克服する

UT BOT ATRトレーリングインジケーターは、個人向けにカスタマイズ可能なインジケーターであり、短期売買において素早い意思決定を好むトレーダー(スキャルパー)にとって非常に効果的です。また、長期取引をおこなうトレーダー(ポジショントレーダー)にとっても重要かつ非常に有効であることが実証されています。
preview
MQL5で自己最適化エキスパートアドバイザーを構築する(第15回):線形系同定

MQL5で自己最適化エキスパートアドバイザーを構築する(第15回):線形系同定

取引戦略の改善は困難な課題です。その大きな理由の一つは、戦略がどこで、なぜ誤作動しているのかを私たち自身が十分に理解できていない点にあります。本記事では、制御理論の一分野である線形系同定を紹介します。線形帰還系(フィードバックシステム)は、データから学習することでシステムの誤差を特定し、その挙動を意図した結果へと導くことができます。これらの手法は、必ずしも完全に解釈可能な説明を与えるものではありませんが、制御系が存在しない状態と比べれば、はるかに有用です。本記事では、線形系同定がどのようにアルゴリズムトレーダーを支援し、取引アプリケーションを制御下に保つことができるのかを探っていきます。
preview
初心者からエキスパートへ:MQL5を使ったアニメーションニュース見出し(V) - イベントリマインダーシステム

初心者からエキスパートへ:MQL5を使ったアニメーションニュース見出し(V) - イベントリマインダーシステム

本ディスカッションでは、News Headline EAに表示される経済指標カレンダーイベントに対して、精緻化されたイベント通知ロジックを統合することで得られる追加的な改善について検討します。この強化により、主要な今後のイベント直前にユーザーがタイムリーに通知を受け取れるようになります。詳細については、本ディスカッションでご確認ください。
preview
初心者からエキスパートへ:MQL5を使ったアニメーションニュース見出し(XI) - ニュース取引における相関

初心者からエキスパートへ:MQL5を使ったアニメーションニュース見出し(XI) - ニュース取引における相関

本記事では、金融相関の概念を活用して、主要な経済指標発表時に複数の通貨ペアを取引する際の判断効率を高める方法を検討します。特に、ニュースリリース時のボラティリティ上昇によるリスク増大という課題に焦点を当てます。
preview
機械学習に基づく平均回帰戦略の作成

機械学習に基づく平均回帰戦略の作成

本記事では、機械学習を使った取引システムを構築するための、もう1つの独自のアプローチを提案します。クラスタ分析(クラスタリング)と取引のラベル付けを用いた平均回帰戦略のための手法です。
preview
知っておくべきMQL5ウィザードのテクニック(第85回):ストキャスティクスとFrAMAのパターンを用いたβ-VAEによる推論

知っておくべきMQL5ウィザードのテクニック(第85回):ストキャスティクスとFrAMAのパターンを用いたβ-VAEによる推論

本記事は、ストキャスティクスとフラクタル適応型移動平均の組み合わせを紹介した「第84回」の続きです。今回は推論フェーズでの学習結果の活用に焦点を移し、前回の記事で取り上げた低調なパターンの成績を改善できるかどうかを検討します。ストキャスティクスとFrAMAは、モメンタムとトレンドを補完する関係にあります。推論フェーズでの学習結果の活用では、以前に考察したβ変分オートエンコーダ(β-VAE)のアルゴリズムを再度利用します。また、いつものように、MQL5ウィザードとの統合を目的として設計されたカスタムシグナルクラスの実装も継続します。
preview
学習中にニューロンを活性化する関数:高速収束の鍵は?

学習中にニューロンを活性化する関数:高速収束の鍵は?

本記事では、ニューラルネットワークの学習における異なる活性化関数と最適化アルゴリズムの相互作用に関する研究を紹介します。特に、古典的なADAMとその集団版であるADAMmを比較し、振動するACONやSnake関数を含む幅広い活性化関数での動作を検証します。最小構成のMLPアーキテクチャ(1-1-1)と単一の学習例を用いることで、活性化関数が最適化に与える影響を他の要因から切り離して観察します。本記事では、活性化関数の境界を利用したネットワーク重みの管理と重み反射機構を提案し、学習における飽和や停滞の問題を回避できることを示します。
preview
ビリヤード最適化アルゴリズム(BOA)

ビリヤード最適化アルゴリズム(BOA)

BOA法は、古典的なビリヤードに着想を得ており、最適解を探すプロセスを、玉が穴に落ちることで最良の結果を表すゲームとしてシミュレーションします。本記事では、BOAの基本、数学モデル、およびさまざまな最適化問題を解く際の効率について考察します。
preview
ログレコードをマスターする(第10回):抑制機能を実装してログの再表示を防ぐ

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

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

外国為替におけるフィボナッチ(第1回):価格と時間の関係を調べる

市場はフィボナッチに基づく関係性をどのように観測しているのでしょうか。各項が直前の2つの項の和になっているこの数列(1, 1, 2, 3, 5, 8, 13, 21...)は、ウサギの個体数の増加を説明するだけのものではありません。私たちは、「世界のあらゆるものは数の一定の関係に従う」というピタゴラス派の仮説を考察します。
preview
知っておくべきMQL5ウィザードのテクニック(第84回):ストキャスティクスとFrAMAのパターンの使用 - 結論

知っておくべきMQL5ウィザードのテクニック(第84回):ストキャスティクスとFrAMAのパターンの使用 - 結論

ストキャスティクスとフラクタル適応型移動平均(FrAMA: Fractal Adaptive Moving Average)は、互いに補完し合う特性を持っており、MQL5のエキスパートアドバイザー(EA)で使えるインジケーターペアの1つです。この組合せについては前回の記事で紹介しましたが、今回はその締めくくりとして、残る5つのシグナルパターンを検討していきます。これらの検証にあたっては、これまでと同様にMQL5ウィザードを用いて構築およびテストをおこないます。
preview
リプレイシステムの開発(第78回):新しいChart Trade(V)

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

本記事では、受信側コードの一部の実装方法について解説します。ここでは、プロトコルの相互作用をテストし理解するためのエキスパートアドバイザー(EA)を実装します。ここで提示されるコンテンツは、教育目的のみに使用されることを意図しています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを利用することは避けてください。
preview
アルゴリズム取引戦略:AIで金市場の頂点を目指す

アルゴリズム取引戦略:AIで金市場の頂点を目指す

本記事では、機械学習を用いた金(ゴールド)の取引戦略作成手法を紹介します。提案された手法は、時系列データをさまざまな角度から分析して予測するアプローチに基づいており、従来の金融時系列の分析と予測のみを用いた取引システム作成手法と比較して、その利点や欠点を明らかにすることができます。
preview
Parafrac V2オシレーター:パラボリックSARとATRの統合

Parafrac V2オシレーター:パラボリックSARとATRの統合

Parafrac V2オシレーターは、パラボリックSARとATR(Average True Range、平均真の範囲)を統合した高度なテクニカル分析ツールです。前バージョンのParafracオシレーターではフラクタルを使用していたため、過去や現在のシグナルを覆い隠すようなスパイクが発生しやすいという課題がありました。Parafrac V2ではATRによるボラティリティ測定を活用することで、トレンドや反転、ダイバージェンスの検出をより滑らかで信頼性の高い方法で行えるようになり、チャートの混雑や分析の過負荷を軽減できます。
preview
MQL5におけるパイプライン

MQL5におけるパイプライン

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

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

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

機械学習を用いたトレンド取引戦略の開発

この研究では、トレンドフォロー型取引戦略を開発するための新しい手法を提案します。このセクションでは、学習データのアノテーション方法と、それを用いて分類器を学習させるプロセスについて説明します。このプロセスにより、MetaTrader 5上で稼働可能な、完全に実用的な取引システムが構築されます。
preview
取引におけるニューラルネットワーク:予測符号化を備えたハイブリッド取引フレームワーク(最終回)

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

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

PythonでリモートFXリスク管理システムを構築する

Pythonで動作するリモートの外国為替リスク管理システムを構築しており、サーバーにも段階的に展開しています。本記事を通して、プログラムでFXのリスクを管理する方法や、FXの資金を無駄にしない方法を学んでいきます。
preview
MQL5における単変量時系列への動的モード分解の適用

MQL5における単変量時系列への動的モード分解の適用

動的モード分解(DMD: Dynamic Mode Decomposition)は、主に高次元データセットに対して用いられる手法です。本稿では、DMDを単変量の時系列に適用し、その特性把握や予測に活用できることを示します。その過程で、MQL5に搭載されているDMDの実装、とりわけ新しい行列メソッドであるDynamicModeDecomposition()について詳しく解説します。
preview
初心者からエキスパートへ:MQL5での可視化による地理的市場認識の強化

初心者からエキスパートへ:MQL5での可視化による地理的市場認識の強化

セッションを意識せずに取引することは、まるでコンパスなしで航海するようなものです。移動してはいるものの、目的を持って移動していないのです。本稿では、トレーダーが市場のタイミングを認識する方法を革新し、通常のチャートを動的な地理的表示に変換する手法を紹介します。MQL5の強力な可視化機能を活用して、リアルタイムでアクティブな取引セッションを点灯させるライブ世界地図を構築します。これにより、抽象的な市場時間が直感的な視覚情報として理解可能になります。この手法は取引心理を鋭敏化すると同時に、複雑な市場構造と実用的な洞察を結びつけるプロフェッショナル向けのプログラミング技術も明らかにします。
preview
初級から中級まで:インジケーター(III)

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

本記事では、DRAW_COLOR_LINEやDRAW_FILLINGなど、さまざまなグラフィック表示インジケーターの宣言方法について解説します。さらに、複数のインジケーターを用いてグラフを簡単かつ実践的に、そして高速に描画する方法も学びます。これにより、MetaTrader 5や市場全体の見方が大きく変わることでしょう。
preview
ロイヤルフラッシュ最適化(RFO)

ロイヤルフラッシュ最適化(RFO)

オリジナルの「ロイヤルフラッシュ最適化」アルゴリズムは、最適化問題を解決するための新しいアプローチを提示しています。この手法では、遺伝的アルゴリズムで一般的に用いられる古典的な二進符号化を、ポーカーの原理に着想を得たセクターベースのアプローチに置き換えています。RFOは、基本原理を単純化することで、効率的かつ実用的な最適化手法が実現できることを示しています。本記事では、アルゴリズムの詳細な解析とテスト結果を紹介します。
preview
MQL5で自己最適化エキスパートアドバイザーを構築する(第12回):行列分解を用いた線形分類器の構築

MQL5で自己最適化エキスパートアドバイザーを構築する(第12回):行列分解を用いた線形分類器の構築

本記事では、アルゴリズム取引における行列分解の強力な役割、特にMQL5アプリケーション内での活用について探ります。回帰モデルからマルチターゲット分類器まで、実際の例を通して、これらの手法が組み込みのMQL5関数を使ってどれほど容易に統合できるかを示します。価格の方向性を予測する場合でも、インジケーターの挙動をモデル化する場合でも、このガイドは行列手法を用いたインテリジェントな取引システム構築の強固な基盤を提供します。
preview
Parafracオシレーター:パラボリックとフラクタルインジケーターの組み合わせ

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

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

MetaTraderとGoogleシートがPythonAnywhereで融合:安全なデータフローのガイド

本記事では、MetaTraderのデータをGoogleスプレッドシートに安全にエクスポートする方法を紹介します。Googleスプレッドシートはクラウドベースで、保存されたデータにいつでもどこからでもアクセスできるため、非常に有用なソリューションです。トレーダーはGoogleスプレッドシートにエクスポートされた取引データや関連情報にいつでもアクセスでき、将来の取引に向けた分析を自由におこなうことができます。
preview
共和分株式による統計的裁定取引(第4回):リアルタイムモデル更新

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

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

円探索アルゴリズム(CSA)

本記事では、円の幾何学的性質に基づいた新しいメタヒューリスティック最適化アルゴリズム「円探索アルゴリズム(Circle Search Algorithm, CSA)」を紹介します。本アルゴリズムは、最適解を探索するために点を接線に沿って移動させる原理を使用し、大域探索と局所探索のフェーズを組み合わせています。
preview
取引におけるニューラルネットワーク:2次元接続空間モデル(Chimera)

取引におけるニューラルネットワーク:2次元接続空間モデル(Chimera)

この記事では、革新的なChimeraフレームワークについて解説します。Chimeraは二次元状態空間モデルを用い、ニューラルネットワークで多変量時系列を解析する手法です。この方法は、従来手法やTransformerアーキテクチャを上回る低い計算コストで高い精度を実現します実現します。
preview
初心者からエキスパートへ:市場期間同期化ツール

初心者からエキスパートへ:市場期間同期化ツール

本ディスカッションでは、上位時間足から下位時間足への同期をおこなうツールを紹介します。このツールは、上位時間足の期間にまたがる市場パターンを分析する際の課題を解決することを目的としています。MetaTrader 5に標準搭載されている期間マーカーは、制限が多く柔軟性に欠けるため、非標準の時間足には対応しにくいことがあります。そこで私たちは、MQL5言語を活用して、下位時間足のチャート上で上位時間足の構造を動的かつ視覚的に表示できるインジケーターを開発しました。このツールは、詳細な市場分析に非常に役立ちます。その機能や実装方法について詳しく知りたい方は、ぜひディスカッションにご参加ください。
preview
市場シミュレーション(第7回):ソケット(I)

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

ソケットについてご存じでしょうか。また、MetaTrader 5でどのように使用するかをご存じでしょうか。もし答えが「いいえ」であれば、ここから一緒に学んでいきましょう。本日の記事では、その基礎について解説します。同じことを実現する方法はいくつも存在しますが、私たちが常に重視するのは結果です。そこで、MetaTrader 5からExcelのような他のプログラムへデータを転送するための、実際にシンプルな方法が存在することを示したいと思います。ただし、本来の主な目的は、MetaTrader 5からExcelへデータを送ることではなく、その逆、つまりExcelやその他のプログラムからMetaTrader 5へデータを転送することにあります。
preview
血液型遺伝最適化(BIO)

血液型遺伝最適化(BIO)

人間の血液型の遺伝システムに着想を得た、新しい集団最適化アルゴリズム「血液型遺伝最適化(BIO)」を紹介します。このアルゴリズムでは、各解がそれぞれ固有の「血液型」を持ち、その血液型が進化の方法を決定します。自然界において子の血液型が特定の遺伝ルールに従って受け継がれるように、BIOでは新しい解が継承と突然変異の仕組みを通じて特性を獲得します。
preview
機械学習の限界を克服する(第6回):効果的なメモリクロスバリデーション

機械学習の限界を克服する(第6回):効果的なメモリクロスバリデーション

本記事では、時系列クロスバリデーションにおける従来のアプローチと、その前提に疑問を投げかける新しい考え方を比較します。特に、市場環境が時間とともに変化するという点を十分に扱えていないという、古典的手法の弱点に焦点を当てます。これらの問題を踏まえ、Effective Memory Cross-Validation (EMCV)という、ドメインを意識した検証手法を紹介します。このアプローチは、「過去データは多ければ多いほど良い」という長年の常識を見直すものです。