コンテンツにスキップ

DotenLong

EA0107_DotenLong_v1.0 / 🧪 候補 — 生成済み・検証待ち

ワンライナー

長期円安トレンドに乗るため、160円防衛ライン崩れ後の押し目買い。損切りはATRベースで設定し、ドテン転換を狙う

判定: ⬜ 未評価(判定準備中)

バックテスト結果がまだ取り込まれていません(判定準備中)。

X起点ライン(話題の手法を検証)

基本情報

項目 項目
シンボル USDJPY エントリー種別 price_level_touch, pullback
時間足 H4 エグジット atr_tp_sl
方向 long_only 主要インジケータ ADX_14

🧬 DNA 5軸

primary_style entry_mechanism regime_target position_logic core_indicator_family
trend_follow pullback trending fixed_sl moving_average

🐦 元ネタツイート

https://x.com/EURUSDsenmon/status/2060683326034526466

📊 バックテスト結果

未実行

📝 仕様書 / Specification

クリックで展開

EA仕様書: DotenLong_v1.0

1. 原ネタ要約

@EURUSDsenmon のツイートは、160円を防衛ラインとする財務省の介入期待でショートを持つ個人トレーダーが増えている現状を分析。しかし、長期的な円安圧力(貿易赤字、デジタル赤字、新NISA、海外利上げ)が強く、160円超えを容認するシナリオではショート継続が危険。損切りラインを決め、ロングにドテン転換する準備が必要と提言。

2. 戦略概要

長期的な円安トレンドに乗るため、160円防衛ラインが崩れた後の押し目買いを狙う。ADXでトレンド確認後、直近の押し目(安値)にATRバッファを加えたゾーンへのタッチでエントリー。損切りはATRベースで広めに設定し、利益確定もATR倍率で行う。建値移動で利益を保護する。

3. 戦略抽象化

ツイートの「160円超えを容認する体制」を、「長期トレンド転換点(レジームチェンジ)」として抽象化。具体的価格(160円)は固定せず、直近のスイング安値+ATRバッファによる動的な押し目ゾーンで表現。これにより、異なる価格帯や期間でも適用可能な汎用戦略とする。

4. シンボル・時間足

  • Symbol: USDJPY
  • Timeframe: H4
  • 理由: スイングトレード向け。日足では遅延が大きく、H1ではノイズが多すぎる。H4がトレンドフォローとエントリー精度のバランスが良い。

5. エントリー条件(AND条件)

  1. トレンド確認フィルター: ADX(14) > 20 かつ +DI(14) > -DI(14) であること(トレンド相場であること)
  2. 押し目タッチ: 直近30本のH4足の最安値を基準に、ATR(14) * 0.15 のバッファを加えたゾーンに価格がタッチ(終値またはヒゲ)すること
  3. 確定足待ち: 条件2を満たした足の確定後、次の足の始値でエントリー

6. エグジット条件

  • プライマリー: ATR(14)倍率による固定SL/TP
  • SL: エントリー価格 - ATR(14) * 2.0
  • TP: エントリー価格 + ATR(14) * 3.0
  • 代替1: トレーリングストップ(ATR(14) * 1.5 の距離を保つ)
  • 代替2: 建値移動後トレーリング(含み益がATR(14) * 1.2 を超えたらSLを建値に移動し、その後はATR(14) * 1.0 のトレーリングストップ)
  • 時間切れ: エントリーから96本(16日)経過で成行決済

7. リスク管理

  • RiskPercent: 0.5%(1回の取引で口座の0.5%をリスク)
  • MaxPositions: 1(同時ポジション数)
  • ConsecLossCooldown: 3連敗で24時間クールダウン
  • 金曜日21:00GMT以降は新規エントリー禁止(週末リスク回避)

8. 汎用化ポイント

  • 固定価格(160円)を「直近30本の最安値+ATRバッファ」に置き換え。これにより、どの価格帯でも機能する。
  • トレンド確認にADXを使用。トレンドの強さを測ることで、レンジ相場での逆張りエントリーを防止。
  • ATR倍率はパラメータ化。ボラティリティに応じてSL/TPが調整される。

