因果推論とアルゴリズム取引における回帰モデルの活用
アルゴリズム取引における回帰モデルの活用可能性について考察します。回帰モデルは、二値分類とは異なり、予測される価格変動を定量的に表現できるため、より柔軟な取引戦略を構築できます。
市場取引アルゴリズム(EMA)
本稿では、株式市場のトレーダーの行動に着想を得た市場取引アルゴリズム(EMA, Exchange Market Algorithm)について詳しく分析します。このアルゴリズムは株式取引をシミュレーションするもので、市場参加者はそれぞれ異なる成功度を持ち、利益を最大化するためにさまざまな戦略を使用します。
多通貨エキスパートアドバイザーの開発(第28回):決済マネージャの追加
複数の戦略を並列で実行する場合、定期的にすべての未決済ポジションを決済し、戦略を最初から再開したい場合があります。しかし、現行のコードでは、この動作は手動でしか実現できません。そこで、この処理を自動化してみましょう。
初級から中級まで:オブジェクトイベント(I)
チャート上のオブジェクトに何らかの変更が発生した際に、MetaTrader 5が生成する可能性のある6種類のイベントのうち、3つについて説明します。これらのイベントは、ユーザー操作という観点から非常に有用です。なぜなら、これらのイベントを理解していなければ、特定の目的でオブジェクトを管理しようとする際に、チャートの特定の構成を維持するために、より多くの作業を自分でおこなわなければならなくなるからです。
市場シミュレーション:MQL5におけるSQL入門(IV)
多くの人はSQLを過小評価しがちで、あるいはSQLが実際にどのように動作するのかを十分に理解していないため、まったく使わないことさえあります。SQLデータベースに対してクエリを実行する場合、常に汎用的な答えを求めているわけではありません。場合によっては、非常に具体的で実用的な答えが必要になります。もしデータベースが適切な構造とデータモデルによって設計されていれば、ほぼあらゆる種類の情報を統合することが可能です。
MQL5におけるタイムギャップ分析(第2回):時間経過に伴う流動性分布のヒートマップ作成
MetaTrader 5で、時間に対する価格分布を視覚化するヒートマップインジケータを作成する方法についての詳細なガイドです。時間密度分析の数学的な基礎に基づき、価格帯ごとの滞在時間をヒートマップとして可視化するMetaTrader 5向けインジケータの作成方法を詳しく解説します。このインジケータでは、各価格レベルの滞在時間を赤(滞在時間が最小)から青(滞在時間が最大)までの色で表現します。
時間帯別・曜日別・月の日付別の季節性インジケータ
金融市場における繰り返し発生する価格パターンを分析するためのツールの開発方法について説明します。分析対象となるのは、月の日付(1日~31日)、曜日(月曜日~日曜日)、または1日の時間帯(0時~23時)です。このインジケータは過去のデータを分析し、それぞれの期間における平均リターンを計算します。そして、その結果をヒストグラムと予測表示によって可視化します。また、季節性タイプ、分析するバー数、パーセント表示または絶対値表示、チャートカラーなど、ユーザーが変更可能なパラメータも備えています。
初級から中級まで:オブジェクト(IV)
これは、これまでの記事の中でも、おそらくいちばん楽しい内容でしょう。なぜなら、ここではMetaTrader 5にすでに存在しているオブジェクトを変更し、本来プラットフォーム上には存在しない別のオブジェクトを作成するからです。もちろん、これから見ていく内容は少し無謀に思えるかもしれません。しかし、実際に動作し、非常に興味深い用途に役立ちます。
初級から中級まで:オブジェクト(III)
本日の記事では、特にMQL5でプログラミングを学び始めたばかりの方に向けて、非常に魅力的で興味深いインタラクションシステムの実装方法を紹介します。ここで取り上げる内容自体に、根本的に新しいものがあるわけではありません。しかし、本記事では私なりのアプローチで解説を進めるため、内容をより理解しやすく感じていただけると思います。実践的で興味を持って取り組める題材を通して、構造化アプローチを用いたプログラム開発の流れを実際に確認していきます。
初級から中級まで:マウスイベントの処理
本記事は、コードを眺めて学習するだけでは、そこでおこなわれている処理を十分に理解することが難しい内容に分類されます。実際には、実行可能なアプリケーションを作成し、それを任意のチャート上で動作させる必要があります。そうすることで、キーボードとマウスを組み合わせて特定の要素を作成する方法など、コードを読むだけでは非常に理解しにくい細かな点まで把握できるようになります。
ニューラルネットワークの実践:習うより慣れよ
ニューロンをわずかに特化させる単純なコード変更によって、学習段階を大幅に高速化できる方法について見ていきます。結局のところ、後ほど詳しく説明するように、ニューロンやニューラルネットワークが一度学習を完了すると、その後に実行する処理ははるかに高速になります。また、実際には存在しているにもかかわらず、ほとんど語られることのない問題についても取り上げます。
取引におけるニューラルネットワーク:特定データへの依存なしに時系列を汎化する(Mamba4Cast)
Mamba4Castフレームワークを紹介するとともに、その主要コンポーネントの1つであるタイムスタンプに基づく位置エンコーディングについて詳しく解説します。データのカレンダー構造を考慮して時間埋め込みがどのように生成されるのかを示します。
取引におけるニューラルネットワーク:適応型モード分解を用いた時系列予測(最終回)
アルゴリズム取引におけるACEFormerフレームワークの適応およびMQL5を用いた実用的な実装について説明します。特に、主要なアーキテクチャ設計の判断、学習プロセスの特徴、そして実データを用いたモデル検証結果について紹介します。
取引におけるニューラルネットワーク:適応型モード分解を用いた時系列予測(ACEFormer)
ACEFormerアーキテクチャについて紹介します。これは、Probabilistic Attention(確率的注意)機構の有効性と、適応型時系列分解を組み合わせた最新のソリューションです。本記事は、金融市場において計算性能と予測精度のバランスを求める方にとって有用な内容となっています。
取引におけるニューラルネットワーク:多変量時系列予測のためのLSTMの最適化(最終回)
時系列解析および予測のための革新的な手法を提供するDA-CG-LSTMフレームワークの実装を引き続き進めます。CG-LSTMとデュアルアテンション(dual attention)機構を組み合わせることで、データに含まれる長期的および短期的な依存関係をより高い精度で検出できるため、金融市場の分析に特に有効です。
取引におけるニューラルネットワーク:多変量時系列予測のためのLSTMの最適化(DA-CG-LSTM)
時系列分析および予測に新たな手法を提供するDA-CG-LSTMアルゴリズムを紹介します。革新的なアテンション機構とモデルの柔軟性を活用することで、予測精度をどのように向上できるのかを解説します。
取引におけるニューラルネットワーク:Actor-Director-Critic(最終回)
Actor-Director-Criticフレームワークは、古典的なエージェント学習アーキテクチャを発展させたものです。本記事では、その実装と金融市場環境への適応に関する実践的な経験を紹介します。
取引におけるニューラルネットワーク:Actor-Director-Critic
階層型学習とマルチコンポーネントアーキテクチャを組み合わせたActor-Director-Critic (ADC)フレームワークについて詳しく解説します。DirectorがActorの行動を分類する仕組みが、トレードにおける意思決定の最適化にどのように寄与し、金融市場という不確実性の高い環境においてモデルの頑健性をどのように向上させるのかを詳しく解説します。
取引におけるニューラルネットワーク:適応型エージェント行動のための階層的スキル発見(最終章)
アルゴリズム取引への適用を目的としたHiSSDフレームワークの実装について解説します。スキル階層と適応的なアーキテクチャを活用して、安定的に機能する取引戦略を構築する方法を説明します。
取引におけるニューラルネットワーク:適応的なエージェント行動のための階層的スキル発見(HiSSD)
HiSSDフレームワークについて解説します。HiSSDは、階層的学習とマルチエージェントアプローチを組み合わせることで、適応性の高いシステムを構築するためのフレームワークです。この革新的な手法が金融市場に潜む隠れたパターンをどのように発見し、分散環境における取引戦略の最適化にどのように貢献するのかを詳しく見ていきます。
取引におけるニューラルネットワーク:周波数領域での異常検知(最終回)
フーリエ変換と周波数パッチングの仕組みを組み合わせ、市場の異常を高精度に検出するCATCHフレームワークの実装を続けます。提案されたアプローチに対する独自の実装を完成させるとともに、新しいモデルを実際の市場履歴データで検証します。
コード、涙、そしてAlgo Forge
プログラムコードや記事の添付ファイルを、より快適に公開・管理するための新しい方法として、MQL5 Algo Forgeへの移行について紹介します。従来のZIPアーカイブ形式でソースコードを添付する方法の代わりにリポジトリを使用することで、プロジェクトを常に最新の状態に保ち、素早く編集し、読者とよりプロフェッショナルな形で関わることができるようになります。MetaEditorインターフェースを通じて、開発したものをクラウド環境へ素早く移行するための推奨方法についても説明します。
MQL5取引ツール(第24回):3Dカーブ、パンモード、ViewCubeナビゲーションによる奥行き感の向上
MQL5の3D二項分布グラフ表示ツールを拡張し、確率質量関数(PMF)の奥行き感を向上させるセグメント化された3Dカーブを追加するとともに、注視点を移動できるパンモードと、素早く視点を切り替えられるインタラクティブなViewCubeを実装します。さらに、ViewCube内の面・辺・頂点に対応するクリック可能なサブゾーンを追加し、標準ビューへのカメラ遷移をアニメーションでおこなえるようにします。これらの機能を、2D/3D表示の切り替え、リアルタイム更新、各種カスタマイズ設定と組み合わせることで、トレードにおける確率分布分析を、より直感的で没入感のある分析環境を実現します。
MQL5とデータ処理パッケージの統合(第8回):グラフニューラルネットワークによる流動性ゾーンの検出
市場構造をMQL5上でグラフとして表現し、スイングハイとスイングローを特徴量を持つノードとして扱い、それらをエッジで接続する方法を紹介します。また、潜在的な流動性ゾーンをスコアリングするためのGNN(Graph Neural Network:グラフニューラルネットワーク)の学習、モデルのONNX形式へのエクスポート、さらにエキスパートアドバイザー(EA)内でリアルタイム推論を実行する方法についても解説します。読者は、データパイプラインの構築、モデルの統合、チャート上への流動性ゾーンの可視化、そしてそのシグナルをルールベースの売買執行へ活用する方法を学びます。
プライスアクション分析ツールキットの開発(第64回):手動で描画したトレンドラインと自動監視の同期
手動で描画したトレンドラインを監視するには、常にチャートを確認し続ける必要があり、その結果、重要な価格反応を見逃す可能性があります。本記事では、MQL5 において手動で描画したトレンドラインと自動監視ロジックを同期させるトレンドライン監視エキスパートアドバイザーを開発し、価格が監視対象ラインに接近、タッチ、またはブレイクした際にアラートを生成します。
ラリー・ウィリアムズの『市場の秘密』(第15回):相場環境を用いた「隠れスマッシュデー」反転戦略
ラリー・ウィリアムズの「隠れスマッシュデー」の反転を自動化するMQL5エキスパートアドバイザー(EA)を構築します。カスタムインジケータから確定済みのシグナルを読み取り、コンテキストフィルタ(Supertrendの方向一致および任意の取引日ルール)を適用します。また、スマッシュバーの構造またはATRを基準としたストップロスモデル、固定またはリスクベースのポジションサイズによってリスクを管理します。その結果、テストおよび拡張に対応した、再現可能なフレームワークを構築できます。
MetaTrader 5機械学習の設計図(第8回):パージ済み交差検証と試行枝刈りを用いたベイズ最適化によるハイパーパラメータ最適化
GridSearchCVとRandomizedSearchCVは、金融機械学習(金融ML)における本質的な制約を共有しています。それは、各試行が独立しているため、計算資源を増やしても探索そのものが賢くならないという点です。本記事では、TPE (Tree-structured Parzen Estimator)を用いるOptunaを、PurgedKFold交差検証、HyperbandPrunerによる早期終了、および学習用重みと評価用重みを分離する二重重み規約と統合する方法を紹介します。その結果として、フォールド単位で枝刈りをおこなう目的関数、モデルのハイパーパラメータと重み付けスキームを同時に最適化する提案層、金融タスク向けに調整されたプルーナー、SQLiteをバックエンドとする、再開可能なオーケストレーター、Optunaの結果をscikit-learnのcv_results_形式へ変換するコンバータの5つの要素から構成されるシステムが得られます。さらに本記事では、Timothy Mastersが示した境界についても説明します。すなわち、「統計的な目的関数では誘導的な探索が有益である一方、金融目的関数では逆に有害となる」という考え方です。
初心者からエキスパートへ:MQL5におけるマルチタイムフレーム構造確認による流動性戦略の強化
上位足の流動性構造と下位足の反転パターンが一致すると、次の価格変動の方向性と発生確率の両方に大きな影響を与えます。上位足で形成された構造的な流動性ゾーンと、下位足での明確な反転確認シグナルを組み合わせることで、エントリータイミングの精度とトレード全体の質を向上させることができます。本記事では、上位足の構造的な確認を活用して流動性ベースのトレード戦略を強化する方法と、そのアプローチをMQL5で効果的に実装する方法について解説します。
MetaTrader 5における低頻度定量戦略(第1回):OLAP対応データストアの構築
Parquetストレージ、Hive形式のパーティション、そしてDuckDBを基盤とした、定量分析のための実用的なデータパイプラインについて説明します。選択したSQLiteテーブルをParquetへ移行する方法、市場データをデータソース、銘柄、時間足、日付によって構造化する方法、そしてSQLウィンドウ関数を使用してそれをクエリする方法について詳しく説明します。ゴールデンクロスの例では、銘柄横断的なフォワードリターン評価を示します。付属するPythonスクリプトでは、データのダウンロード、変換、実行を処理します。
バックテスト過剰適合を防ぐ統合検証パイプライン ― V-in-V・CPCV・CSCVによる堅牢な戦略検証
金融時系列データに対して標準的なウォークフォワード法やk分割交差検証が、なぜ実際以上に良好な結果を示してしまうのかを解説します。そのうえで、この問題を解決するための実践的な手法を紹介します。V-in-V (Validation-within-Validation)は、データを厳密に分割し、アンカー型ウォークフォワードによる検証を実施します。CPCV (Combinatorially Purged Cross-Validation)は、情報漏洩を防ぐために-パージとエンバーゴを適用し、複数の検証パスの結果を統合して評価します。さらにCSCV (Combinatorially Symmetric Cross-Validation)は、バックテスト過剰適合確率(PBO, Probability of Backtest Overfitting)を定量的に測定します。これらを組み合わせることで、異なる市場レジームに対する戦略の頑健性と、戦略選択の信頼性を整合的な評価フレームワークで評価できるようになります。
MQL5経済指標カレンダーを用いたニュースフィルタリング(第2回):ニュースリリース中に管理ポジションを停止する
第2回では、ニュースフィルタを拡張し、ニュースイベント中に既存のポジションを保護します。取引を決済する代わりに、ストップロス(SL)およびテイクプロフィット(TP)を一時的に解除し、それらの値をメモリ上へ安全に保存します。ニュースウィンドウが終了すると、ストップは決定論的に復元されます。この際、価格がすでに元の水準を超えている場合には、その値を調整するとともに、ブローカーの最小ストップ距離ルールを遵守します。その結果、エントリーロジックへ干渉せず取引構造の整合性を維持し、ボラティリティの高い状況でもEAが取引を制御できる仕組みを実現します。
グラフ理論:取引における深さ優先探索(DFS)の応用
深さ優先探索(DFS)を市場構造に適用し、スイングハイとスイングローをグラフのノードとしてモデル化します。そして、条件が有効である限り、1つの構造的な経路を深く追跡します。重要なスイングがブレイクされた場合、アルゴリズムはバックトラックし、別の分岐を探索します。読者は、構造的バイアスを形式化し、現在の経路が流動性プールや需給ゾーンなどのターゲットと整合しているかを検証するための実践的なフレームワークを学ぶことができます。
MQL5における切断ニュートン共役勾配(TNC)アルゴリズムの実装
MQL5でボックス制約付き切断ニュートン共役勾配法(TNC, Truncated Newton Conjugate-Gradient)最適化アルゴリズムを実装し、その中核となる構成要素であるスケーリング、境界への射影、ラインサーチ、および有限差分によるヘッセ行列と任意のベクトルとの積の計算について詳しく説明します。また、解析的微分と数値微分の両方に対応した目的関数ラッパーを提供し、ローゼンブロックベンチマークを用いてソルバーを検証します。さらに、ロジスティック回帰の実装例を通じて、TNCをL-BFGSの代替ソルバーとして利用する方法を紹介します。
MQL5取引ツール(第23回):カメラ制御対応DirectX 3Dグラフによる二項分布分析
MQL5における二項分布グラフ描画ツールをさらに発展させ、DirectXを統合することで3D可視化を実現します。これにより、カメラ制御による回転、ズーム、自動フィット機能を備えた切り替え可能な2D/3Dモードが利用可能になります。3Dヒストグラムバー、グラウンドプレーン、軸を理論的な確率質量関数(PMF)曲線とともに描画しながら、統計パネル、凡例、カスタマイズ可能なテーマ、グラデーション、ラベルなどの2D要素も維持します。
ラリー・ウィリアムズの『市場の秘密』(第14回):カスタムインジケータで隠れスマッシュデー反転を検出する
厳密な数値条件と、オプションとして次のセッションによる確認を利用して、隠れスマッシュデー反転バーを検出する実用的なMQL5インジケータを開発します。検出ルーチン、バッファ登録、そして有効なバー上に矢印を表示するためのプロット設定について説明します。このアプローチにより、過去データのテストおよびリアルタイム監視において、安定した非リペイントシグナルを提供します。
PDアレイを使いこなす:PDアレイ内のインバランスを活用したトレードの最適化
PDアレイ(PD Arrays)内で発生するインバランスから生じるトレードセットアップを、どのように整理・定義し、活用すべきかを明確に解説することを目的とした、特化型のトレンドフォロー型EAに関する記事です。本記事では、PDアレイおよびインバランスを自身のトレードにおけるエントリー条件やトレード判断基準として最適化し、活用したいと考えるトレーダー向けに設計されたEAについて詳しく解説します。また、高値圏(Premium Array)および安値圏(Discount Array)を正しく判定し、それぞれが適切な相場環境で発生した際に、どのように検証し活用するべきかについても説明します。
KnitPkgを用いたMQL5向けパッケージベース開発手法
MetaTrader向けにMQLを用いた高い信頼性と生産性を備えた開発を実現するため、MQL5/MQL4向けのプロジェクトマネージャであるKnitPkgを利用した、再利用可能な「パッケージ」を中心とする開発手法を紹介します。パッケージは、他のパッケージを構成する土台として利用できるだけでなく、EAやインジケータなど、MetaTraderプラットフォーム上で直接動作する最終成果物の基盤としても活用できます。
MQL5取引ツール(第22回):二項分布のヒストグラムと確率質量関数(PMF)の描画
シミュレーション結果のヒストグラムと理論的な確率質量関数(PMF)を組み合わせた、二項分布を可視化するインタラクティブなMQL5プロットを開発します。本ツールでは、平均、標準偏差、歪度、尖度、パーセンタイル、信頼区間を実装し、さらに設定可能なテーマやラベル表示にも対応しています。また、ドラッグ操作、サイズ変更、リアルタイムでのパラメータ変更をサポートします。このツールを使用することで、トレード戦略の検証時に、期待される勝ち回数、起こり得るドローダウンの範囲、信頼区間を評価できます。
取引規律をコードに組み込む(第3回):MQL5でホワイトリストを用いて銘柄単位の取引境界を強制適用する
取引対象を承認済み銘柄のみに制限するMQL5フレームワークについて解説します。このソリューションは、共有ライブラリ、設定用ダッシュボード、そして取引制限を強制適用するエキスパートアドバイザー(EA)で構成されています。EAは各取引の対象銘柄がホワイトリストに含まれているかを検証し、許可されていない銘柄で発生した取引試行をブロックするとともに、その履歴をログへ記録します。本記事では、完全に動作するコード例、構造設計上の判断理由、さらに銘柄フィルタリングの信頼性、マーケットエクスポージャーの制御、ルール強制適用状況の透明性を確認するための検証テストについて説明します。
MQL5標準ライブラリエクスプローラー(第9回):ALGLIBによる多発するMAクロスオーバーシグナルのフィルタ処理
横ばいの価格変動中、トレーダーは複数の移動平均クロスオーバーによって過剰なシグナルに直面します。今回は、ALGLIBがどのように生の価格データを前処理し、フィルタ処理済みのクロスオーバー系列を生成するのかについて説明します。また、これらのレイヤーは発生時にアラートを生成することもできます。数学ライブラリをMQL5プログラムでどう活用できるのかを一緒に見ていきましょう。