一次元特異スペクトル解析
本記事では、特異スペクトル解析(SSA, Singular Spectrum Analysis)法の理論的および実践的側面について考察します。SSAは時系列解析の有効な手法の一つであり、時系列の複雑な構造を、トレンド、季節性(周期的)変動、ノイズなどの単純な成分へ分解して表現することを可能にします。
MQL5における純粋なRSA暗号化の実装
MQL5には組み込みの非対称暗号が存在しないため、HTTPのような安全でないチャネルでのデータ交換は困難です。本記事では、PKCS#1 v1.5パディングを用いた純粋なMQL5実装のRSAを紹介し、外部ライブラリを使用せずにAESのセッションキーや小規模なデータブロックを安全に送信できる方法を解説します。このアプローチにより、標準HTTP上でも、アプリケーションレベルでHTTPSに近い安全性を実現できるだけでなく、MQL5アプリケーションにおける安全な通信の重要なギャップを埋めることができます。
MQL5標準ライブラリエクスプローラー(第9回):ALGLIBによる多発するMAクロスオーバーシグナルのフィルタ処理
横ばいの価格変動中、トレーダーは複数の移動平均クロスオーバーによって過剰なシグナルに直面します。今回は、ALGLIBがどのように生の価格データを前処理し、フィルタ処理済みのクロスオーバー系列を生成するのかについて説明します。また、これらのレイヤーは発生時にアラートを生成することもできます。数学ライブラリをMQL5プログラムでどう活用できるのかを一緒に見ていきましょう。
初級から中級まで:継承
間違いなく、本記事の内容を理解し、それがどのように、そしてなぜ機能するのかを把握するためには、かなりの時間を要するでしょう。というのも、ここで示されている内容はすべて、一見するとオブジェクト指向的に見えますが、実際には構造化プログラミングの原理に基づいているためです。
生物地理学に基づく最適化(BBO)
生物地理学に基づく最適化(BBO, Biogeography-Based Optimization)は、群島内の島々の間で発生する種の移住という自然現象に着想を得た、洗練された大域的最適化手法です。このアルゴリズムは、シンプルでありながら強力な考え方に基づいています。すなわち、良質な解はその特徴を他の解へ伝播し、低品質な解は新たな特徴を積極的に取り込むことで、最良の解から最悪の解へと情報が自然に流れるようになります。さらに、適応的な突然変異オペレーターによって探索と活用の優れたバランスが実現されます。BBOはさまざまな最適化問題に対して高い効率を示しています。
機械学習を用いたフラクタル市場構造入門
本記事では、金融時系列を自己相似的なフラクタル構造という観点から考察します。市場の価格変動が自己相似フラクタルとして捉えられる可能性を支持する類似性が多数存在することから、このような構造の予測可能性の地平線について考えることができます。
市場シミュレーション(第17回):ソケット(XI)
MetaTrader 5上で実行されるコードの実装自体は、それほど難しいものではありません。しかし、いくつか考慮すべき重要な点があります。これはシステムを正しく動作させるために必要です。ここで重要な点を1つ覚えておいてください。実際には1つのプログラムだけが動作するわけではありません。現実には、3つのプログラムを同時に実行する必要があります。それぞれのプログラムが相互に連携し、通信できるように設計して構造化することが重要です。また、それぞれが他のプログラムの処理内容を認識できる必要があります。
初級から中級まで:構造体(IV)
本記事では、いわゆる構造化プログラミングにおけるコードの作り方について解説します。構造体の中に、変数や情報を操作するためのコンテキストおよびメソッドをすべて配置し、あらゆるコードを実装するための適切な文脈を構築する方法を扱います。そのため、公開すべき内容とそうでない内容を分離するためにprivateセクションを使用する必要性について検討します。これによりカプセル化の原則が守られ、データ構造が本来意図されたコンテキストが維持されることになります。
Python-MetaTrader 5ストラテジーテスター(第1回):取引シミュレーター
MetaTrader5のPythonモジュールは、Pythonを使ってMetaTrader5アプリで取引を発注するための便利な手段を提供しています。しかし、このモジュールには大きな問題があります。それは、MetaTrader5アプリに存在するストラテジーテスター機能が備わっていないことです。本連載では、Python環境で取引戦略をバックテストするためのフレームワークを構築していきます。
MQL5でカスタムインジケータを作成する(第8回):出来高統合によるより深いマーケットプロファイル分析
MQL5のハイブリッドTime Price Opportunity (TPO)マーケットプロファイル指標を強化し、出来高データを統合することで、出来高ベースのポイントオブコントロール(PoC)、バリューエリア(VA)、出来高加重平均価格(VWAP)を計算できるようにします。また、カスタマイズ可能なハイライト機能も追加します。このシステムでは、イニシャルバランス(IB)検出、重要レベルの延長ライン、分割プロファイル、さらに分析精度を向上させるための四角形や円形などの代替TPO文字を導入し、複数の時間足に対応した高度な視覚分析を実現します。
カスタムインジケータワークショップ(第1回):MQL5でSupertrendインジケータを構築する
MetaTrader 5向けに、第一原理から非リペイントのSupertrendを構築します。本実装では、ボラティリティ計算にiATRハンドルとCopyBufferを使用し、SetIndexBufferによってバッファをバインドします。また、プロット設定はPlotIndexSetIntegerを用いて構成し、DRAWCOLORCANDLESと2本のラインバンドによる描画をおこないます。ロジックは確定足のみに基づいて更新され、EMPTY_VALUE を使用して非アクティブなバンドを抑制します。さらに、atrPeriodおよびatrMultiplierの入力パラメータを公開し、調整可能な設計としています。これにより、戦略およびシグナル用途のために内部バッファが明確にドキュメント化された、クリーンでEA対応のオーバーレイ型インジケータが得られます。
KnitPkgを用いたMQL5向けパッケージベース開発手法
MetaTrader向けにMQLを用いた高い信頼性と生産性を備えた開発を実現するため、MQL5/MQL4向けのプロジェクトマネージャであるKnitPkgを利用した、再利用可能な「パッケージ」を中心とする開発手法を紹介します。パッケージは、他のパッケージを構成する土台として利用できるだけでなく、EAやインジケータなど、MetaTraderプラットフォーム上で直接動作する最終成果物の基盤としても活用できます。
OpenCLを用いたMQL5におけるCPUからGPUへの実践的移行パス
MQL5でCPUからGPUへの移行方法を実用的に構築する方法を解説します。本記事では、コンテキストの初期化、バッファ構造の設計、大規模バッチ処理、カーネルの起動、データ転送の最小化に焦点を当てます。また、典型的なエラーとその解決方法についても取り上げます。ローソク足パターンの例を通じて、このアプローチの実用的な効果も示します。
ルーチン作業なしのアルゴリズム取引:MetaTrader 5におけるSQLiteを用いた高速取引分析
本記事では、MQL5におけるSQLiteを用いた取引ジャーナル管理のための「最小実用構成」を紹介します。内容には、取引、シグナル、イベント用テーブル構造、インデックス設計、プリペアドステートメントによる高速かつ安全なデータ記録、さらに標準的な分析用SQLクエリが含まれます。また、MetaTrader 5の統計ダッシュボードとの統合方法や、MetaEditor上でデータベースを操作する手法についても解説します。このアプローチにより、取引ジャーナルの自動化、計算処理の高速化、そしてEAコードを複雑化させることなく高度な分析を実現できます。
PythonによるCFTCデータマイニングとAIモデルの構築
CFTCデータのマイニングを試み、Pythonを通じてCOTおよびTFFレポートをダウンロードし、これらをMetaTrader 5の相場データおよびAIモデルと統合して、予測を得てみましょう。FX市場におけるCOTレポートとは何でしょうか。また、COTおよびTFFレポートをどのように予測に活用するのでしょうか。
市場シミュレーション(第12回):ソケット(VI)
本記事では、Pythonコードを他のプログラム内で使用する際に発生する特定の問題や課題をどのように解決するかについて説明します。特に、ExcelとMetaTrader 5を併用する際に生じる一般的な問題を取り上げ、その具体例を示します。なお、この連携の実現にはPythonを使用します。ただし、この実装には小さな欠点があります。この問題は常に発生するわけではなく、特定の状況下でのみ起こります。そして、実際に発生した場合には、その原因を理解することが重要です。本日の記事では、この問題の解決方法について解説を開始します。
取引におけるニューラルネットワーク:多変量時系列のデュアルクラスタリング(最終回)
DUETフレームワークの著者らによって提案されたアプローチの実装を引き続き進めます。本フレームワークは、時間方向とチャネル方向のクラスタリングを組み合わせることで、時系列データに潜在するパターンを抽出する革新的な手法を提供します。
MQL5におけるタイムギャップ分析(第1回):基本インジケータの構築
タイムギャップ分析は、市場の反転が起こる可能性のあるポイントを特定するための手法です。本記事では、タイムギャップとは何か、その解釈方法、そして市場への大口資金の流入を検出するためにどのように活用できるかについて解説します。
Market Memory Zonesインジケーターの自動化:価格が戻りやすい領域
Market Memory Zonesをチャート上の概念から、完全なMQL5エキスパートアドバイザー(EA)へ発展させます。ディスプレイスメントゾーン、市場構造転換 (CHoCH)ゾーン、流動性スイープゾーンの検出をATRおよびローソク足構造フィルタによって自動化し、下位足での確認を適用するとともに、リスクベースのポジションサイズ計算、動的なストップロス(SL)、そして市場構造に基づくテイクプロフィット(TP)を実装します。また、検出、エントリー、トレード管理、可視化のコード構成に加え、バックテスト結果も簡潔に確認します。
ラリー・ウィリアムズの『市場の秘密』(第11回):カスタムインジケータによるスマッシュデー反転の検出
ラリー・ウィリアムズのスマッシュデー反転ルールを、確認済みセットアップを矢印で表示する実用的なMQL5インジケータへ変換します。バッファのバインド、プロットプロパティの設定、履歴データへのマッピング、そしてOnCalculate内でのリアルタイム更新までを、段階的に解説します。調整可能なルックバックパラメータと見やすいチャート描画により、有効な反転をすばやく検出できる一方で、最終的な売買判断は裁量と市場状況に委ねられます。
初級から中級まで:構造体(VII)
本日の記事では、さまざまな要素の構造化に関する問題をどのように解決し、よりシンプルで魅力的な設計へと導くかについて解説します。内容は学習向けであり、そのため本番環境のコードを構成するものではありませんが、ここで扱う概念や知識を十分に理解することが極めて重要です。これにより、今後提示するコードをよりスムーズに追えるようになります。
初級から中級まで:構造体(III)
本記事では、「構造化されたコード」とは何かについて解説します。多くの人が「構造化されたコード」と「整理されたコード」を混同していますが、この2つの概念には明確な違いがあります。本記事ではその違いについて説明します。一見すると複雑に感じられるかもしれませんが、できるだけシンプルに理解できるように解説しています。ただし、本記事はより大きな内容へ進むための第一歩にすぎません。
初級から中級まで:オブジェクトイベント(III)
本記事では、次回の記事で扱う内容の土台を準備します。また、OBJ_LABELオブジェクトを、編集と移動の両方ができる完全にインタラクティブなものにする方法についても見ていきます。つまり、OBJ_LABELオブジェクトのテキストと位置の両方を、オブジェクトのプロパティダイアログを開くことなく変更できるようにします。
市場シミュレーション(第16回):ソケット(X)
このチャレンジも終盤に差し掛かっていますが、その前に、今回の内容と前回の記事の2つの記事をしっかり理解しておく必要があります。そうすることで、次の記事をより深く理解できるようになります。次の記事では、MQL5プログラミングに関連する部分のみを扱う予定です。また、できるだけ分かりやすく説明するように努めます。しかし、これら2つの記事の内容を理解していない場合、次の記事を理解することは難しくなるでしょう。内容が段階的に積み重なっていく構造になっているからです。達成すべき目標に近づくほど、必要となる理解や実装すべき要素は増えていきます。
MQL5取引ツール(第22回):二項分布のヒストグラムと確率質量関数(PMF)の描画
シミュレーション結果のヒストグラムと理論的な確率質量関数(PMF)を組み合わせた、二項分布を可視化するインタラクティブなMQL5プロットを開発します。本ツールでは、平均、標準偏差、歪度、尖度、パーセンタイル、信頼区間を実装し、さらに設定可能なテーマやラベル表示にも対応しています。また、ドラッグ操作、サイズ変更、リアルタイムでのパラメータ変更をサポートします。このツールを使用することで、トレード戦略の検証時に、期待される勝ち回数、起こり得るドローダウンの範囲、信頼区間を評価できます。
MQL5標準ライブラリエクスプローラー(第6回):生成されたエキスパートアドバイザーの最適化
前回開発したマルチシグナルエキスパートアドバイザーを引き続き取り上げ、利用可能な最適化手法の検討と適用をおこないます。その目的は、過去データに基づく体系的な最適化を通じて、EAの取引パフォーマンスを有意に向上させることが可能かどうかを検証することです。
MQL5でのスイング極値とプルバック(第2回):EAによる戦略の自動化
下位足の市場構造を基盤とし、そのシグナル運用を上位足で統合・調整する本インジケーターは、価格が統計的に反転しやすくなるスイングの極値を検出します。価格の行き過ぎ(オーバーエクステンション)とプルバックゾーンを視覚化し、平均回帰の動きを早い段階で把握できるようにします。
市場シミュレーション(第15回):ソケット(IX)
本記事では、これまで実演してきた内容、すなわち「ExcelユーザーがMetaTrader 5上で操作できるようにする方法」の一例について解説します。ここで扱うのは、注文送信やポジションの新規建て・決済をExcel側から直接実行する方法ではなく、ExcelからMetaTrader 5上のEAにそれらの操作を指示する方法です。ユーザーはExcelを用いて特定銘柄のファンダメンタル分析をおこない、その結果をもとに、Excelだけを使ってMetaTrader 5上で稼働しているエキスパートアドバイザー(EA)に対し、特定ポジションの新規建てまたは決済を指示できるようにします。
MQL5カスタムシンボル:3Dバー用シンボルの作成
革新的なインジケータ「3DBarCustomSymbol.mq5」の作成について詳しく解説しています。このインジケータは、MetaTrader 5上でカスタムシンボルを生成し、価格・時間・出来高・ボラティリティを単一の三次元表現に統合します。さらに、その数学的基礎、システムアーキテクチャ、実装における実践的な側面、および取引戦略への応用について考察します。
初心者からエキスパートへ:MQL5におけるマルチタイムフレーム構造確認による流動性戦略の強化
上位足の流動性構造と下位足の反転パターンが一致すると、次の価格変動の方向性と発生確率の両方に大きな影響を与えます。上位足で形成された構造的な流動性ゾーンと、下位足での明確な反転確認シグナルを組み合わせることで、エントリータイミングの精度とトレード全体の質を向上させることができます。本記事では、上位足の構造的な確認を活用して流動性ベースのトレード戦略を強化する方法と、そのアプローチをMQL5で効果的に実装する方法について解説します。
金融時系列における共形予測の考察
共形予測(Conformal Prediction)と、それを実装するMAPIEライブラリについて考察します。このアプローチは機械学習における最も現代的な手法の一つであり、既存のさまざまな機械学習モデルに対するリスク管理に焦点を当てることを可能にします。共形予測それ自体は、データ内のパターンを見つける方法ではありません。これは、既存のモデルが個々のサンプルを予測する際の信頼度を判定するだけであり、信頼性の高い予測を選別できるようにします。
グラフ理論:取引における幅優先探索(BFS)/ja/応用
幅優先探索(BFS)はレベル順トラバーサルを用い、価格スイングを時間/ja/経過とともに進化する有向グラフとして市場構造をモデル化します。過去/ja/ローソク足またはセッションを階層ごとに分析することで、BFSはより直近/ja/価格挙動を優先しつつ、より長期/ja/市場文脈も反映します。
MQL5入門(第37回):MQL5のAPIとWebRequest関数の習得(XI)
MQL5を使用してBinance APIに認証付きリクエストを送信し、アカウント内の全資産の残高情報を取得する方法を解説します。APIキー、サーバー時刻、署名を利用して安全にアカウント情報へアクセスし、そのレスポンスをファイルへ保存して後で活用する方法を学びます。
プライスアクション分析ツールキットの開発(第63回):MQL5での上昇・下降ウェッジ検出の自動化
連載「プライスアクション分析ツールキットの開発」の今回の記事では、上昇ウェッジおよび下降ウェッジパターンをリアルタイムで自動検出するMQL5インジケーターを開発します。このシステムは、ピボット構造を確認し、境界線の収束を数学的に検証し、パターン同士の重複を防止しながら、ブレイクアウトおよび失敗条件を正確な視覚的フィードバックとともに監視します。クリーンなオブジェクト指向アーキテクチャを使用して構築されたこの実装は、主観的なウェッジ認識を、規律あるプライスアクション分析を強化するために設計された、状態を認識して扱える構造化分析コンポーネントへと変換します。
プライスアクション分析ツールキットの開発(第29回):Boom and Crash Interceptor EA
Boom & Crash Interceptor EAは、チャートを能動的なアラートシステムへと変貌させます。超高速の価格変動スキャン、ボラティリティ急増の検出、トレンド確認、そしてピボットゾーンフィルタを組み合わせることで、爆発的な値動きをいち早く捉えます。鮮明な緑色の「Boom」矢印と赤色の「Crash」矢印が売買判断をサポートし、市場の急騰・急落スパイクをこれまで以上に効果的に捉え、活用できるようになります。本記事では、その仕組みと、このツールがトレードにおける次の重要な優位性となり得る理由を詳しく解説します。
MQL5入門(第38回):MQL5のAPIとWebRequest関数の習得(XII)
MetaTrader 5とBinanceの間に実用的な橋渡しを構築します。WebRequestを使用して30分足のデータ(kline)を取得し、JSONからOHLCおよび時刻データを抽出したうえで、確定済みのローソク足のみを使用して強気の包み足パターンを確認します。その後、クエリ文字列を組み立て、HMAC-SHA256署名を計算し、X-MBX-APIKEYを追加して認証済み注文を送信します。これにより、データ取得から注文執行までを網羅した、分かりやすいエンドツーエンドのEAワークフローを実現できます。
取引規律をコードに組み込む(第1回):MQL5でライブトレードに構造的な規律を実装する
規律は意志力ではなく、システム設計によって信頼できるものになります。MQL5を用いてリアルタイム制約を実装し、取引回数の上限や日次エクイティに基づく停止条件によって取引行動を監視し、制約違反が発生した場合には自動的に必要なアクションを実行する仕組みを構築します。読者は、市場のプレッシャー下でも執行の安定性を保つためのガバナンスレイヤーを実装する実践的なテンプレートを習得できます。
口座ダイナミクスの追跡:MQL5による残高、エクイティ、含み損益の可視化
カスタムMT5インジケーターを作成し、全ディール履歴を処理して、開始残高、残高、エクイティ、および含み損益を連続曲線として描画します。このインジケーターはバーごとに更新され、複数銘柄にまたがるポジションを追跡し、ローカルキャッシュを利用することで外部依存を回避します。これを使用することで、エクイティと残高の乖離、実現損益と含み損益の関係、そしてリスクを取ったタイミングを分析できます。
MQL5でカスタムインジケータを作成する(第7回):セッション分析のためのハイブリッドTime Price Opportunity (TPO)マーケットプロファイル
ハイブリッドTime Price Opportunity (TPO)マーケットプロファイル用のカスタムインジケータをMQL5で開発します。このインジケータは、タイムゾーン調整に対応し、イントラデイ、日足、週足、月足、固定期間など、複数のセッション時間足をサポートします。このインジケータでは、価格をグリッド化し、各セッションの高値、安値、始値、終値などのデータを追跡します。また、TPOカウントに基づいて、ポイントオブコントロール(PoC)やバリューエリア(VA)などの主要要素を計算します。さらに、TPO文字、単独プリント、VA、PoC、終値マーカーの色をカスタマイズ可能にし、チャート上にプロファイルを視覚的に描画することで、詳細なセッション分析を可能にします。
プライスアクション分析ツールキットの開発(第62回):MQL5による適応型平行チャネル検出とブレイクアウトシステムの構築
MQL5における適応型平行チャネル検出およびブレイクアウトシステムについて解説します。スイングポイントの検出方法、チャネルの構築と動的な再計算の仕組み、さらに永続的なシグナルを用いたブレイクアウトの確認および可視化について説明します。このフレームワークは、トレンドラインの幾何学的構造、ATRベースのフィルタリング、リテストによる検証を統合することで、プロフェッショナルなチャート分析およびトレード判断に活用できる、信頼性の高いリアルタイムのプライスアクション分析を提供します。