コンテンツにスキップ

Session Micro Breakout

EA0039_Session_Micro_Breakout_v1.0 / ⚠️ FAILED — 生成失敗・修正失敗・BT不合格

ワンライナー

Session Micro Breakout

基本情報

項目 項目
シンボル USDJPY エントリー種別 breakout
時間足 H1 エグジット fixed_sl
方向 both 主要インジケータ

🧬 DNA 4軸

primary_style entry_mechanism regime_target position_logic
scalp breakout volatile fixed_sl

📊 バックテスト結果

判定: ❌ FAIL / 期間: — 〜 —

PF 損益率 勝率 最大DD シャープ 取引数
0.80 -5.08% 88.2% 10.00% -4.08 169

📝 仕様書 / Specification

🇯🇵 クリックで展開(日本語版)

Research EA Spec: Session Micro Breakout

EA Identity

  • EA name: REF0501_01_Session_Micro_Breakout_v1
  • Symbol: USDJPY
  • Timeframe: H1
  • Primary style: scalp
  • Entry mechanism: breakout
  • Regime target: volatile
  • Position logic: fixed_sl

Research Thesis

Session Micro Breakout candidate generated from 3 research source(s). The strategy must preserve the source idea while keeping parameters broad enough to survive out-of-sample testing.

Source Evidence

  • [META] [FILTER] ブローカー毎のスプレッド・約定遅延で EA の実効利益は 20-50% 変動する
  • [FILTER] [STATS] 東京市場 (09:00-15:00 JST) はスプレッド拡大・流動性低下で短期戦略のコスト負けが多い
  • [FILTER] ADX trend strength フィルター: 閾値 20-30 の間が実用域、30超は過剰に絞り込みすぎ
  • [FILTER] セッション時間フィルター (東京/欧州/NY) 追加で PF が 10-20% 改善する例多数

Tradable Spec

  • Entry logic: BUY entry: close[1] exceeds the N-bar highest high evaluated at bar[2] or earlier — close[1] > iHigh(_Symbol, PERIOD_CURRENT, iHighest(_Symbol, PERIOD_CURRENT, MODE_HIGH, InpLookback, 2)) (input default InpLookback=20). SELL entry: close[1] < N-bar lowest low — symmetric. ATR activity filter: use atr[2] < atr_avg[2] * InpSqueezeMult evaluated on bar[2] NOT bar[1] — evaluating squeeze and breakout on the same bar causes a logical contradiction (squeeze = low ATR, breakout = high move; same-bar AND is nearly impossible). Regime: use 100-bar SMA slope (sma100[1] - sma100[20] > 0) as an independent trend filter. ONE regime variable only: do NOT also add a price-vs-SMA check — one slope condition is sufficient.
  • Exit logic: Partial exit 50% at 1R (distance = entry to initial SL). Trail remaining 50%: ATR trailing stop at InpTrailATR * atr[1] (default InpTrailATR=2.0), only moving in profit direction — NEVER widen stop. Regime exit: if regime condition (volatile/trending) disappears — ADX drops below InpMinADX — close immediately. Time exit: close any open position after InpMaxBars bars (default=48) if still alive. Hard rule: initial SL is NEVER moved against position.
  • Risk management: Fixed fractional risk per trade, no martingale, no grid expansion, max one position per symbol, and hard daily loss guard.

Filters

  • Spread and session filter
  • Minimum ATR activity filter
  • Regime-specific confirmation filter from source evidence
  • Minimum sample count filter before accepting optimization

Logic Independence Requirements

