MQL5入門(第33回):MQL5のAPIとWebRequest関数の習得(VII)
本記事では、MQL5を使用してGoogle Generative AI APIをMetaTrader 5に統合する方法を解説します。APIリクエストの構築、サーバー応答の処理、AI生成コンテンツの抽出、レート制限の管理、そして結果をテキストファイルに保存して簡単に参照できるようにする方法を学びます。
サンゴ礁最適化(CRO)
サンゴ礁の形成および発展過程に着想を得たメタヒューリスティクス手法であるサンゴ礁最適化(CRO, Coral Reef Optimization)アルゴリズムを包括的に解析します。このアルゴリズムは、放卵放精、体内発生、幼生定着、無性生殖、ならびに限られた礁空間を巡る競争といった、サンゴの進化過程における主要な生物学的現象をモデル化したものです。特に、本記事では改良版アルゴリズムに重点を置いて説明します。
MQL5入門(第31回):MQL5のAPIとWebRequest関数の習得(V)
WebRequestと外部API呼び出しの使い方を学び、最新のローソク足データを取得し、各値を使用可能な型へ変換し、テーブル形式で整理して保存する方法を解説します。このステップは、取得したデータをローソク足形式で可視化するインジケーターを構築するための基礎となります。
MQL5入門(第34回):MQL5のAPIとWebRequest関数の習得(VIII)
MetaTrader 5でインタラクティブなコントロールパネルを作成する方法を学びます。入力フィールド、アクションボタン、テキストを表示するためのラベルを追加する基本について説明します。プロジェクトベースのアプローチを用いて、ユーザーがメッセージを入力し、最終的にAPIからのサーバー応答を表示するパネルを設定する方法を学びます。
MQL5における純粋なRSA暗号化の実装
MQL5には組み込みの非対称暗号が存在しないため、HTTPのような安全でないチャネルでのデータ交換は困難です。本記事では、PKCS#1 v1.5パディングを用いた純粋なMQL5実装のRSAを紹介し、外部ライブラリを使用せずにAESのセッションキーや小規模なデータブロックを安全に送信できる方法を解説します。このアプローチにより、標準HTTP上でも、アプリケーションレベルでHTTPSに近い安全性を実現できるだけでなく、MQL5アプリケーションにおける安全な通信の重要なギャップを埋めることができます。
MQL5入門(第35回):MQL5のAPIとWebRequest関数の習得(IX)
MetaTrader 5でユーザー操作を検出する方法、AI APIへリクエストを送信する方法、応答を抽出する方法を学び、パネルにスクロールテキストを実装します。
MQL5入門(第36回):MQL5のAPIとWebRequest関数の習得(X)
MQL5におけるHMAC-SHA256およびAPI署名の基本概念を紹介し、メッセージと秘密鍵を組み合わせることでリクエストを安全に認証する方法を説明します。これは、機密データを公開することなくAPI呼び出しに署名するための基盤となります。
市場シミュレーション(第18回):SQL入門(I)
使用するSQLプログラムがMySQLであっても、SQL Server、SQLite、OpenSQL、あるいはその他のものであっても問題ではありません。これらはすべて共通点を持っており、その共通要素がSQL言語です。たとえMySQL Workbenchを使用しない場合でも、MetaEditorやMQL5を通じてデータベースを直接操作し、MetaTrader 5上で操作することが可能です。ただしそのためにはSQLの知識が必要になります。ここでは、その基本を学習します。
市場シミュレーション(第19回):SQL入門(II)
最初のSQLに関する記事でも説明したように、SQLにすでに組み込まれていることを実現するために、わざわざ時間をかけて手続きをプログラミングする意味はありません。しかし、基礎を理解していなければ、SQLを使って何かをおこなうことも、このツールが提供する機能を十分に活用することもできません。そこで今回の記事では、データベースにおける基本的な作業をどのようにおこなうかを見ていきます。
市場シミュレーション(第17回):ソケット(XI)
MetaTrader 5上で実行されるコードの実装自体は、それほど難しいものではありません。しかし、いくつか考慮すべき重要な点があります。これはシステムを正しく動作させるために必要です。ここで重要な点を1つ覚えておいてください。実際には1つのプログラムだけが動作するわけではありません。現実には、3つのプログラムを同時に実行する必要があります。それぞれのプログラムが相互に連携し、通信できるように設計して構造化することが重要です。また、それぞれが他のプログラムの処理内容を認識できる必要があります。
バックトラッキング探索アルゴリズム(BSA)
もし最適化アルゴリズムが過去の探索経路を記憶し、その記憶を使ってより良い解を見つけられるとしたらどうでしょうか。BSAはまさにそれを実現し、探索と実績のある探索方向の再利用をバランスよく両立させます。本記事では、そのアルゴリズムの秘密を解き明かします。シンプルなアイデア、最小限のパラメータ、そして安定した結果が特徴です。
機械学習を用いたフラクタル市場構造入門
本記事では、金融時系列を自己相似的なフラクタル構造という観点から考察します。市場の価格変動が自己相似フラクタルとして捉えられる可能性を支持する類似性が多数存在することから、このような構造の予測可能性の地平線について考えることができます。
市場シミュレーション(第12回):ソケット(VI)
本記事では、Pythonコードを他のプログラム内で使用する際に発生する特定の問題や課題をどのように解決するかについて説明します。特に、ExcelとMetaTrader 5を併用する際に生じる一般的な問題を取り上げ、その具体例を示します。なお、この連携の実現にはPythonを使用します。ただし、この実装には小さな欠点があります。この問題は常に発生するわけではなく、特定の状況下でのみ起こります。そして、実際に発生した場合には、その原因を理解することが重要です。本日の記事では、この問題の解決方法について解説を開始します。
決定論的振動型探索(DOS)
決定論的振動型探索(DOS, Deterministic Oscillatory Search)アルゴリズムは、乱数を使用せずに勾配法と群知能アルゴリズムの利点を組み合わせた、革新的な大域最適化手法です。適応度の振動と勾配状態メカニズムによって、DOSは複雑な探索空間を決定論的に探索することができます。
Python-MetaTrader 5ストラテジーテスター(第1回):取引シミュレーター
MetaTrader5のPythonモジュールは、Pythonを使ってMetaTrader5アプリで取引を発注するための便利な手段を提供しています。しかし、このモジュールには大きな問題があります。それは、MetaTrader5アプリに存在するストラテジーテスター機能が備わっていないことです。本連載では、Python環境で取引戦略をバックテストするためのフレームワークを構築していきます。
市場シミュレーション(第15回):ソケット(IX)
本記事では、これまで実演してきた内容、すなわち「ExcelユーザーがMetaTrader 5上で操作できるようにする方法」の一例について解説します。ここで扱うのは、注文送信やポジションの新規建て・決済をExcel側から直接実行する方法ではなく、ExcelからMetaTrader 5上のEAにそれらの操作を指示する方法です。ユーザーはExcelを用いて特定銘柄のファンダメンタル分析をおこない、その結果をもとに、Excelだけを使ってMetaTrader 5上で稼働しているエキスパートアドバイザー(EA)に対し、特定ポジションの新規建てまたは決済を指示できるようにします。
市場シミュレーション(第16回):ソケット(X)
このチャレンジも終盤に差し掛かっていますが、その前に、今回の内容と前回の記事の2つの記事をしっかり理解しておく必要があります。そうすることで、次の記事をより深く理解できるようになります。次の記事では、MQL5プログラミングに関連する部分のみを扱う予定です。また、できるだけ分かりやすく説明するように努めます。しかし、これら2つの記事の内容を理解していない場合、次の記事を理解することは難しくなるでしょう。内容が段階的に積み重なっていく構造になっているからです。達成すべき目標に近づくほど、必要となる理解や実装すべき要素は増えていきます。
イーグル戦略最適化(ES)
イーグル戦略最適化(ES)は、鷲の狩猟行動に着想を得た最適化アルゴリズムです。マンテーニャ法によるレヴィ飛行を用いた大域探索と、ホタルアルゴリズムによる集中的な局所探索(local exploitation)を交互に実行することで、探索と活用のバランスを実現します。本アルゴリズムは、数学的根拠に基づく探索戦略と、2つの自然現象を統合したバイオインスパイアードなアプローチを兼ね備えています。
MQL5入門(第37回):MQL5のAPIとWebRequest関数の習得(XI)
MQL5を使用してBinance APIに認証付きリクエストを送信し、アカウント内の全資産の残高情報を取得する方法を解説します。APIキー、サーバー時刻、署名を利用して安全にアカウント情報へアクセスし、そのレスポンスをファイルへ保存して後で活用する方法を学びます。
PythonによるCFTCデータマイニングとAIモデルの構築
CFTCデータのマイニングを試み、Pythonを通じてCOTおよびTFFレポートをダウンロードし、これらをMetaTrader 5の相場データおよびAIモデルと統合して、予測を得てみましょう。FX市場におけるCOTレポートとは何でしょうか。また、COTおよびTFFレポートをどのように予測に活用するのでしょうか。
生物地理学に基づく最適化(BBO)
生物地理学に基づく最適化(BBO, Biogeography-Based Optimization)は、群島内の島々の間で発生する種の移住という自然現象に着想を得た、洗練された大域的最適化手法です。このアルゴリズムは、シンプルでありながら強力な考え方に基づいています。すなわち、良質な解はその特徴を他の解へ伝播し、低品質な解は新たな特徴を積極的に取り込むことで、最良の解から最悪の解へと情報が自然に流れるようになります。さらに、適応的な突然変異オペレーターによって探索と活用の優れたバランスが実現されます。BBOはさまざまな最適化問題に対して高い効率を示しています。
共分散行列適応進化戦略(CMA-ES)
目的関数の幾何構造を捉えるように学習する、最も興味深い非勾配最適化アルゴリズムの一つを扱います。CMA-ESの古典的実装に対してわずかな修正を加えたもの、すなわち正規分布を冪分布に置き換える手法に焦点を当てます。アルゴリズムの背後にある数理を徹底的に解説し、さらに実装面についても検討します。また、CMA-ESがどのような問題で無類の性能を発揮し、どのような状況では使用を避けるべきかについても確認します。
OpenCLを用いたMQL5におけるCPUからGPUへの実践的移行パス
MQL5でCPUからGPUへの移行方法を実用的に構築する方法を解説します。本記事では、コンテキストの初期化、バッファ構造の設計、大規模バッチ処理、カーネルの起動、データ転送の最小化に焦点を当てます。また、典型的なエラーとその解決方法についても取り上げます。ローソク足パターンの例を通じて、このアプローチの実用的な効果も示します。
ルーチン作業なしのアルゴリズム取引:MetaTrader 5におけるSQLiteを用いた高速取引分析
本記事では、MQL5におけるSQLiteを用いた取引ジャーナル管理のための「最小実用構成」を紹介します。内容には、取引、シグナル、イベント用テーブル構造、インデックス設計、プリペアドステートメントによる高速かつ安全なデータ記録、さらに標準的な分析用SQLクエリが含まれます。また、MetaTrader 5の統計ダッシュボードとの統合方法や、MetaEditor上でデータベースを操作する手法についても解説します。このアプローチにより、取引ジャーナルの自動化、計算処理の高速化、そしてEAコードを複雑化させることなく高度な分析を実現できます。
市場シミュレーション(第13回):ソケット(VII)
xlwingsなど、Excelへの直接的な読み書きを可能にするパッケージを用いて何かを開発する場合には、すべてのプログラム、関数、または手続きは実行され、その処理を完了すると同時に終了するという点に注意する必要があります。どれだけ工夫をしても、それらを継続的なループ処理として動作させ続けることはできません。
MQL5コミュニティOAuthを利用した外部アプリケーション連携
OAuth 2.0の認可コードフローを使用してAndroidアプリに[Sign in with MQL5]を追加する方法を学びます。このガイドでは、アプリ登録、エンドポイント、リダイレクトURI、カスタムタブ、ディープリンク処理、およびHTTPS経由で認可コードをアクセストークンに交換するPHPバックエンドについて説明します。実際のMQL5ユーザーを認証し、ランクやレピュテーションなどのプロファイルデータにアクセスできるようになります。
グラフ理論:取引における幅優先探索(BFS)/ja/応用
幅優先探索(BFS)はレベル順トラバーサルを用い、価格スイングを時間/ja/経過とともに進化する有向グラフとして市場構造をモデル化します。過去/ja/ローソク足またはセッションを階層ごとに分析することで、BFSはより直近/ja/価格挙動を優先しつつ、より長期/ja/市場文脈も反映します。
MQL5入門(第38回):MQL5のAPIとWebRequest関数の習得(XII)
MetaTrader 5とBinanceの間に実用的な橋渡しを構築します。WebRequestを使用して30分足のデータ(kline)を取得し、JSONからOHLCおよび時刻データを抽出したうえで、確定済みのローソク足のみを使用して強気の包み足パターンを確認します。その後、クエリ文字列を組み立て、HMAC-SHA256署名を計算し、X-MBX-APIKEYを追加して認証済み注文を送信します。これにより、データ取得から注文執行までを網羅した、分かりやすいエンドツーエンドのEAワークフローを実現できます。
金融時系列における共形予測の考察
共形予測(Conformal Prediction)と、それを実装するMAPIEライブラリについて考察します。このアプローチは機械学習における最も現代的な手法の一つであり、既存のさまざまな機械学習モデルに対するリスク管理に焦点を当てることを可能にします。共形予測それ自体は、データ内のパターンを見つける方法ではありません。これは、既存のモデルが個々のサンプルを予測する際の信頼度を判定するだけであり、信頼性の高い予測を選別できるようにします。
市場シミュレーション(第23回):SQL入門(VI)
本記事では、データベースを可視化し、その構造をどのように理解するかについて見ていきます。これを実現するために、データベースの内部構造を分析します。一見すると不要な作業のように思えるかもしれませんが、本気でデータベース管理者を目指すのであれば、これは十分に意味のある作業です。実際、データベースの保守や設計を生業としている人もいます。
MetaTrader 5機械学習の設計図(第7回):散発的な実験から再現可能な結果へ
本連載の最新回では、個々の機械学習手法の解説から一歩進み、多くのクオンツトレーダーを悩ませている「リサーチの混沌(Research Chaos)」という問題に焦点を当てます。本記事では、場当たり的なノートブックでの実験から脱却し、再現性・追跡可能性・効率性を備えた、本番運用レベルのパイプラインへ移行する方法について説明します。
MQL5とデータ処理パッケージの統合(第7回):銘柄間連携のためのマルチエージェント環境の構築
マルチエージェント取引のための完全なPython–MQL5統合について解説します。内容には、MT5データ取得、インジケーター計算、各エージェントによる意思決定、そして単一のアクションを出力する重み付きコンセンサス処理が含まれます。シグナルはJSON形式で保存され、Flaskによって提供され、MQL5のエキスパートアドバイザー(EA)によって取得されて実行されます。実行時には、ポジションサイズを計算し、ATRに基づくSL/TPも設定されます。Flaskのルートは、安全なライフサイクル制御とステータス監視のための機能を提供します。
Neuro-Structural Trading Engine (NSTE)(第I回):プロップファーム対応マルチ口座システムの構築方法
プロップファームの制約を遵守しながら、MetaTrader 5上で暗号資産CFDを運用するマルチ口座アルゴリズム取引システムアーキテクチャを提示します。システムは、「固定ドルリスク」「1口座につき1スクリプト」「設定の一元管理」という3つの基本原則を定義した上で、PythonとMQL5の役割分担、60秒ごとの処理ループ、JSONベースのシグナル連携について詳しく解説します。さらに、ロットサイズの実践的な計算方法、安全性を確保するためのチェック機構、ポジション管理パターンについても紹介し、信頼性の高い運用を実現するための構成を示します。
市場シミュレーション(第24回):SQL入門(VII)
前回の記事では、SQLに必要な導入を完了しました。SQLについて何を説明したいのかは、十分に明確にできたと思います。これは、市場のリプレイ/シミュレーションシステムの構築を見に来る人であれば誰でも、そこで何が起きているのかを少なくともある程度イメージできるようにするためのものでした。重要な点は、SQLが完全に処理できることをわざわざプログラミングする意味はないということです。
Python-MetaTrader 5ストラテジーテスター(第5回):複数銘柄および複数時間足ストラテジーテスター
銘柄および時間足を横断してスケーラブルに動作するMetaTrader 5互換のバックテストワークフローを紹介します。本システムでは、HistoryManagerを用いてデータ取得を並列化し、すべての時間足からバーおよびティックデータを同期し、スレッドごとに銘柄分離されたOnTickハンドラを実行します。モデリングモードが速度と精度に与える影響、ターミナルデータに依存すべき場面、イベント駆動型更新によるI/O削減手法、そして複数通貨自動売買ロボットの構築方法について学びます。
MQL5経済指標カレンダーを用いたニュースフィルタリング(第1回):MQL5におけるニュース前・ニュース後ウィンドウの実装
本システムでは、Webリクエストや外部DLLを使用せず、MQL5のみでカレンダー連動型ニュースフィルタを構築します。第1回は、経済イベントの読み込みとキャッシュ処理、通貨を基準とした銘柄へのイベント紐付け、重要度レベルによるフィルタリング、ニュース前後の監視時間(ウィンドウ)の設定、そしてニュース発生中の新規トレード制限について解説します。また、必要に応じてニュース前に保有ポジションを決済する機能も実装します。この結果、不要な取引停止を減らし、ボラティリティが高まる局面でのエントリーを保護する、設定可能でプロップファーム向けにも適したリスク管理機能を実現できます。
MQL5取引ツールのアクセシビリティ課題を克服する(第2回):Pythonのテキスト読み上げエンジンでEAを音声対応にする
テキスト読み上げ(TTS)技術を使用し、PythonとMQL5を連携させてエキスパートアドバイザー(EA)を音声対応にする方法について説明します。この記事を読み終える頃には、動的な市場情報を音声で伝えるEAの実装例を手にすることができます。TTSの活用方法、WebRequest関数の使い方、そしてPythonライブラリがMQL5言語とどのように統合され、実際に音声を活用できるトレードツールを構築できるかを理解できます。