9. Optimization Envelope

  • 守るべき条件(変更禁止):
  • トレンドフィルター(ADX > 20)は必須。トレンドフォロー戦略の根幹。
  • エントリーは押し目(プルバック)のみ。ブレイクアウトエントリーは禁止。
  • SLはATR * 1.5 未満にしない(ノイズで簡単に切られないように)。
  • 緩和可能な条件:
  • ATRバッファ倍率(0.1〜0.3)
  • タッチ許容pips(3〜7)
  • ルックバックバー数(20〜40)
  • TP倍率(2.5〜4.0)
  • 時間切れバー数(48〜144)
  • 最適化推奨パラメータ:
  • ATR_SL_Mult, ATR_TP_Mult, LookbackBars, ATR_Buffer_Mult

10. 無取引回避の設計

  • トレンドフィルターが厳しすぎて全くエントリーしない場合、ADX閾値を20→18に緩和可能。
  • 押し目ゾーンが発生しない場合、ルックバックバー数を40→50に増やし、より広い範囲からゾーンを検出。
  • 最低取引頻度の目安: 月に2〜3回以上はエントリーしたい。それ以下の場合はパラメータ調整を検討。

11. 過剰取引防止の設計

  • トレンドフィルターにより、レンジ相場での連続エントリーを防止。
  • 連敗クールダウン機能で、負けが込んだ際の感情的な連続エントリーを防止。
  • 同時ポジション数を1に制限。
  • 金曜日夕方以降のエントリー禁止。

12. Story Package

  • X投稿フック: 「160円の壁を越えたらドテンロング。財務省の裏をかくEA、DotenLong始動。」
  • ブログ見出し: 「【EA検証】@EURUSDsenmon のドテン転換戦略をEA化。バックテスト結果はいかに?」
  • 失敗時の見せ方: 「ADXフィルターが厳しすぎて全くエントリーなし。緩和したら今度はダマシ多発。トレンドフォローの難しさを痛感。」

13. 入力パラメータ一覧

C++
// === エントリーパラメータ ===
input int LookbackBars = 30;                  // 押し目ゾーン計算のルックバックバー数
input double ATR_Buffer_Mult = 0.15;          // ATRバッファ倍率(ゾーン幅)
input int TouchTolerancePips = 5;             // タッチ許容pips
input int ConfirmationBars = 1;               // 確定足待ち本数

// === トレンドフィルターパラメータ ===
input int ADX_Period = 14;                    // ADX期間
input double ADX_Threshold = 20.0;            // ADX閾値

// === エグジットパラメータ ===
input int ATR_Period = 14;                    // ATR期間
input double ATR_SL_Mult = 2.0;               // SLのATR倍率
input double ATR_TP_Mult = 3.0;               // TPのATR倍率
input int TimeExitBars = 96;                  // 時間切れバー数

// === 利益保護パラメータ ===
input bool UseBreakeven = true;               // 建値移動を使用する
input double BreakevenTriggerATR = 1.2;       // 建値移動トリガーATR倍率
input bool UseTrailingStop = false;           // トレーリングストップを使用する(建値移動後)
input double TrailATR_Mult = 1.0;             // トレーリング距離のATR倍率

// === リスク管理パラメータ ===
input double RiskPercent = 0.5;               // 1取引あたりのリスク%(口座に対して)
input int MaxPositions = 1;                   // 最大同時ポジション数
input int ConsecLossCooldown = 3;             // 連敗クールダウン回数
input int CooldownHours = 24;                 // クールダウン時間(時間)
input bool BlockFridayAfter21GMT = true;      // 金曜日21:00GMT以降のエントリー禁止

// === その他 ===
input int MagicNumber = 20260530;             // マジックナンバー
input string Comment = "DotenLong";           // コメント

14. 実装要件

  • 新バー検出: OnTick() で新しいバーが生成されたかを確認し、確定足ベースで処理。
  • 確定足: エントリー判定はすべて確定したH4足のデータを使用。
  • マジックナンバー: 他EAとの競合を避けるため、固有のマジックナンバーを設定。
  • スプレッド考慮: エントリー時にスプレッドが許容範囲(2.5pips)を超えている場合はスキップ。
  • パフォーマンス: 不要な計算を避け、Tickごとの処理を軽量化。
  • エラーハンドリング: 注文失敗時のリトライ処理、およびトレードコンテキストの解放を確実に行う。

免責事項

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

EA1000 一覧に戻る


関連用語

— SPONSORED —