必須チェック(実装前に確認すること):

  • エントリーシグナル変数とレジームフィルター変数は独立したデータ源または独立したlookbackから計算すること
  • 悪い例: bullishCross = fastMA[1] > slowMA[1]isBearishRegime = fastMA[1] < slowMA[1] を AND 結合 → 同一バーで両立不可、取引ゼロになる
  • 正しいレジーム定義: slowMA[1] - slowMA[10] の傾き、上位足のMA方向、長い lookback(50本以上)の傾き
  • 全フィルターを AND 結合した時に、理論上発火できるバーが存在することをスケッチで確認すること
  • 逆張り戦略では「エントリー条件の否定 ≠ レジーム条件」になっているか必ず確認すること
  • RSI・BB・ATR など同一インジケーターを「シグナル源」と「フィルター源」の両方に使う場合、同じバーで矛盾する不等式を要求していないか確認すること
  • レジーム変数は1本のみ: bullishRegime (または uptrend 等) という bool 変数を1つ定義し、エントリー条件の AND に使うのはその1変数のみにすること。bullishRegime && regimeUp のように2本のレジーム変数を AND 結合することを禁止する。スロープ・価格位置・ADX など複数軸で判断したい場合は、それらを統合した1本の bool 変数にまとめてから AND に組み込むこと。

Optimization Envelope

  • Relaxable: confirmation thresholds, ATR activity threshold, session window, signal confirmation bars.
  • Not relaxable: stop-loss discipline, max one position, no martingale, no fixed historical price levels.
  • Initial optimization scope: 3-5 parameters only.
  • If no trades: loosen entry confirmation first, then session restriction, then ATR threshold.
  • If too many trades: strengthen regime filter and minimum signal distance.

Backtest Acceptance

  • Backtest at least 6 months with the latest 1 months held out.
  • Use walk-forward setting when MT5 runner is available.
  • Reject if OOS/IS PF ratio is below 0.70 or if OOS PF min is below 1.10.
  • Reject if OOS trade count is too low; first loosen entry filters before optimizing profit targets.

Overfitting Controls

  • Keep each numeric parameter in a wide theory-backed range; do not tune to a single date range.
  • Limit optimization to 3-5 core parameters in the first pass.
  • Prefer regime filters with clear market meaning over curve-fitted thresholds.
  • Stop improving the candidate after repeated NO_TRADE/LOW_SAMPLE failures.

Learning Feedback

  • ledger: 1 prior strategy failure(s) for this DNA
  • ledger: improve: reduce parameter count and replace brittle thresholds with regime logic

Implementation Guardrails

  • [META] [RISK] [CONTRA] MT5 Strategy Testerは同名EAのinput値をキャッシュすることがあり、mq5側のinputデフォルトを変更して再コンパイルしても、BTでは前回値が使われる場合がある。inputデフォルト変更の検証では、別EA名/別ファイル名にするか、tester.ini/ExpertParametersで明示的に値を渡し、Testerログの「started with inputs」を必ず確認する。 (.clinerules)
  • [RISK] [META] [CONTRA] 【部分決済後のコメント管理パターン】MQL5ではPositionModifyでコメントを変更できないため、TP1部分決済後の状態管理にコメントプレフィックスを使う設計は「二重部分決済」リスクを内包する。対策として: (1)グローバルなulong配列でTP1済みチケットを管理する、(2)部分決済後に残りを即クローズ→新コメントで再エントリーする、のいずれかのパターンを採用すること。 (.clinerules)
  • [STATS] [META] スリッページ許容値(SetDeviationInPoints)はinputパラメータ化することで、バックテストや運用時の調整が容易になる (.clinerules)
  • [TREND] [BREAKOUT] [FILTER] [META] マルチタイムフレームEAでATR等のボラティリティ指標をCopyBufferする際、エントリー判定用の価格・MA(start_pos=1で確定足参照)とATR(start_pos=0で未確定バー参照)でstart_posが混在しやすい。設計方針として「全バッファのstart_posを統一する」か「ATRのみ最新値を使う理由をコメントで明記する」かを決めておくべき。 (.clinerules)
  • [META] HistorySelect(0, TimeCurrent()) は全取引履歴を走査対象にするため、長期運用や多数の取引がある口座ではパフォーマンスに影響する。連敗カウント等の直近履歴のみが必要な場合は、開始時刻を限定する(例: TimeCurrent() - 30243600)か、最後のチェック時刻を記録して差分走査にする。 (.clinerules)
  • [META] MQL5のOnTradeTransactionではDEAL_ENTRY_INOUTも処理対象に含めないと、ネッティング口座での約定イベントを捕捉できない場合がある (.clinerules)
  • [META] OnTradeTransactionでHistoryDealSelectを使用する際、DEAL_ENTRY_OUTとDEAL_ENTRY_INOUTの両方を処理することで、ネッティング口座とヘッジ口座の両方に対応できる。この2値チェックパターンは連敗カウント等の決済イベント処理の標準実装として有効。 (.clinerules)
  • [META] OnTradeイベントでHistorySelect(0, TimeCurrent())による全履歴スキャンは、取引履歴が長期化するとパフォーマンス劣化を招く。g_last_processed_dealに対応する時刻を別途保持し、HistorySelectの開始時刻を直近に絞り込むパターンが推奨される。 (.clinerules)

