無料でロボットをダウンロードする方法を見る
Twitter上で私たちを見つけてください。
私たちのファンページに参加してください
興味深いスクリプト?
それではリンクにそれを投稿してください。-
他の人にそれを評価してもらいます
スクリプトを気に入りましたか?MetaTrader 5ターミナルの中でそれを試してみてください。
ビュー:
48
評価:
(4)
パブリッシュ済み:
アップデート済み:
\MQL5\Files\
trend_detector.onnx (6444.66 KB)
MQL5フリーランス このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動

バックテスト EURUSD 01/03/2025 - 20/01/2026 タイムフレーム M5(M5-M15 専用 ONNX AI トレーニング)

バックテスト GBPUSD 2025年03月01日~2026年01月20日 M5 (M5-M15 専用 ONNX AI トレーニング)


1.概要

SidewaysMartingaleはONNXモデルを介して 実装されたAIベースのトレンド検出 器で強化されたマーチンゲールリカバリー 戦略を使用して、横ばい(レンジバウンド)市場を 取引するために設計されたエキスパートアドバイザーです。

このEAには以下の特徴があります:

  • AIトレンド分類(サイドウェイ/強気/弱気)

  • レンジベースのエントリーのためのエンベロープ・インジケータ

  • 制御されたマーチンゲール・ポジション・スケーリング

  • 利益ベースのバスケット決済

  • マージンベースの緊急停止

核となる考え方は

市場が統計的に横ばいと分類されるときのみ取引を行い、強いトレンドが検出されたときはマーチンゲールポジションを追加しないこと。


2.AIトレンド・ディテクター(ONNXインテグレーション)

ONNXモデルの出力

ONNXモデルは以下を返します:

  • 予測ラベル (直接は使用されません)

  • 3つの確率を 持つ確率ベクトル

変数 意味
prob_side 市場が横ばい/レンジ相場 である確率
prob_bull 市場が強気(上昇トレンド) である確率
prob_bear 市場が弱気(下降トレンド) である確率

これらの確率は次のように抽出される:

float prob_side = prob_data[0].values[0]; float prob_bull = prob_data[0].values[1]; float prob_bear = prob_data[0].values[2];


3.フィーチャー・エンジニアリング(AI 入力)

EAは9つのフィーチャーを ONNXモデルに入力します:

特徴インデックス 説明
f[0] EMA200の傾き(トレンドの方向と強さ)
f[1] EMA200からの価格距離
f[2] ATR値(ボラティリティ)
f[3] ATRで正規化したローソク足の値幅
f[4] ブレイクアウト圧力対前回高値
f[5] ローソク足の優位性
f[6] 曜日
f[7] 時間
f[8] 直前のローソク足の方向


これらの特徴により、AIモデルは

  • 市場のボラティリティ

  • トレンドの強さ

  • 時間ベースの行動パターン

  • 価格構造の挙動


4.横ばい相場検出のロジック

相場が横ばいと 判断されるのは以下の場合です:

bool is_sideway = (prob_side >= InpAISidewayThreshold);

  • InpAISidewayThreshold = 0.70の場合

  • マーケットを横ばいとして分類するには、少なくとも70%の信頼度が 必要。

この条件が満たされない限り、新規取引は行われない


5.エントリー・ロジック(レンジ・スキャルピング)

この EA は、エンベロープを 使用してレンジの極値を検出します。

買いエントリー

if(price_close <= lower[0] && is_sideway)

  • 価格が下限エンベロープに タッチまたはブレイク

  • AIが横ばい相場を 確認

  • 買い ポジションをオープン

売りエントリー

else if(price_close >= upper[0] && is_sideway)

  • 価格が上限エンベロープに タッチまたはブレイク

  • AIが横ばい相場を 確認

  • 売り ポジションをオープン

これにより、非トレンド時にレンジの極端な値でのみ 取引が行われます。


6.マーチンゲールリカバリーロジック

すでにポジションが存在する場合、EAは距離ベースのマーチンゲールを 適用します:

  • 新しいポジションは、価格が定義されたピップ距離だけ離れた場合にのみオープンされます。

  • ロットサイズは倍率 ( LotMultiplier ) を使用して増加します。

  • 最大取引回数を制限 ( MaxTradesInSeries )

距離チェック

if(dist >= reqDist)


7.マーチンゲール用AI安全フィルター

これは重要なリスクコントロール・メカニズム です。

新しいマーチンゲールポジションを追加する前に、EAはチェックします:

現在のシリーズが買いの場合

if(s_seriesType == POSITION_TYPE_BUY && prob_bear >= InpAISafetyThreshold) return;

現在のシリーズが売りの場合

if(s_seriesType == POSITION_TYPE_SELL && prob_bull >= InpAISafetyThreshold) return;

🔒 意味:

  • AIが強い反対トレンドを 検出した場合

  • 信頼度がInpAISafetyThresholdを超えた場合

  • マーチンゲール拡大を停止

これにより

  • 強いブレイクアウト中のマーチンゲール

  • トレンド継続による深いドローダウン


8.利益目標とバスケット決済

EA は、すべてのポジションの浮動利益の合計を 監視します:

if(totalProfitUSD >= TakeProfitTargetUSD)

到達したら

  • すべてのポジションが決済されます。

  • マーチンゲールシリーズはリセットされます。

  • EAは新しい横ばいのセットアップを待ちます。

このアプローチでは、すべてのポジションを1つのバスケット取引として 扱います。


9.リスク管理

証拠金ベースの緊急停止

if(((bal - eq)/bal)*100.0 >= StopLossByMarginPercent)

エクイティのドローダウンが定義されたパーセンテージを超えた場合

  • すべてのポジションを直ちに決済

  • マージンコールのシナリオを防止


10.ストラテジー概要

構成要素 目的
AIトレンド検知 市場レジームを分類
プロブサイド レンジ内でのみ取引を許可
プロブル/プロベア 強いトレンド時にマーチンゲールをブロック
エンベロープ レンジの両極端を定義
マーチンゲール 横ばい相場での回復
バスケットTP 平均回帰後の高速エグジット
マージンSL 口座レベルの保護

MetaQuotes Ltdによって英語から翻訳されました。
元のコード: https://www.mql5.com/en/code/68537

注文の変更 注文の変更

未決済ポジションと未決済注文の修正機能

n損益ポジション n損益ポジション

ポジション(未決済注文)の損益計算機

VR Breakdown level - 過去の高値または安値のブレイクアウトを利用したトレーディング戦略 VR Breakdown level - 過去の高値または安値のブレイクアウトを利用したトレーディング戦略

過去の高値または安値の単純なブレイクアウトによるトレーディング戦略

Accelerator Oscillator (AC) Accelerator Oscillator (AC)

アクセルレーション/デセレレーションインジケーター(AC)は現在の市場を動かす力の加速と減速を測ります。