1. データソースとデータフロー
市場データはMetaTrader 5プラットフォームから取得されます。システムは、ローソク足の始値、高値、安値、終値、出来高、現在のレート、価格変動の動向、選択されたテクニカル指標の値、および機械学習モデルによって生成されたシグナルなどを分析します。分析はM30の時間足で行われ、1本のローソク足が30分間に対応します。
MetaTrader 5からのデータは、ローカルのJupyterLab計算環境に送信されます。そこでモデルと戦略が動作します。結果はMT5のExpert Advisor(EA)プログラムに戻され、EAはニューラルネットワークの予測結果をテクニカル指標のシグナルと比較します。必要な条件が満たされると、EAは取引を実行するか見送るかを決定し、その状態をウェブパネルに送信します。
フローチャート: MetaTrader 5 → 市場データ → AIモデルと戦略 → フィルター → BUY、SELL、またはNO TRADE → 執行または非執行 → ウェブサイトへの公開。
2. 人工知能モデル
モデルは人間のように市場を分析するわけではありません。価格や指標の挙動を表す一連の数値を受け取り、それに基づいて予測や状況の評価を算出します。モデルの結果は統計的な予測であり、将来を確実に描写するものではありません。
- Direction_CNN1D_Net — 価格の動きの方向(上昇か下降か)を評価します。
- Range_MLP_Net — 利益方向への動きの想定範囲、潜在的な下落幅、およびRRとして定義される潜在的な利益とリスクの比率を推定します。
- Filter_CNN1D_Net — その時点が、ポジションの開設を検討するために必要な品質条件を満たしているかどうかを評価します。
今後のバージョンでは、トレンド転換の検出、シグナルの整合性評価、あるいはリスクの高い状況のブロックを担当するモデルも動作する可能性があります。研究環境で表示されるすべてのモデルが、必ずしも取引を制御するわけではありません。
3. 学習データ
EURUSDプロジェクトでは、2000年から2026年までの期間を網羅するデータセットが用意されています。各行は1つのM30ローソク足を表し、OHLCV価格データ、テクニカル指標、および過去6つの30分間の期間の特性を含んでいます。データセットのバージョンによっては、約300の列と100万行近くの学習データが得られます。
特徴量や観測値の数が多くても、誤りのリスクがなくなるわけではありません。モデルは、将来繰り返されることのない、過去のデータに特有の相関関係を学習してしまう可能性があります。このため、バックテストや過去の実績は、実取引(LIVE)での有効性を保証するものではありません。
4. 意思決定戦略
ニューラルネットワークからの単一のシグナルだけでポジションが開かれるとは限りません。戦略によっては、方向性、適切なRange RR値、品質フィルターの通過、テクニカル指標による確認、および取引を排除するシグナルの不在といった、いくつかの独立した要素がすべて満たされる必要がある場合があります。
- ANALOG — MT5チャート上で動作する、合意されたテクニカル指標から導き出される方向性。
- DIRECTION — 価格データとテクニカル指標に基づいて学習されたネットワークによる方向性の評価。
- RANGE — 予想される価格変動範囲、TP値、スリップ、およびRR比の評価。
- FILTER — 現在の状況の質が、要求される閾値を超えているかどうかの評価。
戦略の結果は、BUY、SELL、またはNO TRADEのいずれかの値をとります。NO TRADEは、正当かつ重要な結果です。これは、システムがポジションの開設または決済を行うための十分な裏付けを見つけられなかったことを意味します。
5. EAによる取引の実行
承認されたシグナルを受信すると、エキスパートアドバイザーはそれをアクティブなテクニカルロジックと照合し、安全条件を確認します。具体的には、システムにすでにポジションが存在するか、シグナルが最新か、分析モジュールとの接続が機能しているか、必要なフィルター条件が満たされているか、ユーザー設定によって取引がブロックされていないかなどがチェックされます。
また、本プログラムには、起動時、手動でのクローズ時、またはプラットフォームの状態変更時に、誤って再エントリーしてしまうのを防ぐための安全対策も備わっています。最終的な動作方法は、EAのバージョンおよび当該観察期間に適用される設定によって異なります。
6. ポジションサイズ、TP、SL、トレーリング
ポジションサイズは、資本金、口座のレバレッジ、およびプログラムの制限に基づいて自動的に決定されます。特定のテスト期間において、システムは利用可能な預金の非常に高い割合を使用して動作する場合があります。これは、特定の口座における極めてリスクの高い実験的な設定であり、推奨される資金管理モデルではありません。
テイクプロフィットの値は、MLPレンジ予測から取得され、次の予測でより大きな潜在的なレンジが示された場合に更新されます。ストップロスは、テスト中の設定に応じて、数値で設定することも、未設定のままにすることも可能です。追加のトレーリングストップ機能は、急激な価格変動に対応したり、達成した利益を保護したり、特定の条件下でポジションを決済・反転させたりすることができます。すべての取引が、建玉時点から同一のリスク管理設定を持つ必要はありません。
7. LIVEパネルの表示内容
LIVEパネルは、EURUSDのシステムの現在の状態を表示します。ここでは、ポジションのステータス、方向、建玉時刻と価格、現在のレート、ポイント単位での現在の利益、利用可能なSLおよびTPレベル、および最後の正常な読み取り時刻を確認できます。チャートには、ポジションの建玉または決済のタイミングが表示されます。
ポジションがアクティブでない場合、パネルには最後に決済された取引、または「No Open Position」というメッセージが表示されることがあります。これにより、現在のポジションがない状態が読み込みエラーと混同されることを防ぎます。
8. 履歴とチャート
ポジションが決済されると、システムはEURUSDの履歴用テーブルに記録を保存します。レコードには、建玉開始および決済時刻、方向、価格、ピップ単位の利益、最大ドローダウン、累積利益、決済理由、およびOPENとCLOSEの画像が含まれる場合があります。折れ線グラフはゼロから始まり、累積利益を表示し、棒グラフは各取引を個別に表示します。
画像は数値データの代わりとなるものではなく、市場の状況を記録するものです。画像の保存とレコードの保存は、それぞれ異なる技術チャネルを使用しているため、わずかに異なるタイミングで実行される場合があります。
9. データの更新
パネルは、デフォルトで約2秒ごとにデータを自動的に更新します。パネルに表示される時刻は、直近の正常な読み取りが行われた時点を示しています。プラットフォーム、コンピュータ、サーバー、または分析モジュールとの接続が切断された場合、ページには一時的に、最後に利用可能だった状態、待機中のメッセージ、またはデータなしが表示されることがあります。