Story Package

  • Hook: AIが研究メモから自律発掘した「Session Micro Breakout」をEA化して検証。
  • Blog angle: 研究アイデアは本当にMT5で再現できるのか、OOSで崩れるかまで公開する。
  • Failure angle: 失敗時は NO_TRADE / LOW_SAMPLE / OVERFIT / HIGH_DD に分類して次の研究候補へ進む。

Spec Validation Warnings (auto-generated)

  • CONTRADICTION: ATR squeeze filter と breakout entry signal が同一バーで矛盾する可能性が高い。仕様では『atr[2] < atr_avg[2] * InpSqueezeMult を bar[2] で評価』と明記されているが、breakout entry は『close[1] > iHigh(..., InpLookback, 2)』で bar[1] で判定される。しかし、close[1] がブレイクアウトを形成するということは、bar[1] で大きな値動きが発生していることを意味し、これは atr[1] を上昇させる。その結果、atr[2] < atr_avg[2] * InpSqueezeMult という『スクイーズ状態』の条件と『ブレイクアウト(高ボラティリティ)』の条件が同時成立しにくくなる。特に InpSqueezeMult が小さい値(例:0.8-1.0)に設定された場合、ブレイクアウト直前のスクイーズ状態を捉えられず、ブレイクアウト後は既に atr[1] が上昇しているため、atr[2] の条件を満たさなくなる可能性が高い。
  • Fix: 仕様書内で『evaluating squeeze and breakout on the same bar causes a logical contradiction』と既に警告されている。実装時は以下のいずれかを採用すること: (1) squeeze filter を削除し、代わりに regime filter (100-bar SMA slope) のみに依存する、(2) squeeze を『ブレイクアウト前の状態』として atr[3] または atr[4] を参照する、(3) squeeze と breakout を別々の戦略として分離する。現在の仕様のままでは、InpSqueezeMult の値によっては取引がほぼ発生しない可能性が高い。
  • WARNING: Regime filter の定義が『100-bar SMA slope』のみと明記されているが、同時に『ONE regime variable only: do NOT also add a price-vs-SMA check』という制約がある。しかし、entry logic の『close[1] > iHigh(...)』という条件自体が既に『価格が過去 N 本の高値を超える』という上昇トレンド判定を含んでいる。regime filter が『sma100[1] - sma100[20] > 0』(SMA傾き上向き)のみの場合、entry signal と regime が独立していないリスクがある。特に、close[1] がブレイクアウトしているが SMA100 の傾きが下向きの場合、entry と regime が矛盾する可能性がある。仕様書では『エントリーシグナル変数とレジームフィルター変数は独立したデータ源または独立した lookback から計算すること』と要求しているが、両者が同じ価格データから派生している場合、完全な独立性は保証されない。
  • Fix: regime filter を『SMA傾き』のみに限定する場合、entry signal との独立性を明確にするため、以下を確認すること: (1) SMA100 の lookback (20本) が entry signal の lookback (InpLookback=20) と異なるか確認し、異なる場合は独立性が高い、(2) regime filter を『SMA100 傾き』から『ADX > InpMinADX』に変更し、より独立した trend strength 指標を使う、(3) 仕様書の『Regime-specific confirmation filter from source evidence』が具体的に何を指すのか明確にする。現在の仕様では regime 定義が曖昧であり、実装時に矛盾が生じる可能性がある。
  • WARNING: ATR activity filter の『InpSqueezeMult』パラメータが未指定。デフォルト値がないため、実装時に任意の値が設定される可能性がある。仕様書では『squeeze = low ATR, breakout = high move; same-bar AND is nearly impossible』と警告しているが、InpSqueezeMult の具体的な推奨範囲(例:0.8-1.2)が明記されていない。
  • WARNING: Regime filter の『100-bar SMA slope』定義が『sma100[1] - sma100[20] > 0』と記載されているが、これは『直近 20 本の傾き』であり『100 本の長期傾き』ではない。仕様の意図が不明確。
  • WARNING: Exit logic で『Regime exit: if regime condition (volatile/trending) disappears — ADX drops below InpMinADX』と記載されているが、entry logic では ADX が条件に含まれていない。entry 時に ADX チェックがないのに、exit 時のみ ADX を参照するのは非対称。
  • WARNING: 『Partial exit 50% at 1R』の定義が曖昧。『distance = entry to initial SL』とあるが、entry price と SL の距離が 1R の定義か、それとも現在の利益が 1R に達したかが不明確。
  • WARNING: 『Time exit: close any open position after InpMaxBars bars (default=48)』とあるが、H1 timeframe で 48 bars = 2 日間。これは『scalp』スタイルとしては長すぎる可能性がある。
  • WARNING: 仕様書の『Logic Independence Requirements』セクションで『レジーム変数は 1 本のみ』と強調されているが、実装時に複数のレジーム条件(SMA傾き、ADX、セッション時間フィルター)が AND 結合される可能性がある。これらが本当に独立しているか、実装前に確認が必須。
  • WARNING: 『Spread and session filter』が Filters セクションに列挙されているが、Tradable Spec に具体的な実装方法が記載されていない。東京市場フィルター(09:00-15:00 JST)の有無が不明確。
  • WARNING: 『Minimum sample count filter before accepting optimization』が Filters に列挙されているが、具体的な最小サンプル数が未定義。
  • WARNING: 仕様書の『If no trades: loosen entry confirmation first, then session restriction, then ATR threshold』という最適化ガイダンスは、『取引ゼロ』が予想される設計であることを暗に示唆している。初期パラメータ設定時に取引が発生しない可能性が高い。
