SchoolSupportLong¶
EA0076_SchoolSupportLong_v1.0 / 🧪 候補 — 生成済み・検証待ち
ワンライナー
直近サポートゾーンへの押し目をDonchian下限+ATRバッファで捉え、ブレイクアウトで加速を狙う順張りロング
判定: ⬜ 未評価(判定準備中)
バックテスト結果がまだ取り込まれていません(判定準備中)。
X起点ライン(話題の手法を検証)
基本情報¶
| 項目 | 値 | 項目 | 値 | |
|---|---|---|---|---|
| シンボル | USDJPY | エントリー種別 | price_level_touch, breakout | |
| 時間足 | H1 | エグジット | atr_tp_sl | |
| 方向 | long_only | 主要インジケータ | — |
🧬 DNA 5軸¶
| primary_style | entry_mechanism | regime_target | position_logic | core_indicator_family |
|---|---|---|---|---|
trend_follow | pullback | any | fixed_sl | — |
🐦 元ネタツイート¶
https://x.com/Kitagawa_fx/status/2058907114605773018
📊 バックテスト結果¶
未実行
📝 仕様書 / Specification¶
クリックで展開
EA仕様: SchoolSupportLong¶
1. 原ネタ要約¶
投稿者はドル円の現在値158.90円付近から、サポートライン(158.65円、158.40円)に引きつけてロングする戦略を提案。158.40円を割らない限り上昇トレンド継続、159.10円ブレイクで再加速というシナリオ。60いいね獲得、フォロワーに刺さった「分かりやすいサポートライン」が核。
2. 戦略概要¶
直近のサポートゾーン(Donchian下限にATRバッファを加味した価格帯)への押し目を捉えてロングエントリー。その後、直近高値(Donchian上限)をブレイクした場合に追加でポジションを取る。エグジットはATR倍率の利確・損切りと時間切れを併用。
3. 戦略抽象化¶
原投稿の「158.65円」「158.40円」という絶対価格を、直近15本の最安値(Donchian下限)+ATR(14)×0.25のバッファという市場構造に変換。これにより、いつの価格帯でも機能する汎用的な押し目買い戦略となる。
4. シンボル・時間足¶
- シンボル: USDJPY
- 時間足: H1(5分足の補講だが、スイング目線のためH1を採用)
5. エントリー条件¶
条件A: 押し目買い(price_level_touch)¶
- 直近15本の最安値(Donchian下限)を計算
- 現在の終値が Donchian下限 - ATR(14)×0.25 ~ Donchian下限 + ATR(14)×0.25 の範囲にある(タッチ許容範囲 5pips)
- 上記条件を満たしたバーの確定後に、次のバーの始値で成行買い
条件B: ブレイク買い(breakout)¶
- 条件Aでポジションを持っている場合のみ有効
- 直近15本の最高値(Donchian上限)を終値で上抜けたら、追加ロング(同一ポジションとして扱う)
- 追加ロングのロットは初期ロットの0.5倍
フィルター¶
- スプレッドが2.5pipsを超える場合はエントリーしない
- 金曜日21:00GMT以降は新規エントリーしない
6. エグジット条件¶
プライマリ: ATR倍率¶
- SL: エントリー価格 - ATR(14)×1.5
- TP: エントリー価格 + ATR(14)×2.5
- 追加ポジション分は平均取得価格から計算
代替1: 時間切れ¶
- エントリーから48バー経過したら成行決済
代替2: ブレイクイーブン+トレーリング¶
- 価格がエントリー価格 + ATR(14)×1.0 に達したらSLをエントリー価格に移動
- その後、ATR(14)×1.0 のトレーリングストップを適用
7. リスク管理¶
- リスク許容率: 0.5%(1トレードあたりの口座損失上限)
- 最大同時ポジション数: 1(追加ポジションは同一ポジションとしてカウント)
- 連敗クールダウン: 3連敗で24時間エントリー停止
8. 汎用化ポイント¶
- サポートラインの価格を固定せず、直近N本の最安値+ATRバッファにしたことで、相場のボラティリティに応じて動的に変化する
- この戦略の本質は「トレンド相場における押し目買い」であり、USDJPY以外のトレンド銘柄(EURUSD、GBPUSD等)にも適用可能
- Donchian期間とATR倍率をパラメータ化することで、時間足や銘柄に応じた調整が可能
9. Optimization Envelope¶
必ず守る条件(不変)¶
- エントリーは必ずサポートゾーンへの押し目であること(Donchian下限+ATRバッファの範囲内)
- SLは必ず設定すること(ATR倍率または固定pips)
- リスク管理の基本(最大ポジション数、連敗クールダウン)は維持
緩和してよい条件¶
- Donchian期間(10~30の範囲で最適化可)
- ATRバッファ倍率(0.1~0.5の範囲で最適化可)
- タッチ許容pips(3~8pipsの範囲で最適化可)
- SL/TPのATR倍率(SL: 1.0~2.5、TP: 1.5~4.0の範囲で最適化可)
- ブレイク確認バー数(1~3の範囲で最適化可)
最適化推奨パラメータ¶
- Donchian期間: 15(初期値)
- ATRバッファ倍率: 0.25(初期値)
- タッチ許容pips: 5(初期値)
- SL倍率: 1.5(初期値)
- TP倍率: 2.5(初期値)
10. 無取引回避の設計¶
- タッチ許容pipsを初期値5pipsに設定し、厳しすぎないようにする
- 条件Aが成立しない場合でも、Donchian期間を10に短縮することでエントリー機会を増やせる
- ATRバッファ倍率を0.1まで下げることで、より多くのタッチを拾える
- 最低取引頻度の目安: 月に5回以上(H1足でUSDJPYが月に5回以上サポートにタッチする確率が高いため)
11. 過剰取引防止の設計¶
- 同一バーでの複数エントリー禁止(1バー1エントリー)
- 連敗クールダウン: 3連敗で24時間停止
- 最大取引数: 1日3回まで
- ボラティリティ制限: ATR(14)が過去20日平均の0.5倍未満の場合はエントリーしない(低ボラ時のダマシ防止)
12. Story Package¶
X投稿フック¶
- 「中学生でも分かるサポートラインをEA化したら、まさかの結果に」
- 「158.65円で待つ、158.40円で待つ。そのままコードにしただけのEAが月利○%」
ブログ見出し¶
- 「【放課後補講EA】ドル円サポートライン自動拾い機のバックテスト結果」
- 「60いいね獲得ツイートをEA化。そのパフォーマンスは?」
失敗時の見せ方¶
- 「サポートラインを自動認識するEA、無取引で1ヶ月終了。条件が厳しすぎた」
- 「連敗クールダウンで止まりっぱなし。パラメータ調整の重要性」
- 「ブレイクアウトのダマシにやられた。フィルター強化が必要」
13. 入力パラメータ一覧¶
C++
// エントリーパラメータ
input int DonchianPeriod = 15; // ドンチャン期間(直近N本の高値/安値を計算)
input double AtrBufferMult = 0.25; // ATRバッファ倍率(サポートゾーンの幅)
input int TouchTolerancePips = 5; // タッチ許容pips
input int ConfirmationBars = 1; // 確定バー数
input int BreakoutConfirmationBars = 1; // ブレイク確認バー数
// エグジットパラメータ
input int AtrPeriod = 14; // ATR期間
input double AtrSlMult = 1.5; // SLのATR倍率
input double AtrTpMult = 2.5; // TPのATR倍率
input int TimeExitBars = 48; // 時間切れバー数
// リスク管理パラメータ
input double RiskPercent = 0.5; // リスク許容率(%)
input int MaxPositions = 1; // 最大同時ポジション数
input int ConsecLossCooldown = 3; // 連敗クールダウン回数
input int CooldownHours = 24; // クールダウン時間(時間)
// フィルターパラメータ
input double MaxSpreadPips = 2.5; // 最大スプレッド(pips)
input bool BlockFridayAfter21GMT = true; // 金曜日21GMT以降ブロック
input double MinAtrRatio = 0.5; // 最低ATR比率(過去20日平均比)
// 追加ロングパラメータ
input double AddLotRatio = 0.5; // 追加ロングのロット比率(初期ロット比)
14. 実装要件¶
- 新バー検出: OnTick() 内で iTime() を使用して新バーを検出すること
- 確定足: エントリー条件は確定したバーの終値で判定し、次のバーの始値でエントリー
- マジックナンバー: EAごとに一意のマジックナンバーを設定(例: 2525001)
- ポジション管理: 同一マジックナンバーのポジションのみを管理
- スプレッドチェック: MarketInfo(Symbol(), MODE_SPREAD) でエントリー前にチェック
- エラーハンドリング: 注文失敗時のリトライ処理(最大3回、100ms間隔)
- バックテスト: 始値のみモードでテスト可能(確定足エントリーのため)
- ヒゲタッチ: タッチ判定は終値ベースとするが、ヒゲタッチを考慮したい場合は High/Low を使用するオプションを追加してもよい
免責事項
本EAは自動生成された検証用コードです。実運用可否はご自身で検証してください。
関連用語¶
— SPONSORED —