PythonとMQL5で構築するマルチモジュール型取引ロボット(第1回):基本アーキテクチャと最初のモジュールの作成
Pythonによるデータ分析とMQL5による取引執行を組み合わせたモジュール型の取引システムを開発します。このシステムは、4つの独立したモジュールによって市場の異なる側面(ボリューム、アービトラージ、経済、リスク)を並行して監視します。ランダムフォレストを400本の決定木で構成したモデルを用いて市場データを分析します。特に本システムでは、リスク管理に重点を置いています。どれほど高度なアルゴリズムであっても、適切なリスク管理がなければ意味がありません。
データサイエンスとML(第44回):ベクトル自己回帰(VAR)を用いた外国為替OHLC時系列予測
本記事では、ベクトル自己回帰(VAR: Vector Autoregression)モデルを用いて、複数の通貨ペアのOHLC(始値、高値、安値、終値)時系列データを予測する方法を解説します。VARモデルの実装、学習、MetaTrader5上でのリアルタイム予測までをカバーし、通貨間の相互依存関係を分析して取引戦略の改善に役立てることができます。
利益強化アーキテクチャ:多層型口座保護
このディスカッションでは、積極的な利益目標を追求しながら、壊滅的な損失へのエクスポージャーを最小限に抑えることを目的とした、構造化された多層防御システムを紹介します。本システムの焦点は、取引パイプラインのあらゆるレベルにおいて、攻撃的な売買ロジックと保護的な安全機構を組み合わせることにあります。その狙いは、このEAを「リスクを認識する捕食者」のように設計することです。すなわち、高価値な機会を捉える能力を持ちながらも、突発的な市場ストレスに対して盲目的になることを防ぐための複数の防護層を常に備えている状態を目指します。
古典的な戦略を再構築する(第13回):移動平均線のクロスオーバーにおける遅延の最小化
移動平均クロスオーバーは、私たちのコミュニティにおけるトレーダーの間で広く知られている戦略ですが、その基本的な仕組みは誕生以来ほとんど変化していません。本稿では、この戦略に存在する“遅延”を最小限に抑えることを目的とした、わずかながらも重要な改良について紹介します。元の戦略を愛用しているトレーダーの方々にも、今回ご紹介する洞察をもとに、戦略の見直しを検討していただければ幸いです。同一の期間を持つ2つの移動平均を使用することで、戦略の根本的な原則を損なうことなく、遅延を大幅に削減することが可能になります。
Market Sentimentインジケーターの自動化
この記事では、市場の状況を強気、弱気、リスクオン、リスクオフ、中立(ニュートラル)に分類するMarket Sentimentカスタムインジケーターを自動化します。エキスパートアドバイザー(EA)は、現在の市場の傾向や方向性の分析プロセスを合理化しながら、一般的なセンチメントに関するリアルタイムの洞察を提供します。
機械学習の限界を克服する(第7回):自動戦略選択
本記事では、MetaTrader 5を用いて潜在的に収益性の高い取引戦略を自動的に特定する方法を紹介します。ホワイトボックスソリューションは、教師なし学習による行列分解によって動作し、設定が容易で解釈もしやすく、どの戦略を保持すべきか明確な指針を提供します。一方、ブラックボックスソリューションはより時間がかかりますが、ホワイトボックスアプローチでは捉えきれない複雑な市場環境に適しています。本記事では、あらゆる状況下で収益性の高い戦略を慎重に見極めるために、どのように取引戦略を活用できるかを解説します。
リプレイシステムの開発(第54回):最初のモジュールの誕生
この記事では、リプレイ/シミュレーターシステムで使用するための、他の目的にも汎用的に使用できる、実際に機能するモジュールの最初のものを組み立てる方法について説明します。マウスモジュールです。
プライスアクション分析ツールキットの開発(第24回):プライスアクション定量分析ツール
ローソク足のパターンは、潜在的な市場の動きに関する貴重な洞察を提供します。単一のローソク足でも、現在のトレンドの継続を示すものもあれば、価格の動きの中での位置によって反転を示唆するものもあります。本記事では、4つの主要なローソク足形成を自動で識別するエキスパートアドバイザー(EA)を紹介します。次のセクションを参照して、このツールがどのようにプライスアクション分析を強化できるかを学んでください。
共和分株式による統計的裁定取引(第1回):エングル=グレンジャーおよびジョハンセンの共和分検定
本記事は、トレーダー向けに、最も一般的な共和分検定を優しく紹介し、その結果の理解方法を簡単に解説することを目的としています。エングル=グレンジャーおよびジョハンセンの共和分検定は、長期的なダイナミクスを共有する統計的に有意な資産のペアやグループを特定するのに有効です。特にジョハンセン検定は、3つ以上の資産を含むポートフォリオに対して有用で、複数の共和分ベクトルの強さを一度に評価できます。
Developing a Replay System (Part 36): Making Adjustments (II)
One of the things that can make our lives as programmers difficult is assumptions. In this article, I will show you how dangerous it is to make assumptions: both in MQL5 programming, where you assume that the type will have a certain value, and in MetaTrader 5, where you assume that different servers work the same.
取引におけるニューラルネットワーク:対照パターンTransformer
Contrastive Transformerは、個々のローソク足のレベルと、全体のパターンに基づいて市場を分析するよう設計されています。これにより、市場トレンドのモデリングの質が向上します。さらに、ローソク足とパターンの表現を整合させるために対照学習を用いることで、自己調整が促され、予測の精度が高まります。
多通貨エキスパートアドバイザーの開発(第17回):実際の取引に向けたさらなる準備
現在、EAはデータベースを利用して、取引戦略の各インスタンスの初期化文字列を取得しています。しかし、データベースは非常に大容量であり、実際のEAの動作には不要な情報も多数含まれています。そこで、データベースへの接続を必須とせずにEAを機能させる方法を考えてみましょう。
FXにおけるスワップ差裁定:合成ポートフォリオの構築と一貫したスワップフローの生成
金利差を活用して利益を得る方法をご存じでしょうか。本記事では、FXにおけるスワップ差裁定(スワップアービトラージ)を活用し、毎晩安定した利益を生み出し、市場の変動に強いポートフォリオを構築する方法について解説します。
プライスアクション分析ツールキットの開発(第38回):ティックバッファVWAPと短期不均衡エンジン
第38回では、生のティックを実用的なシグナルに変換する、実稼働グレードのMT5監視パネルを構築します。EAはティックデータをバッファリングし、ティックレベルのVWAP、短期ウィンドウの不均衡(フロー)指標、ATRに基づくポジションサイズを計算します。その後、スプレッド、ATR、フローを低フリッカーのバーで可視化します。システムは推奨ロットサイズと1Rストップを計算し、狭いスプレッド、強いフロー、エッジ条件に対して設定可能なアラートを発行します。自動取引は意図的に無効化しており、堅牢なシグナル生成とクリーンなユーザー体験に重点を置いています。
MQL5での取引戦略の自動化(第44回):スイングハイ/ローのブレイクによる性格の変化(CHoCH)検出
この記事では、MQL5で性格の変化(CHoCH)検出システムを開発します。本システムは、ユーザーが設定したバーの長さに基づいてスイングハイとスイングローを特定し、高値には「HH/LH」、安値には「LL/HL」とラベル付けをおこない、トレンド方向を判定します。そして、これらのスイングポイントをブレイクした際にエントリーをおこない、潜在的な反転を示すサインとして活用します。構造が変化した際のブレイクもエントリー対象とします。
知っておくべきMQL5ウィザードのテクニック(第69回):SARとRVIのパターンの使用
パラボリックSAR (SAR)と相対活力指数(RVI)は、MQL5のエキスパートアドバイザー(EA)内で併用可能なもう一つのインジケーターペアです。このインジケーターペアは、これまでに取り上げたものと同様に補完的で、SARはトレンドを定義し、RVIはモメンタムを確認します。通常通り、MQL5ウィザードを使用してこのインジケーターペアリングを構築し、その可能性をテストします。
MQL5入門(第24回):チャートオブジェクトで取引するEAの構築
本記事では、チャート上に描かれたサポートラインやレジスタンスラインを検出し、それに基づいて自動で取引を実行するエキスパートアドバイザー(EA)の作成方法を解説します。
初心者からエキスパートへ:時間フィルタ付き取引
ティックが常に流入しているからといって、すべての瞬間が取引チャンスであるわけではありません。本記事では「タイミングの技術」に焦点を当て、トレーダーが最も有利な市場時間帯を特定し、その中で取引をおこなうための時間分離アルゴリズムの構築について詳しく検討します。この規律を身につけることで、個人トレーダーは機関投資家のタイミングとより密接に同期できるようになり、成功を左右することの多い正確さと忍耐力を発揮できるようになります。MQL5の分析機能を通じて、タイミングと選択的取引の科学を探求しましょう。
リプレイシステムの開発(第61回):サービスの再生(II)
この記事では、リプレイ/シミュレーションシステムをより効率的かつ安全に動作させるための変更点について解説します。また、クラスを最大限に活用したいと考えている方にも役立つ情報を取り上げます。さらに、クラスを使用する際にコードのパフォーマンスを低下させるMQL5特有の問題点を取り上げ、それに対する具体的な解決策についても説明します。
MQL5取引ツール(第3回):戦略的取引のための多時間軸スキャナーダッシュボードの構築
本記事では、MQL5で多時間軸スキャナーダッシュボードを構築し、リアルタイムの取引シグナルを表示する方法を解説します。インタラクティブなグリッドインターフェースの設計、複数のインジケーターによるシグナル計算の実装、そしてクローズボタンの追加を計画しています。記事はバックテストと戦略的取引の利点で締めくくられます。
サイクルベースの取引システム(DPO)の構築と最適化の方法
本記事では、MQL5におけるDPO(Detrended Price Oscillator、トレンド除去価格オシレーター)を用いた取引システムの設計および最適化手法について解説します。DPOのコアロジックを明確にし、長期トレンドを排除して短期サイクルを抽出する仕組みを示します。さらに、段階的な例とシンプルな戦略を通じて、インジケーターの実装方法、エントリー/エグジット条件の定義、そしてバックテストの実施方法について学ぶことができます。最後に、パフォーマンスを向上させ、市場環境の変化へ適応させるための実践的な最適化手法を紹介します。
MQL5で自己最適化エキスパートアドバイザーを構築する(第10回):行列分解
行列分解は、データの特性を理解するために用いられる数学的手法です。行と列で整理された大規模な市場データに行列分解を適用することで、市場のパターンや特性を明らかにすることができます。行列分解は非常に強力なツールであり、本記事ではMetaTrader 5のターミナル内でMQL5 APIを活用し、市場データをより深く分析する方法を紹介します。
知っておくべきMQL5ウィザードのテクニック(第67回):TRIXパターンとWilliams Percent Rangeの使用
三重指数移動平均オシレーター(TRIX: Triple Exponential Moving Average Oscillator)とウィリアムズパーセントレンジオシレーター(WPR: Williams Percent Range)は、MQL5のエキスパートアドバイザー(EA)において併用できるもう一組のインジケーターです。このインジケーターペアは、これまで取り上げたものと同様に補完関係にあり、TRIXがトレンドを定義し、ウィリアムズパーセントレンジがサポートおよびレジスタンス水準を確認します。いつものように、MQL5ウィザードを使用して、この2つが持つ可能性をプロトタイピングします。
初心者からエキスパートへ:FX市場の取引期間
すべての市場の取引期間には始まりと終わりがあり、それぞれは終値によって完結します。この終値がその期間のセンチメントを定義します。各ローソク足のセッションも同様に、終値によってその性質が示されます。これらの基準点を理解することで、市場における現在のムードを測定でき、強気勢力と弱気勢力のどちらが支配しているのかを明らかにすることが可能になります。本記事では、Market Periods Synchronizerに新しい機能を開発するという重要な段階に進みます。この機能は、FX市場のセッションを可視化するものであり、より情報に基づいた取引判断を支援します。このツールは、強気派と弱気派のどちらがセッションを支配しているのかをリアルタイムで識別するうえで特に有効です。それでは、この概念について検討し、それが提供する洞察を明らかにしていきます。
取引戦略の開発:Flower Volatility Indexのトレンドフォローアプローチ
市場のリズムを解読する絶え間ない探求により、トレーダーやクオンツアナリストは数多くの数学モデルを生み出してきました。本記事では、Flower Volatility Index (FVI)を紹介します。これは、バラ曲線の数学的優雅さを実用的な取引ツールに変換した新しいアプローチです。この研究を通じて、数学モデルを実際の市場環境で分析や意思決定を支援できる実用的な取引メカニズムに適応できることを示しました。
ゴールドを例にした一方向トレンド取引における機械学習の考察
この記事では、選択した方向(買いまたは売り)のみで取引をおこなうアプローチについて説明します。この目的のために、因果推論と機械学習の手法を使用します。
取引システムの構築(第2回):ポジションサイズ管理の科学
期待値がプラスのシステムであっても、ポジションサイズ管理の決定次第で取引が成功するか破綻するかが決まります。ポジションサイズ管理はリスク管理の中心であり、統計的な優位性を現実の利益に変換しつつ、資本を守る役割を担います。
MQL5取引ツール(第2回):インタラクティブな取引アシスタントの強化:動的視覚フィードバックの導入
この記事では、取引アシスタントツール(Trade Assistant Tool)をアップグレードし、ドラッグ&ドロップ可能なパネル機能やホバー効果を追加して、インターフェースをより直感的で応答性の高いものにします。ツールを改良してリアルタイムの注文設定を検証し、市場価格に対して正確な取引構成が可能となるようにします。また、これらの改善をバックテストし、その信頼性を確認します。
MetaTrader 5機械学習の設計図(第6回):実務で使えるキャッシュシステムの設計
進捗バーを眺めるだけで、取引戦略のテストに時間を浪費していませんか。従来のキャッシュ手法では金融機械学習には対応できず、計算の無駄や再実行によるフラストレーションに悩まされます。私たちは、金融データ特有の課題、時間的依存関係、複雑なデータ構造、そして先読みバイアスのリスクを理解した洗練されたキャッシュアーキテクチャを設計しました。この三層構造のシステムにより、計算速度は劇的に向上し、古い結果の自動無効化やコストの高いデータリークの防止も可能です。もう計算待ちに時間を費やす必要はありません。市場が要求するペースで、迅速に反復作業をおこなえます。
リプレイシステムの開発(第42回):Chart Traderプロジェクト(I)
もっと面白いものを作りましょう。ネタバレはしたくないので、理解を深めるために記事を読んでください。リプレイ/シミュレーターシステムの開発に関する本連載の最初の段階から、私は、開発中のシステムと実際の市場の両方で同じようにMetaTrader 5プラットフォームを使用することがアイディアであると述べてきました。これが適切におこなわれることが重要です。ある道具を使用して訓練して戦い方を学んだ末、戦いの最中に別の道具を使用しなければならないというようなことは誰もしたくありません。
知っておくべきMQL5ウィザードのテクニック(第34回):非従来型RBMによる価格の埋め込み
制限ボルツマンマシンは、1980年代半ば、計算資源が非常に高価だった時代に開発されたニューラルネットワークの一種です。当初は、入力された訓練データセットの次元を削減し、隠れた確率や特性を捉えるために、ギブスサンプリングとコントラストダイバージェンス(Contrastive Divergence)に依存していました。RBMが予測用の多層パーセプトロンに価格を「埋め込む」場合、バックプロパゲーションがどのように同様の性能を発揮できるかを検証します。
取引におけるニューラルネットワーク:Segment Attentionを備えたパラメータ効率重視Transformer(最終回)
前回の記事では、PSformerフレームワークの理論的側面について議論しました。このフレームワークは、従来のTransformerアーキテクチャに、パラメータ共有(PS)メカニズムと時空間Segment Attention (SegAtt)という2つの主要な革新をもたらします。本稿では、前回に引き続き、提案された手法をMQL5を用いて実装する作業について説明します。
カオス最適化アルゴリズム(COA)
本記事では、カオス理論と適応型探索メカニズムを組み合わせた改良型カオス最適化(COA)を紹介します。このアルゴリズムでは、複数のカオス写像と慣性成分を利用して探索空間を効率的に走査します。また、金融最適化におけるカオス的手法の理論的基盤についても解説します。
Pythonの価格変動離散化手法
Python + MQL5を使用した価格離散化手法を見ていきます。本記事では、バー生成に関する幅広い手法を実装したPythonライブラリの開発経験についご紹介します。クラシックなボリュームバーやレンジバーから、よりエキゾチックな練行足やカギ足といった手法までを網羅します。スリーラインブレイクローソク足やレンジバーの統計分析をおこないながら、価格を離散的に表現する新たな方法を探っていきます。
リプレイシステムの開発(第55回):コントロールモジュール
この記事では、開発中のメッセージシステムに統合できるように、コントロールインジケーターを実装します。それほど難しくはありませんが、このモジュールの初期化について理解しておくべき細かい点がいくつかあります。ここで提示される資料は教育目的のみに使用されます。示された概念を学習し習得する以外の目的での利用は決して想定されていません。
知っておくべきMQL5ウィザードのテクニック(第35回):サポートベクトル回帰
サポートベクトル回帰(SVR)は、2つのデータセット間の関係を最も適切に表現する関数または「超平面」を見つけるための理想的な手法です。本稿では、MQL5ウィザードのカスタムクラス内での時系列予測において、この手法を活用することを試みます。
ニュース取引が簡単に(第4回):パフォーマンス向上
この記事では、ストラテジーテスターでエキスパートアドバイザー(EA)のランタイムを改善する方法について掘り下げていきます。これらのニュースイベントの時間は、指定された時間内にアクセスされます。これにより、EAはボラティリティの高い環境でも低い環境でも、イベントドリブン取引を効率的に管理できます。