🇬🇧 Click to expand (English version)

Research EA Spec: Session Micro Breakout

EA Identity

  • EA name: REF0501_01_Session_Micro_Breakout_v1
  • Symbol: USDJPY
  • Timeframe: H1
  • Primary style: scalp
  • Entry mechanism: breakout
  • Regime target: volatile
  • Position logic: fixed_sl

Research Thesis

Session Micro Breakout candidate generated from 3 research source(s). The strategy must preserve the source idea while keeping parameters broad enough to survive out-of-sample testing.

Source Evidence

  • [META] [FILTER] ブローカー毎のスプレッド・約定遅延で EA の実効利益は 20-50% 変動する
  • [FILTER] [STATS] 東京市場 (09:00-15:00 JST) はスプレッド拡大・流動性低下で短期戦略のコスト負けが多い
  • [FILTER] ADX trend strength フィルター: 閾値 20-30 の間が実用域、30超は過剰に絞り込みすぎ
  • [FILTER] セッション時間フィルター (東京/欧州/NY) 追加で PF が 10-20% 改善する例多数

Tradable Spec

  • Entry logic: BUY entry: close[1] exceeds the N-bar highest high evaluated at bar[2] or earlier — close[1] > iHigh(_Symbol, PERIOD_CURRENT, iHighest(_Symbol, PERIOD_CURRENT, MODE_HIGH, InpLookback, 2)) (input default InpLookback=20). SELL entry: close[1] < N-bar lowest low — symmetric. ATR activity filter: use atr[2] < atr_avg[2] * InpSqueezeMult evaluated on bar[2] NOT bar[1] — evaluating squeeze and breakout on the same bar causes a logical contradiction (squeeze = low ATR, breakout = high move; same-bar AND is nearly impossible). Regime: use 100-bar SMA slope (sma100[1] - sma100[20] > 0) as an independent trend filter. ONE regime variable only: do NOT also add a price-vs-SMA check — one slope condition is sufficient.
  • Exit logic: Partial exit 50% at 1R (distance = entry to initial SL). Trail remaining 50%: ATR trailing stop at InpTrailATR * atr[1] (default InpTrailATR=2.0), only moving in profit direction — NEVER widen stop. Regime exit: if regime condition (volatile/trending) disappears — ADX drops below InpMinADX — close immediately. Time exit: close any open position after InpMaxBars bars (default=48) if still alive. Hard rule: initial SL is NEVER moved against position.
  • Risk management: Fixed fractional risk per trade, no martingale, no grid expansion, max one position per symbol, and hard daily loss guard.

