価格変動の角度分析:金融市場予測のためのハイブリッドモデル
金融市場の角度分析とは何でしょうか。プライスアクションにおける「角度」をどのように活用すれば、機械学習によって67%の予測精度を達成できるのでしょうか。さらに、角度特徴量を用いた回帰モデルと分類モデルをどのように統合し、実用可能なアルゴリズムへと落とし込むことができるのでしょうか。ギャンはこれとどのような関係があるのでしょうか。価格変動の角度が機械学習において有効な指標である理由は何でしょうか。
市場シミュレーション(第18回):SQL入門(I)
使用するSQLプログラムがMySQLであっても、SQL Server、SQLite、OpenSQL、あるいはその他のものであっても問題ではありません。これらはすべて共通点を持っており、その共通要素がSQL言語です。たとえMySQL Workbenchを使用しない場合でも、MetaEditorやMQL5を通じてデータベースを直接操作し、MetaTrader 5上で操作することが可能です。ただしそのためにはSQLの知識が必要になります。ここでは、その基本を学習します。
多通貨エキスパートアドバイザーの開発(第26回):取引商品の情報提供
多通貨EAの開発へと進む前に、まずはこれまで構築してきたライブラリを用いて、新しいプロジェクトを作成する段階へ移行してみましょう。この例では、ソースコードの管理方法をどのように整理するのが最も適切か、そしてMetaQuotesの新しいコードリポジトリを活用することで、どのような利点が得られるのかを示していきます。
サンゴ礁最適化(CRO)
サンゴ礁の形成および発展過程に着想を得たメタヒューリスティクス手法であるサンゴ礁最適化(CRO, Coral Reef Optimization)アルゴリズムを包括的に解析します。このアルゴリズムは、放卵放精、体内発生、幼生定着、無性生殖、ならびに限られた礁空間を巡る競争といった、サンゴの進化過程における主要な生物学的現象をモデル化したものです。特に、本記事では改良版アルゴリズムに重点を置いて説明します。
市場シミュレーション(第17回):ソケット(XI)
MetaTrader 5上で実行されるコードの実装自体は、それほど難しいものではありません。しかし、いくつか考慮すべき重要な点があります。これはシステムを正しく動作させるために必要です。ここで重要な点を1つ覚えておいてください。実際には1つのプログラムだけが動作するわけではありません。現実には、3つのプログラムを同時に実行する必要があります。それぞれのプログラムが相互に連携し、通信できるように設計して構造化することが重要です。また、それぞれが他のプログラムの処理内容を認識できる必要があります。
市場シミュレーション(第16回):ソケット(X)
このチャレンジも終盤に差し掛かっていますが、その前に、今回の内容と前回の記事の2つの記事をしっかり理解しておく必要があります。そうすることで、次の記事をより深く理解できるようになります。次の記事では、MQL5プログラミングに関連する部分のみを扱う予定です。また、できるだけ分かりやすく説明するように努めます。しかし、これら2つの記事の内容を理解していない場合、次の記事を理解することは難しくなるでしょう。内容が段階的に積み重なっていく構造になっているからです。達成すべき目標に近づくほど、必要となる理解や実装すべき要素は増えていきます。
市場シミュレーション(第15回):ソケット(IX)
本記事では、これまで実演してきた内容、すなわち「ExcelユーザーがMetaTrader 5上で操作できるようにする方法」の一例について解説します。ここで扱うのは、注文送信やポジションの新規建て・決済をExcel側から直接実行する方法ではなく、ExcelからMetaTrader 5上のEAにそれらの操作を指示する方法です。ユーザーはExcelを用いて特定銘柄のファンダメンタル分析をおこない、その結果をもとに、Excelだけを使ってMetaTrader 5上で稼働しているエキスパートアドバイザー(EA)に対し、特定ポジションの新規建てまたは決済を指示できるようにします。
市場シミュレーション(第13回):ソケット(VII)
xlwingsなど、Excelへの直接的な読み書きを可能にするパッケージを用いて何かを開発する場合には、すべてのプログラム、関数、または手続きは実行され、その処理を完了すると同時に終了するという点に注意する必要があります。どれだけ工夫をしても、それらを継続的なループ処理として動作させ続けることはできません。
市場シミュレーション(第12回):ソケット(VI)
本記事では、Pythonコードを他のプログラム内で使用する際に発生する特定の問題や課題をどのように解決するかについて説明します。特に、ExcelとMetaTrader 5を併用する際に生じる一般的な問題を取り上げ、その具体例を示します。なお、この連携の実現にはPythonを使用します。ただし、この実装には小さな欠点があります。この問題は常に発生するわけではなく、特定の状況下でのみ起こります。そして、実際に発生した場合には、その原因を理解することが重要です。本日の記事では、この問題の解決方法について解説を開始します。
MQL5入門(第36回):MQL5のAPIとWebRequest関数の習得(X)
MQL5におけるHMAC-SHA256およびAPI署名の基本概念を紹介し、メッセージと秘密鍵を組み合わせることでリクエストを安全に認証する方法を説明します。これは、機密データを公開することなくAPI呼び出しに署名するための基盤となります。
Python-MetaTrader 5ストラテジーテスター(第4回):テスター入門
シミュレーター上で初めての自動売買ロボットを構築し、MetaTrader 5のストラテジーテスター風にストラテジーテスト処理を実行します。その上で、カスタムシミュレーションで生成された結果を、普段使用しているターミナルの結果と比較します。
MQL5入門(第35回):MQL5のAPIとWebRequest関数の習得(IX)
MetaTrader 5でユーザー操作を検出する方法、AI APIへリクエストを送信する方法、応答を抽出する方法を学び、パネルにスクロールテキストを実装します。
Python-MetaTrader 5ストラテジーテスター(第3回):MetaTrader 5風の取引操作 — 処理と管理
シミュレーター内で注文の開始、終了、変更などの取引操作を処理するための、Python-MetaTrader5と同様の方法を紹介します。シミュレーションがMT5と同様の動作となるように、取引リクエストに対して厳密な検証処理が実装されており、銘柄取引パラメータや一般的なブローカーの制限事項が考慮されています。
トレンド強度の最適化:方向と強さに沿った取引戦略
短期および長期の分析を組み合わせ、全体的なトレンドとその強さに基づいて取引判断および執行をおこなう、トレンドフォロー型のエキスパートアドバイザー(EA)です。本記事では、忍耐力と規律を備え、集中力を維持しながら、トレンドの強さと方向に一致する場合にのみ取引を実行し、特にトレンドに逆らう取引や頻繁なバイアス変更を避け、テイクプロフィットに到達するまでポジションを保持できるトレーダー向けに設計されたEAについて詳しく解説します。
MQL5入門(第34回):MQL5のAPIとWebRequest関数の習得(VIII)
MetaTrader 5でインタラクティブなコントロールパネルを作成する方法を学びます。入力フィールド、アクションボタン、テキストを表示するためのラベルを追加する基本について説明します。プロジェクトベースのアプローチを用いて、ユーザーがメッセージを入力し、最終的にAPIからのサーバー応答を表示するパネルを設定する方法を学びます。
MQL5入門(第33回):MQL5のAPIとWebRequest関数の習得(VII)
本記事では、MQL5を使用してGoogle Generative AI APIをMetaTrader 5に統合する方法を解説します。APIリクエストの構築、サーバー応答の処理、AI生成コンテンツの抽出、レート制限の管理、そして結果をテキストファイルに保存して簡単に参照できるようにする方法を学びます。
Python-MetaTrader 5ストラテジーテスター(第2回):シミュレーターにおけるバー、ティック、組み込み関数のオーバーロード処理
本記事では、Python-MetaTrader 5モジュールが提供する関数に類似した機能を紹介し、使い慣れたインターフェースを備えた、バーおよびティックを内部で独自に処理するシミュレーターを提供します。
MQL5でのAI搭載取引システムの構築(第8回):アニメーション、タイミング指標、応答管理ツールによるUIの改善
本記事では、MQL5におけるAI駆動取引システムを、ユーザーインターフェースの改善によって強化します。具体的には、リクエストの準備フェーズおよび思考フェーズにおけるローディングアニメーションの追加や、レスポンスに表示される処理時間(タイミングメトリクス)による応答の向上などを実装します。さらに、AIへの再クエリを行うための再生成ボタンや、最新の応答をファイルとして保存できるエクスポート機能などのレスポンス管理ツールを追加し、操作性を向上させます。
MQL5で他の言語の実用的なモジュールを実装する(第6回):MQL5におけるPython風ファイルI/O操作
複雑なMQL5ファイル操作を簡素化するために、読み書きを容易にするPythonスタイルのインターフェースを構築する方法を紹介します。カスタム関数とクラスを用いて、Pythonの直感的なファイル処理パターンを再現する方法を解説します。その結果、MQL5のファイルI/Oにおいて、よりクリーンで信頼性の高いアプローチが実現しました。
MQL5入門(第31回):MQL5のAPIとWebRequest関数の習得(V)
WebRequestと外部API呼び出しの使い方を学び、最新のローソク足データを取得し、各値を使用可能な型へ変換し、テーブル形式で整理して保存する方法を解説します。このステップは、取得したデータをローソク足形式で可視化するインジケーターを構築するための基礎となります。
Codexパイプライン:PythonからMQL5へ ― FXI ETFを対象とした複数四半期の指標分析
MetaTraderを本来のFX取引という「コンフォートゾーン」の外でどのように活用できるかという検討を継続し、FXI ETFという別の取引可能資産に着目します。前回の記事では、指標の選定にとどまらず、指標間のパターンの組み合わせにまで踏み込み、やや過度に複雑化した側面がありました。本記事では一歩引いて、指標選定そのものに焦点を当てます。最終的には、十分な価格履歴データが存在する場合に、さまざまな資産に対して適切な指標を推奨できるパイプラインの構築を目指します。
MQL5入門(第30回):MQL5のAPIとWebRequest関数の習得(IV)
APIレスポンスから取得したローソク足データの抽出、変換、整理を、MQL5環境において簡潔におこなうためのステップごとのチュートリアルを紹介します。本ガイドは、コーディングスキルを向上させたい初心者の方や、市場データを効率的に管理するための堅牢な手法を構築したい方に最適です。
プロップファームチャレンジをクリアするための自動リスク管理
本記事では、GOLD向けのプロップファーム用エキスパートアドバイザー(EA)の設計について解説します。このEAは、ブレイクアウトフィルター、マルチタイムフレーム分析、堅牢なリスク管理、そして厳格なドローダウン制御を特徴としています。ルール違反を回避し、ボラティリティの高い市場環境下でも安定した取引実行を維持することで、トレーダーがプロップファームのチャレンジをクリアするのを支援します。
MQL5における純粋なRSA暗号化の実装
MQL5には組み込みの非対称暗号が存在しないため、HTTPのような安全でないチャネルでのデータ交換は困難です。本記事では、PKCS#1 v1.5パディングを用いた純粋なMQL5実装のRSAを紹介し、外部ライブラリを使用せずにAESのセッションキーや小規模なデータブロックを安全に送信できる方法を解説します。このアプローチにより、標準HTTP上でも、アプリケーションレベルでHTTPSに近い安全性を実現できるだけでなく、MQL5アプリケーションにおける安全な通信の重要なギャップを埋めることができます。
他言語の実用モジュールをMQL5で実装する(第04回):Pythonのtime、date、datetimeモジュール
MQL5とは異なり、Pythonは、時間の扱いや操作において高い柔軟性と制御性を提供します。本記事では、Pythonのように日付や時刻をより扱いやすくするためのモジュールを、MQL5で実装していきます。
MQL5入門(第29回):MQL5のAPIとWebRequest関数の習得(III)
本記事では、MQL5におけるAPIおよびWebRequestの理解をさらに深め、外部サービスからローソク足データを取得する方法を解説します。サーバーレスポンスの分割、データのクレンジング、そして複数の日足に対する始値時刻やOHLC値などの主要要素の抽出に焦点を当て、後続の分析に利用可能な形へと整形していきます。
MQL5入門(第28回):MQL5のAPIとWebRequest関数の習得(II)
本記事では、APIとMQL5のWebRequest関数を使用して、外部プラットフォームから価格データを取得および抽出する方法を解説します。URLの構造、APIレスポンスの形式、サーバーデータを可読な文字列へ変換する方法、そしてJSONレスポンスから特定の値を識別および抽出する方法を学びます。
MetaTrader 5機械学習の設計図(第6回):実務で使えるキャッシュシステムの設計
進捗バーを眺めるだけで、取引戦略のテストに時間を浪費していませんか。従来のキャッシュ手法では金融機械学習には対応できず、計算の無駄や再実行によるフラストレーションに悩まされます。私たちは、金融データ特有の課題、時間的依存関係、複雑なデータ構造、そして先読みバイアスのリスクを理解した洗練されたキャッシュアーキテクチャを設計しました。この三層構造のシステムにより、計算速度は劇的に向上し、古い結果の自動無効化やコストの高いデータリークの防止も可能です。もう計算待ちに時間を費やす必要はありません。市場が要求するペースで、迅速に反復作業をおこなえます。
ケンドールのタウ係数と距離相関を用いたVGTの市場ポジショニング分析コード
この記事では、相補的なインジケーターのペアをどのように活用して、過去5年間のVanguard Information Technology Index Fund ETF (VGT)を分析できるかを検討します。具体的には、ケンドールのタウ係数と距離相関という2つの指標を用い、VGTの取引に適したインジケーターの組み合わせだけでなく、それら2つのインジケーターに対するシグナルパターンの最適なペアリングも選定することを目指します。
MQL5でのAI搭載取引システムの構築(第6回):チャットの削除と検索機能の導入
連載第6回では、ChatGPT統合型エキスパートアドバイザー(EA)をさらに進化させ、サイドバーのインタラクティブな削除ボタン、大・小の履歴ポップアップ、新しい検索ポップアップを導入することで、トレーダーが永続的な会話履歴を効率的に管理および整理できるようにしました。これにより、チャートデータからのAI駆動のシグナルを維持しつつ、暗号化されたストレージに会話を安全に保存できます。
MQL5とデータ処理パッケージの統合(第6回):市場フィードバックとモデル適応の融合
ライブ取引結果、ボラティリティの変化、流動性の変化といったリアルタイムの市場フィードバックを、適応型モデル学習とどのように統合するかに焦点を当てます。これにより、応答性が高く、自己改善を継続する取引システムを維持することを目指します。
MQL5でのAI搭載取引システムの構築(第5回):チャットポップアップを備えた折りたたみ可能なサイドバーの追加
連載第5回では、ChatGPT統合型エキスパートアドバイザー(EA)に折りたたみ可能なサイドバーを追加し、ナビゲーションを改善します。これにより、大小の履歴ポップアップからチャットをスムーズに選択できるようになり、従来の複数行入力処理、暗号化されたチャットの保存機能、チャートデータからのAIによる取引シグナル生成も維持されます。
長期取引の最適化:包み足と流動性戦略
高時間足(W1、D1、MN)に基づいて長期的な分析と取引判断をおこなうEAです。このEAは、短期的な値動きに翻弄されることなく、利確目標に到達するまで自分のトレンドの方向性(バイアス)を頻繁に変えずにポジションを保持できる、忍耐強い長期トレーダー向けに設計されています。
MQL5標準ライブラリエクスプローラー(第3回):エキスパート標準偏差チャネル
CTradeクラスとCChartObjectStdDevChannelクラスを用いたエキスパートアドバイザー(EA)を開発し、さらに収益性を高めるためのいくつかのフィルタを適用します。前回の議論で扱った理論を実装へ落とし込むことが目的です。また、MQL5標準ライブラリとその内部コードベースを理解するのに役立つ、もう一つの簡単なアプローチも紹介します。本記事では、これらの概念を実践的に学ぶことができます。
アルゴリズム取引戦略:AIで金市場の頂点を目指す
本記事では、機械学習を用いた金(ゴールド)の取引戦略作成手法を紹介します。提案された手法は、時系列データをさまざまな角度から分析して予測するアプローチに基づいており、従来の金融時系列の分析と予測のみを用いた取引システム作成手法と比較して、その利点や欠点を明らかにすることができます。
ゴールドを例にした一方向トレンド取引における機械学習の考察
この記事では、選択した方向(買いまたは売り)のみで取引をおこなうアプローチについて説明します。この目的のために、因果推論と機械学習の手法を使用します。
MQL5における取引へのコンピュータビジョンの統合(第1回):基本関数の作成
コンピュータビジョンおよびディープラーニングを活用したEURUSD予測システムです。本記事では、畳み込みニューラルネットワークが外国為替市場における複雑な価格パターンをどのように認識し、最大54%の精度で為替レートの変動を予測できるかを解説します。また、従来のテクニカル指標の代わりに、チャートの視覚的分析に人工知能技術を活用するアルゴリズムの構築手法を共有します。著者は、価格データを「画像」へと変換するプロセス、それらをニューラルネットワークで処理する方法、さらに活性化マップやアテンションヒートマップを通じてAIの「意識」を可視化する独自のアプローチを解説します。MetaTrader 5ライブラリを用いた実践的なPythonコードにより、読者は本システムを再現し、自身の取引へ応用することができます。
市場シミュレーション(第10回):ソケット(V)
これからExcelとMetaTrader 5の接続の実装を始めますが、その前にいくつか押さえておくべき重要なポイントがあります。これを理解しておくことで、なぜ動くのか、なぜ動かないのかで悩む必要がなくなります。そして、PythonとExcelを組み合わせることに尻込みする前に、xlwingsを使ってExcelからMetaTrader 5をある程度操作できる方法を見てみましょう。ここで紹介する内容は主に教育目的ですが、もちろん、ここで取り上げることだけに制限されるわけではありません。
機械学習を用いたトレンド取引戦略の開発
この研究では、トレンドフォロー型取引戦略を開発するための新しい手法を提案します。このセクションでは、学習データのアノテーション方法と、それを用いて分類器を学習させるプロセスについて説明します。このプロセスにより、MetaTrader 5上で稼働可能な、完全に実用的な取引システムが構築されます。
市場シミュレーション(第10回):ソケット(IV)
本記事では、MetaTrader 5を管理するためにExcelを活用する方法を、興味深い形で解説していきます。そのために、組み込みVBAを使わずに済むよう、Excelアドインを使用します。アドインが何を意味するのか分からない場合、本記事でExcelで直接Pythonをプログラミングする方法を学ぶことができます。