KaneBreak4215¶
EA0224_KaneBreak4215_v1.0 / ⚠️ FAILED — 生成失敗・修正失敗・BT不合格
ワンライナー
直近20日高値=『4215ドル相当の壁』を終値で上抜けたら半年ぶりの上昇トレンドと信じてロングするドンチャンブレイクEA
判定: ⚫ 散(散る(検証に乗らず))
話題の手法をEA化してみたが、そもそもエントリーが成立せず検証不能。ネタとしては『動かなかった』結果。
X起点ライン(話題の手法を検証)
基本情報¶
| 項目 | 値 | 項目 | 値 | |
|---|---|---|---|---|
| シンボル | XAUUSD | エントリー種別 | breakout | |
| 時間足 | D1 | エグジット | atr_tp_sl | |
| 方向 | long_only | 主要インジケータ | donchian |
🧬 DNA 5軸¶
| primary_style | entry_mechanism | regime_target | position_logic | core_indicator_family |
|---|---|---|---|---|
trend_follow | breakout | trending | fixed_sl | price_action |
🐦 元ネタツイート¶
https://x.com/77ko_FX/status/2084967591140073835
📊 バックテスト結果¶
未実行
📝 仕様書 / Specification¶
クリックで展開
ゴールド4215壁ブレイク EA 仕様書¶
1. 原ネタ要約¶
ツイート主 @77ko_FX が「ゴールド上昇トレンド転換」を予告し、転換確定ラインとして 4215ドル を明示。ここを終値ベースで上抜けすれば「半年ぶりの上昇トレンド」が来るという主張がバズった。フォロワーは「4215という価格の物語」に共感し、「抜けたら乗り遅れる」というFOMO心理がエントリー動機になっている。
2. 戦略概要¶
日足終値が直近20日の最高値(Donchian upper)を、ATRバッファ付きで上抜けたらロング。上昇トレンド転換の確定を待って順張りで飛び乗る。損切りはATR倍率、利確もATR倍率のRR 1:2~1:3。失敗時は時間経過で決済する。
3. 戦略抽象化¶
「4215ドル」はある時点の高値であり、絶対価格で実装すると期間依存の過学習になる。そこで「直近20日間の最高値」という相対的な壁に変換する。ATRが高い時期は壁も厚く、低い時期は薄くするため、常に現在のボラティリティに追従する。
4. シンボル・時間足¶
- シンボル: XAUUSD(ゴールド)
- 時間足: D1(日足)
- 方向: ロングのみ
5. エントリー条件¶
新規D1バー確定時、すべて確定足のみで判定する。
5.1 ブレイク条件(AND)¶
- トリガー: 直近確定足の終値
Close[1]が、信号足を除いた直近20本の最高値 を上回る。 - 具体式:
Close[1] > highest(High[2 .. DonchianPeriod+1]) + ATR(14)[2] * BreakoutBufferATR - 確定性: 終値での上抜けのみ。ヒゲは無効。
5.2 アクティビティフィルター(AND)¶
ATR(14)[1] > SMA(ATR(14),50)[2] * MinATRRatio(デフォルト0.6)- 最低限の値動きがあることを確認。ただしスクイーズ検出とは別の意味なので注意。
5.3 スプレッドフィルター(AND)¶
- 約定時のスプレッドが
MaxSpreadPrice以下であること。
6. エグジット条件¶
6.1 メイン: ATR固定SL/TP¶
- SL = EntryPrice - ATR(14)[1] * ATR_SL_Mult
- TP = EntryPrice + ATR(14)[1] * ATR_TP_Mult
- デフォルト RR = 1:2 (SL 1.5 / TP 3.0)
6.2 利益保護¶
UseBreakevenが true の場合、含み益がBreakevenTriggerATR(1.2 * ATR)に到達したら SL をエントリー価格に移動。- 初期SLを不利方向に広げることはしない。
6.3 代替: トレーリングストップ¶
UseTrailingStopが true の場合、最高到達価格から ATR * 2.0 のシャンデリア式トレーリングで追従。
6.4 時間切れ¶
- エントリーから
TimeExitBars(デフォルト30本)経過しても未決済なら成行でクローズ。
7. リスク管理¶
RiskPercent = 0.5(1トレードのリスクを口座残高の0.5%に固定)MaxPositions = 1(同時1ポジのみ)- 連敗クールダウン:
ConsecLossCooldown = 3回連続損切りでCooldownHours = 24時間停止 - ボラティリティ急騰時のパニックExitはトレンドフォローでは原則無効。ただし
UseVolatilityPanicExitを input で追加可能(default false)
8. 汎用化ポイント¶
- 「4215ドル」はただの直近高値。Donchian(20) を使うことで、半年後・1年後の価格帯でも同じ壁が自動計算される。
- ゴールド以外にも、前日高値・直近N日高値ブレイクとして USDJPY / EURUSD / BTCUSD に移植可能。
- ATR倍率の損切り・利確はボラティリティ変動に自動追従するため、金相場の急騰・急落期でも過剰リスクを取らない。
9. Optimization Envelope¶
守る条件(変更禁止)¶
- シグナルは確定足のみ。
Close[0]/High[0]/Low[0]をエントリー判定に使わない。 - ブレイク判定とアクティビティフィルターは同一バーでANDしない=アクティビティは先行バー基準。
- TP / SL の最低RRを 1:1.5 未満にしない。
- 絶対価格でのエントリー/損切り/利確設定をしない。
緩和してよい条件¶
DonchianPeriodを15〜30に調整(無取引なら15へ下げる)BreakoutBufferATRを0.05〜0.2に調整MinATRRatioを0.3まで下げて取引頻度を増やすATR_TP_Multは2.0〜4.0の範囲で最適化可
最適化してよいパラメータ¶
DonchianPeriodBreakoutBufferATRATR_SL_Mult/ATR_TP_MultConsecLossCooldown
10. 無取引回避の設計¶
D1ブレイクは発生頻度が低いため、初期条件を厳しくしすぎない。 - DonchianPeriod 初期値を20にし、月1回以上のシグナルを目安。 - 直近6ヶ月のインサンプルで取引回数がゼロの場合は、BreakoutBufferATR を0.0に、MinATRRatio を0.3に緩和する。 - それでも無取引なら DonchianPeriod を10に引き下げる。
11. 過剰取引防止の設計¶
- 日足なので本来1シグナル/日単位。しかし連続ブレイクを防ぐため、
MaxPositions = 1を堅守。 - シャンデリアトレーリング中は新規エントリー禁止。
- 週末(金曜日21:00GMT以降)は新規エントリーしない。
- 1週間の最大エントリー回数は3回まで(input
MaxWeeklyTrades = 3)。
12. Story Package¶
X投稿フック(勝ちパターン)¶
「半年ぶりの上昇トレンド、EAが自動で掴んでた https://... #ゴールド #FX自動売買」
ブログ見出し¶
「4215ドルの壁をEAに監視させたら、月1回のブレイクを逃さず取れてPF 2.0超え」
失敗時の見せ方¶
「Donchian(20)ブレイクはダマシも多い。SLが1.5 ATRなら1回の損切りは0.5%リスクで済む。勝率4割でもRR2で生き残れる」
検証ログ企画¶
- 無取引だった月: 「今月は壁を越えられませんでした。でも待つことも戦略です」
- 低PF時: 「RR2以上ならPF1.2でも生きる。長期検証で評価します」
- コンパイル修正時: 「やらかしました。直しました。今週も検証続けます」
13. 入力パラメータ一覧¶
input double RiskPercent = 0.5; // 1トレードのリスク%(口座比)
input int MaxPositions = 1; // 最大同時ポジション数
input int ConsecLossCooldown = 3; // 連敗クールダウン回数
input int CooldownHours = 24; // クールダウン時間
input int DonchianPeriod = 20; // ドンチャン期間(直近N日高値)
input double BreakoutBufferATR = 0.1; // 壁に足すATRバッファ倍率
input int ATRPeriod = 14; // ATR期間
input double ATR_SL_Mult = 1.5; // SL = ATR * この値
input double ATR_TP_Mult = 3.0; // TP = ATR * この値
input bool UseBreakeven = true; // 建値移動を使用
input double BreakevenTriggerATR = 1.2; // 建値移動のトリガー(ATR倍率)
input bool UseTrailingStop = false; // トレーリングストップ使用
input double TrailingStopATR = 2.0; // トレーリングATR倍率
input int TimeExitBars = 30; // 時間切れバー数
input double MinATRRatio = 0.6; // ATRアクティビティ下限
input double MaxSpreadPrice = 3.0; // 最大スプレッド(gold price $)
input int MaxWeeklyTrades = 3; // 週間最大エントリー回数
input bool UseVolatilityPanicExit = false; // ボラパニックExit(トレンドでは無効)
input int MagicNumber = 20805; // マジックナンバー
14. 実装要件¶
- 新バー検出は
OnTick内で前回日付と比較し、日足バーが変わった時のみ判定。 - エントリー信号は必ず確定足(バー1以上)のみ。
Close[0]等は約定・管理にのみ使用。 - Donchian upper は信号足を除く過去
DonchianPeriod本の High 最大値。iHighestを使う場合は(period+1, 0, MODE_HIGH, period, 2)等で実装する。 - SL/TPは注文時に
OrderSendへ直指定。トレーリングはOnTickでポジション保有中のbar[1]高安を参照。 - スプレッドが
MaxSpreadPriceを超える場合は新規注文をスキップ。 - マジックナンバーで自EAポジションを識別。決済時にもマジックナンバーを確認。
- バックテストでは
EveryTickまたはControl Pointsモードを使い、時間切れ・クールダウン・スプレッド制限もモデル化する。
免責事項
本EAは自動生成された検証用コードです。実運用可否はご自身で検証してください。