Filters

  • Spread and session filter
  • Minimum ATR activity filter
  • Regime-specific confirmation filter from source evidence
  • Minimum sample count filter before accepting optimization

Logic Independence Requirements

Mandatory check (must verify before implementation):

  • Entry signal variables and regime filter variables must be calculated from independent data sources or independent lookback periods.
  • Bad example: bullishCross = fastMA[1] > slowMA[1] AND isBearishRegime = fastMA[1] < slowMA[1] — these cannot both be true on the same bar, resulting in zero trades.
  • Correct regime definition: slope of slowMA[1] - slowMA[10], higher timeframe MA direction, or slope over a long lookback (50+ bars).
  • When all filters are AND-combined, sketch-verify that at least one bar can theoretically trigger.
  • For mean-reversion strategies, always verify that "negation of entry condition ≠ regime condition".
  • When using the same indicator (RSI, BB, ATR, etc.) as both "signal source" and "filter source", confirm you are not demanding contradictory inequalities on the same bar.
  • Single regime variable only: Define exactly one bool variable (e.g., bullishRegime or uptrend) and use only that one variable in the entry AND condition. Ban combining two regime variables with AND (e.g., bullishRegime && regimeUp). If you need to judge across multiple axes (slope, price position, ADX), merge them into a single composite bool variable before AND-combining.

Optimization Envelope

  • Relaxable: confirmation thresholds, ATR activity threshold, session window, signal confirmation bars.
  • Not relaxable: stop-loss discipline, max one position, no martingale, no fixed historical price levels.
  • Initial optimization scope: 3-5 parameters only.
  • If no trades: loosen entry confirmation first, then session restriction, then ATR threshold.
  • If too many trades: strengthen regime filter and minimum signal distance.

Backtest Acceptance

  • Backtest at least 6 months with the latest 1 months held out.
  • Use walk-forward setting when MT5 runner is available.
  • Reject if OOS/IS PF ratio is below 0.70 or if OOS PF min is below 1.10.
  • Reject if OOS trade count is too low; first loosen entry filters before optimizing profit targets.

Overfitting Controls

  • Keep each numeric parameter in a wide theory-backed range; do not tune to a single date range.
  • Limit optimization to 3-5 core parameters in the first pass.
  • Prefer regime filters with clear market meaning over curve-fitted thresholds.
  • Stop improving the candidate after repeated NO_TRADE/LOW_SAMPLE failures.

Learning Feedback

  • ledger: 1 prior strategy failure(s) for this DNA
  • ledger: improve: reduce parameter count and replace brittle thresholds with regime logic

