ラクダアルゴリズム(CA)
ラクダアルゴリズムは2016年に開発され、砂漠におけるラクダの行動をシミュレートして最適化問題を解く手法です。本アルゴリズムは、温度、補給、持久力といった要素を考慮しています。また、本記事では改良版であるCAmも紹介しており、ガウス分布による解生成とオアシス効果パラメータの最適化という主要な改良が含まれています。
MQL5で自己最適化エキスパートアドバイザーを構築する(第12回):行列分解を用いた線形分類器の構築
本記事では、アルゴリズム取引における行列分解の強力な役割、特にMQL5アプリケーション内での活用について探ります。回帰モデルからマルチターゲット分類器まで、実際の例を通して、これらの手法が組み込みのMQL5関数を使ってどれほど容易に統合できるかを示します。価格の方向性を予測する場合でも、インジケーターの挙動をモデル化する場合でも、このガイドは行列手法を用いたインテリジェントな取引システム構築の強固な基盤を提供します。
外国為替におけるフィボナッチ(第1回):価格と時間の関係を調べる
市場はフィボナッチに基づく関係性をどのように観測しているのでしょうか。各項が直前の2つの項の和になっているこの数列(1, 1, 2, 3, 5, 8, 13, 21...)は、ウサギの個体数の増加を説明するだけのものではありません。私たちは、「世界のあらゆるものは数の一定の関係に従う」というピタゴラス派の仮説を考察します。
初心者からエキスパートへ:MQL5を使ったアニメーションニュース見出し(V) - イベントリマインダーシステム
本ディスカッションでは、News Headline EAに表示される経済指標カレンダーイベントに対して、精緻化されたイベント通知ロジックを統合することで得られる追加的な改善について検討します。この強化により、主要な今後のイベント直前にユーザーがタイムリーに通知を受け取れるようになります。詳細については、本ディスカッションでご確認ください。
共和分株式による統計的裁定取引(第3回):データベースのセットアップ
本記事では、新しく作成したデータベースを更新するためのMQL5 Serviceのサンプル実装を紹介します。このデータベースはデータ分析や、共和分関係にある株式バスケットの取引に利用されます。データベース設計の根拠についても詳しく説明し、参照用としてデータディクショナリを文書化します。さらに、データベースの作成、スキーマ初期化、市場データ挿入のためのMQL5とPythonのスクリプトも提供します。
MetaTrader 5機械学習の設計図(第4回):金融機械学習パイプラインの隠れた欠陥 - ラベルの同時発生
金融機械学習における重大な欠陥であるラベルの同時発生が、過学習や実運用でのパフォーマンス低下を引き起こす問題をどのように修正するかを解説します。トリプルバリア法を使用すると、学習用ラベルが時間的に重複し、ほとんどの機械学習アルゴリズムにおける核心的な独立同分布(IID)の仮定に違反します。本記事では、サンプル重み付けを用いた実践的な解決策を提示します。具体的には、売買シグナル間の時間的重複を定量化し、各観測値が持つ固有情報を反映したサンプル重みを計算し、scikit-learnでこれらの重みを実装することで、より堅牢な分類器を構築する方法を学びます。これらの手法を習得することで、取引モデルの堅牢性、信頼性、収益性を向上させることができます。
MQL5とデータ処理パッケージの統合(第6回):市場フィードバックとモデル適応の融合
ライブ取引結果、ボラティリティの変化、流動性の変化といったリアルタイムの市場フィードバックを、適応型モデル学習とどのように統合するかに焦点を当てます。これにより、応答性が高く、自己改善を継続する取引システムを維持することを目指します。
初心者からエキスパートへ:市場期間同期化ツール
本ディスカッションでは、上位時間足から下位時間足への同期をおこなうツールを紹介します。このツールは、上位時間足の期間にまたがる市場パターンを分析する際の課題を解決することを目的としています。MetaTrader 5に標準搭載されている期間マーカーは、制限が多く柔軟性に欠けるため、非標準の時間足には対応しにくいことがあります。そこで私たちは、MQL5言語を活用して、下位時間足のチャート上で上位時間足の構造を動的かつ視覚的に表示できるインジケーターを開発しました。このツールは、詳細な市場分析に非常に役立ちます。その機能や実装方法について詳しく知りたい方は、ぜひディスカッションにご参加ください。
リプレイシステムの開発(第78回):新しいChart Trade(V)
本記事では、受信側コードの一部の実装方法について解説します。ここでは、プロトコルの相互作用をテストし理解するためのエキスパートアドバイザー(EA)を実装します。ここで提示されるコンテンツは、教育目的のみに使用されることを意図しています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを利用することは避けてください。
共和分株式による統計的裁定取引(第4回):リアルタイムモデル更新
本記事では、共和分関係にある株式バスケットを対象とした、シンプルでありながら包括的な統計的アービトラージのパイプラインについて解説します。データのダウンロードと保存を行うPythonスクリプト、相関検定、共和分検定、定常性検定、さらにデータベース更新用のMetatrader 5サービスの実装およびそれに対応するエキスパートアドバイザー(EA)も含まれています。また、いくつかの設計上の判断については、参考情報および実験の再現性向上のために本記事に記録しています。
MetaTraderとGoogleシートがPythonAnywhereで融合:安全なデータフローのガイド
本記事では、MetaTraderのデータをGoogleスプレッドシートに安全にエクスポートする方法を紹介します。Googleスプレッドシートはクラウドベースで、保存されたデータにいつでもどこからでもアクセスできるため、非常に有用なソリューションです。トレーダーはGoogleスプレッドシートにエクスポートされた取引データや関連情報にいつでもアクセスでき、将来の取引に向けた分析を自由におこなうことができます。
MQL5でボラティリティモデルを構築する(第I回):初期実装
本記事では、Pythonのarchパッケージに類似した機能を持つ、ボラティリティモデリング用のMQL5ライブラリを提示します。このライブラリは現在、一般的な条件付き平均モデル(HAR、AR、一定平均、ゼロ平均)および条件付き分散モデル(一定分散、ARCH、GARCH)をサポートしています。
フラクタルベースアルゴリズム(FBA)
最適化問題を解くための、フラクタルアプローチに基づく新しいメタヒューリスティック手法を紹介します。本アルゴリズムは、探索空間を分割しながら有望な領域を順次特定し分割していくことで、自己相似的なフラクタル構造を形成し、計算資源を最も有望な領域へ集中的に投入します。さらに、より良い解を指向する独自の突然変異メカニズムにより、探索空間における探索と活用の最適なバランスを実現し、アルゴリズムの効率を大幅に向上させています。
市場シミュレーション(第8回):ソケット(II)
ソケットを使って何か実用的なものを作ってみましょう。今回の記事では、ミニチャットの作成を始めます。一緒にどのようにおこなうかを見ていきましょう。とても面白い内容になるでしょう。ここで提供するコードは教育目的のみの使用を想定しています。商用目的や既製のアプリケーションでの使用には適していません。ソケット上で送信されるデータは安全に保護されず、内容が第三者からアクセス可能になる可能性があるためです。
共和分株式による統計的裁定取引(第8回):ポートフォリオのリバランスのためのローリングウィンドウ固有ベクトル比較
本記事では、共和分関係にある株式を用いた平均回帰型統計裁定戦略において、早期の不均衡診断およびポートフォリオリバランスのために、ローリングウィンドウ固有ベクトル比較を用いる手法を提案します。この手法は、従来のインサンプル/アウトオブサンプルADF (IS/OOS ADF)検証と比較されており、固有ベクトルの変化が、IS/OOS ADFが依然としてスプレッドの定常性を示している場合であっても、リバランスの必要性を示唆し得ることを示します。本手法は主に実運用取引の監視を目的としていますが、結論として、固有ベクトル比較をスコアリングシステムに統合することも可能である一方で、その実際のパフォーマンスへの寄与については検証が必要であるとされています。
市場シミュレーション(第10回):ソケット(IV)
本記事では、MetaTrader 5を管理するためにExcelを活用する方法を、興味深い形で解説していきます。そのために、組み込みVBAを使わずに済むよう、Excelアドインを使用します。アドインが何を意味するのか分からない場合、本記事でExcelで直接Pythonをプログラミングする方法を学ぶことができます。
MQL5で他の言語の実用的なモジュールを実装する(第5回):PythonのLoggingモジュールによるプロ仕様のログ
PythonのloggingモジュールをMQL5と統合することで、トレーダーは体系的なログ管理手法を活用でき、取引活動の監視、デバッグ、記録のプロセスを大幅に簡素化することができます。本記事では、その適応方法について解説し、取引ソフトウェア開発における明確性と整理性を維持するための強力なツールを提供します。
機械学習ベースの取引システムにおける隠れマルコフモデル
隠れマルコフモデル(HMM, Hidden Markov Models)は、観測された事象が、マルコフ過程を形成する未観測(隠れ)状態の系列に依存するような逐次データを解析するために設計された、確率的モデルの強力なクラスです。HMMの主要な仮定には、隠れ状態に対するマルコフ性(すなわち、次の状態への遷移確率は現在の状態のみに依存すること)と、現在の隠れ状態が既知である場合における観測の独立性が含まれます。
MQL5における二変量コピュラ(第2回):MQL5でのアルキメデスコピュラの実装
連載第2回では、二変量アルキメデスコピュラの特性と、それらをMQL5で実装する方法について解説します。また、コピュラを活用したシンプルなペアトレード戦略の開発についても取り上げます。
MQL5で他の言語の実用的なモジュールを実装する(第6回):MQL5におけるPython風ファイルI/O操作
複雑なMQL5ファイル操作を簡素化するために、読み書きを容易にするPythonスタイルのインターフェースを構築する方法を紹介します。カスタム関数とクラスを用いて、Pythonの直感的なファイル処理パターンを再現する方法を解説します。その結果、MQL5のファイルI/Oにおいて、よりクリーンで信頼性の高いアプローチが実現しました。
初心者からエキスパートへ:サプライ&デマンドゾーンの統計的検証
サプライ&デマンド取引戦略の背後にある、見落とされがちな統計的基盤を明らかにします。MQL5とPythonをJupyter Notebookワークフローで連携させることで、マーケットに対する視覚的な仮定を定量的な洞察へと変換する体系的なデータ駆動型リサーチをおこないます。本記事では、データ収集からPythonによる統計分析、アルゴリズム設計、テスト、最終的な結論に至るまで、一連の研究プロセスを解説します。手法と結果の詳細については、本文をご参照ください。
古典的な戦略を再構築する(第21回):ボリンジャーバンドとRSIのアンサンブル戦略の発見
EURUSD市場を対象としたアンサンブル型アルゴリズム取引戦略の開発について説明します。この戦略は、ボリンジャーバンドとRSI(相対力指数)を組み合わせたものです。初期のルールベース戦略は高品質なシグナルを生成した一方で、取引頻度が低く、収益性にも限界がありました。その後、複数の戦略バリエーションを反復的に評価した結果、市場に対する理解の誤り、ノイズの増加、パフォーマンスの劣化といった問題が明らかになりました。これらの課題に対し、統計的学習アルゴリズムを適切に活用し、モデリング対象をテクニカル指標へと再定義し、適切なスケーリングを適用したうえで、機械学習による予測と従来の取引ルールを組み合わせることで、最終的には許容可能なシグナル品質を維持しながら、収益性と取引頻度の大幅な改善を達成しました。
市場シミュレーション(第4回):C_Ordersクラスの作成(I)
本記事では、取引サーバーに注文を送信できるようにするためのC_Ordersクラスの作成を開始します。これは少しずつ進めていきますが、目的は、メッセージングシステムを通じてこれがどのようにおこなわれるのかを詳細に説明することです。
取引における資金管理とデータベースを用いた個人向け会計プログラム
トレーダーはどのように資金を管理すればよいのでしょうか。また、トレーダーや投資家はどのようにして支出、収入、資産、負債を把握すればよいのでしょうか。本記事では、単なる会計ソフトではなく、金融市場という荒波の中で意思決定を支える実践的なツールを紹介します。
MQL5でカスタムインジケーターを作成する(第2回):Canvasと針のメカニクスを使ったゲージ型RSIインジケーターの構築
本記事では、MQL5でゲージ型のRSIインジケーターを開発します。このインジケーターは、RSIの値を円形のスケール上の動く針で可視化し、買われすぎと売られすぎのレベルを色分けした範囲と、カスタマイズ可能な凡例を備えています。Canvasクラスを使用して、円弧、目盛り、扇形などの要素を描画し、新しいRSIデータに基づいて滑らかに更新されるようにします。
CatBoost AIによるレンコ足の予測
AIを用いてレンコ足をどのように活用するのでしょうか。本記事では、最大59.27%の予測精度を実現したForex向けレンコ足トレーディングを題材に解説していきます。まず、レンコ足がどのように市場ノイズを除去するのか、その利点を見ていきます。さらに、なぜ価格パターンよりも出来高の方が重要なのかを学び、EURUSDに最適なレンコ足ブロックサイズの設定方法についても掘り下げます。また、CatBoost、Python、MetaTrader 5を組み合わせ、自分自身のレンコ足予測システムを構築する手順をステップごとに解説します。従来のテクニカル分析を超えるアプローチを求めるトレーダーに最適な内容です。
Python + MetaTrader 5:データ、機能、プロトタイプのための高速研究フレームワーク
本記事では、PythonとMetaTrader 5の統合によって、研究の柔軟性と取引実行を単一のワークフローに統合できることを示しています。Pythonはデータ分析、特徴量選択、モデル学習に使用され、MetaTrader 5はテストおよび取引自動化に使用されます。このアプローチにより、ソリューションを実運用へ移行するプロセスが簡素化され、再現性が向上し、トレードシステムの開発がより迅速かつ構造化されます。
市場シミュレーション(第5回):C_Ordersクラスの作成(II)
本記事では、Chart Tradeとエキスパートアドバイザー(EA)が連携して、ユーザーが保有しているすべてのポジションを決済する要求をどのように処理するのかを解説します。一見すると単純な処理に思えるかもしれませんが、実際には注意すべきいくつかの複雑な点があります。
市場シミュレーション(第20回):SQL入門(III)
約10件程度のレコードを含むデータベースでも操作をおこなうことはできますが、15,000件を超えるレコードを含むファイルを使って作業したほうが、内容をはるかに理解しやすくなります。つまり、そのようなデータベースを手作業で作成しようとすると、膨大な作業になってしまうということです。しかし、教育目的で利用可能な、そのようなデータベースをダウンロードできる場所を見つけるのは簡単ではありません。ですが、実際にはその必要はありません。MetaTrader 5を使えば、自分たちでデータベースを作成できるからです。本日の記事では、その方法について見ていきます。
MQL5取引ツール(第11回):ヒートマップおよび標準モード対応相関行列ダッシュボード(ピアソン、スピアマン、ケンドール)
MQL5で相関行列ダッシュボードを構築し、ピアソン、スピアマン、ケンドールの各手法を用いて、指定した時間足およびバー数に基づいて資産間の相関関係を算出します。色の閾値と星印によってp値の有意性を示す標準モードに加え、相関の強さをグラデーションで可視化するヒートマップモードを実装します。さらに、時間足選択ツール、モード切り替え、動的な凡例を備えたインタラクティブなユーザーインターフェースを搭載しており、銘柄間の依存関係を効率的に分析できます。
共和分株式による統計的裁定取引(第10回):構造変化の検出
本記事では、ペア関係における構造変化を検出するためのChow検定と、構造変化の監視および早期検出のための累積平方和(CUSUM)の適用について解説します。例として、NvidiaとIntelの提携発表および米国政府による対外貿易関税の発表を取り上げ、それぞれ「傾きの反転」と「切片のシフト」の事例として説明します。すべてのPythonテストスクリプトも提供します。
FX裁定取引:関係性評価パネル
MQL5における裁定取引分析パネルの開発について説明します。さまざまな方法で、Forexで理論為替レートを導き出すにはどうすればよいでしょうか。市場価格と理論為替レートとの乖離を把握し、ある通貨を別の通貨に交換する裁定取引(三角裁定取引など)の収益機会を評価するためのインジケーターを作成します。
Python-MetaTrader 5ストラテジーテスター(第4回):テスター入門
シミュレーター上で初めての自動売買ロボットを構築し、MetaTrader 5のストラテジーテスター風にストラテジーテスト処理を実行します。その上で、カスタムシミュレーションで生成された結果を、普段使用しているターミナルの結果と比較します。
価格変動の角度分析:金融市場予測のためのハイブリッドモデル
金融市場の角度分析とは何でしょうか。プライスアクションにおける「角度」をどのように活用すれば、機械学習によって67%の予測精度を達成できるのでしょうか。さらに、角度特徴量を用いた回帰モデルと分類モデルをどのように統合し、実用可能なアルゴリズムへと落とし込むことができるのでしょうか。ギャンはこれとどのような関係があるのでしょうか。価格変動の角度が機械学習において有効な指標である理由は何でしょうか。
取引アルゴリズムにおけるゲーム理論的アプローチの活用
DQN(Deep Q-Network)ベースの機械学習を用いた多次元的な因果推論に基づく自己学習型トレーディングEAを構築します。このEAは7つの通貨ペアを同時に取引し、異なる通貨ペア間のエージェントが相互に情報を交換します。
MQL5でカスタムインジケーターを作成する(第5回):WaveTrend Crossover Evolution:Canvasを用いたフォグ状グラデーション、シグナルバブル、リスク管理
MQL5におけるSmart WaveTrend Crossoverンジケーターを拡張し、Canvasを用いた描画機能を組み込むことで、霧状のグラデーションオーバーレイ、ブレイクアウトを検出するシグナルボックス、さらに買いシグナルや売りシグナルをバブルや三角形で表示する視覚的アラート機能を追加します。さらに、リスク管理機能として、ローソク足倍率またはパーセンテージに基づいて計算される動的なテイクプロフィットおよびストップロスレベルを導入し、ライン表示およびテーブル表示によって可視化します。加えて、トレンドフィルタリングやボックス延長機能といったオプションも提供します。
ペアトレード:Zスコアの差に基づく自動最適化機能を備えたアルゴリズム取引
この記事では、ペアトレードとは何か、そして相関トレードがどのように機能するのかを解説します。また、ペアトレードを自動化するためのEA(エキスパートアドバイザー)を作成し、さらに過去データに基づいてこの取引アルゴリズムを自動最適化する機能も追加していきます。加えて、プロジェクトの一環として、Zスコアを用いて2つの通貨ペア間の差異を計算する方法についても学びます。
MQL5入門(第31回):MQL5のAPIとWebRequest関数の習得(V)
WebRequestと外部API呼び出しの使い方を学び、最新のローソク足データを取得し、各値を使用可能な型へ変換し、テーブル形式で整理して保存する方法を解説します。このステップは、取得したデータをローソク足形式で可視化するインジケーターを構築するための基礎となります。
共和分株式による統計的裁定取引(第9回):バックテストポートフォリオのウェイト更新
本記事では、共和分関係にある銘柄を通じた統計的裁定取引を利用する平均回帰ベースの戦略において、ポートフォリオのウェイト更新をバックテストするためにCSVファイルを使用する方法について説明します。データベースへのローリングウィンドウ固有ベクトル比較(RWEC, Rolling Windows Eigenvector Comparison)の結果入力から、バックテストレポートの比較までを網羅します。その一方で、各RWECパラメータの役割と、それが全体的なバックテスト結果に与える影響を詳しく説明し、相対的なドローダウンの比較がこれらのパラメータをさらに改善するのにどのように役立つかを示します。