Implementation Guardrails

  • [META] [RISK] [CONTRA] MT5 Strategy Testerは同名EAのinput値をキャッシュすることがあり、mq5側のinputデフォルトを変更して再コンパイルしても、BTでは前回値が使われる場合がある。inputデフォルト変更の検証では、別EA名/別ファイル名にするか、tester.ini/ExpertParametersで明示的に値を渡し、Testerログの「started with inputs」を必ず確認する。 (.clinerules)
  • [RISK] [META] [CONTRA] 【部分決済後のコメント管理パターン】MQL5ではPositionModifyでコメントを変更できないため、TP1部分決済後の状態管理にコメントプレフィックスを使う設計は「二重部分決済」リスクを内包する。対策として: (1)グローバルなulong配列でTP1済みチケットを管理する、(2)部分決済後に残りを即クローズ→新コメントで再エントリーする、のいずれかのパターンを採用すること。 (.clinerules)
  • [STATS] [META] スリッページ許容値(SetDeviationInPoints)はinputパラメータ化することで、バックテストや運用時の調整が容易になる (.clinerules)
  • [TREND] [BREAKOUT] [FILTER] [META] マルチタイムフレームEAでATR等のボラティリティ指標をCopyBufferする際、エントリー判定用の価格・MA(start_pos=1で確定足参照)とATR(start_pos=0で未確定バー参照)でstart_posが混在しやすい。設計方針として「全バッファのstart_posを統一する」か「ATRのみ最新値を使う理由をコメントで明記する」かを決めておくべき。 (.clinerules)
  • [META] HistorySelect(0, TimeCurrent()) は全取引履歴を走査対象にするため、長期運用や多数の取引がある口座ではパフォーマンスに影響する。連敗カウント等の直近履歴のみが必要な場合は、開始時刻を限定する(例: TimeCurrent() - 30243600)か、最後のチェック時刻を記録して差分走査にする。 (.clinerules)
  • [META] MQL5のOnTradeTransactionではDEAL_ENTRY_INOUTも処理対象に含めないと、ネッティング口座での約定イベントを捕捉できない場合がある (.clinerules)
  • [META] OnTradeTransactionでHistoryDealSelectを使用する際、DEAL_ENTRY_OUTとDEAL_ENTRY_INOUTの両方を処理することで、ネッティング口座とヘッジ口座の両方に対応できる。この2値チェックパターンは連敗カウント等の決済イベント処理の標準実装として有効。 (.clinerules)
  • [META] OnTradeイベントでHistorySelect(0, TimeCurrent())による全履歴スキャンは、取引履歴が長期化するとパフォーマンス劣化を招く。g_last_processed_dealに対応する時刻を別途保持し、HistorySelectの開始時刻を直近に絞り込むパターンが推奨される。 (.clinerules)

Story Package

  • Hook: AI autonomously discovered "Session Micro Breakout" from research notes and converted it into an EA for verification.
  • Blog angle: Can a research idea truly be reproduced on MT5? We publish results all the way through to OOS decay.
  • Failure angle: Failures are classified as NO_TRADE / LOW_SAMPLE / OVERFIT / HIGH_DD and fed into the next research candidate pipeline.

Spec Validation Warnings (auto-generated)

  • CONTRADICTION: ATR squeeze filter と breakout entry signal が同一バーで矛盾する可能性が高い。仕様では『atr[2] < atr_avg[2] * InpSqueezeMult を bar[2] で評価』と明記されているが、breakout entry は『close[1] > iHigh(..., InpLookback, 2)』で bar[1] で判定される。しかし、close[1] がブレイクアウトを形成するということは、bar[1] で大きな値動きが発生していることを意味し、これは atr[1] を上昇させる。その結果、atr[2] < atr_avg[2] * InpSqueezeMult という『スクイーズ状態』の条件と『ブレイクアウト(高ボラティリティ)』の条件が同時成立しにくくなる。特に InpSqueezeMult が小さい値(例:0.8-1.0)に設定された場合、ブレイクアウト直前のスクイーズ状態を捉えられず、ブレイクアウト後は既に atr[1] が上昇しているため、atr[2] の条件を満たさなくなる可能性が高い。
  • Fix: 仕様書内で『evaluating squeeze and breakout on the same bar causes a logical contradiction』と既に警告されている。実装時は以下のいずれかを採用すること: (1) squeeze filter を削除し、代わりに regime filter (100-bar SMA slope) のみに依存する、(2) squeeze を『ブレイクアウト前の状態』として atr[3] または atr[4] を参照する、(3) squeeze と breakout を別々の戦略として分離する。現在の仕様のままでは、InpSqueezeMult の値によっては取引がほぼ発生しない可能性が高い。
  • WARNING: Regime filter の定義が『100-bar SMA slope』のみと明記されているが、同時に『ONE regime variable only: do NOT also add a price-vs-SMA check』という制約がある。しかし、entry logic の『close[1] > iHigh(...)』という条件自体が既に『価格が過去 N 本の高値を超える』という上昇トレンド判定を含んでいる。regime filter が『sma100[1] - sma100[20] > 0』(SMA傾き上向き)のみの場合、entry signal と regime が独立していないリスクがある。特に、close[1] がブレイクアウトしているが SMA100 の傾きが下向きの場合、entry と regime が矛盾する可能性がある。仕様書では『エントリーシグナル変数とレジームフィルター変数は独立したデータ源または独立した lookback から計算すること』と要求しているが、両者が同じ価格データから派生している場合、完全な独立性は保証されない。
  • Fix: regime filter を『SMA傾き』のみに限定する場合、entry signal との独立性を明確にするため、以下を確認すること: (1) SMA100 の lookback (20本) が entry signal の lookback (InpLookback=20) と異なるか確認し、異なる場合は独立性が高い、(2) regime filter を『SMA100 傾き』から『ADX > InpMinADX』に変更し、より独立した trend strength 指標を使う、(3) 仕様書の『Regime-specific confirmation filter from source evidence』が具体的に何を指すのか明確にする。現在の仕様では regime 定義が曖昧であり、実装時に矛盾が生じる可能性がある。
  • WARNING: ATR activity filter の『InpSqueezeMult』パラメータが未指定。デフォルト値がないため、実装時に任意の値が設定される可能性がある。仕様書では『squeeze = low ATR, breakout = high move; same-bar AND is nearly impossible』と警告しているが、InpSqueezeMult の具体的な推奨範囲(例:0.8-1.2)が明記されていない。
  • WARNING: Regime filter の『100-bar SMA slope』定義が『sma100[1] - sma100[20] > 0』と記載されているが、これは『直近 20 本の傾き』であり『100 本の長期傾き』ではない。仕様の意図が不明確。
  • WARNING: Exit logic で『Regime exit: if regime condition (volatile/trending) disappears — ADX drops below InpMinADX』と記載されているが、entry logic では ADX が条件に含まれていない。entry 時に ADX チェックがないのに、exit 時のみ ADX を参照するのは非対称。
  • WARNING: 『Partial exit 50% at 1R』の定義が曖昧。『distance = entry to initial SL』とあるが、entry price と SL の距離が 1R の定義か、それとも現在の利益が 1R に達したかが不明確。
  • WARNING: 『Time exit: close any open position after InpMaxBars bars (default=48)』とあるが、H1 timeframe で 48 bars = 2 日間。これは『scalp』スタイルとしては長すぎる可能性がある。
  • WARNING: 仕様書の『Logic Independence Requirements』セクションで『レジーム変数は 1 本のみ』と強調されているが、実装時に複数のレジーム条件(SMA傾き、ADX、セッション時間フィルター)が AND 結合される可能性がある。これらが本当に独立しているか、実装前に確認が必須。
  • WARNING: 『Spread and session filter』が Filters セクションに列挙されているが、Tradable Spec に具体的な実装方法が記載されていない。東京市場フィルター(09:00-15:00 JST)の有無が不明確。
  • WARNING: 『Minimum sample count filter before accepting optimization』が Filters に列挙されているが、具体的な最小サンプル数が未定義。
  • WARNING: 仕様書の『If no trades: loosen entry confirmation first, then session restriction, then ATR threshold』という最適化ガイダンスは、『取引ゼロ』が予想される設計であることを暗に示唆している。初期パラメータ設定時に取引が発生しない可能性が高い。

免責事項

本EAは自動生成された検証用コードです。実運用可否はご自身で検証してください。

EA1000 一覧に戻る


関連用語

— SPONSORED —