15分足チャートを巻き込むブレイクアウト複数確認戦略

EMA RSI 吞没形态 突破策略 多重确认 风险管理 技术分析 ENGULFING PATTERN Breakout Strategy MULTI-CONFIRMATION
作成日: 2025-04-16 15:33:57 最終変更日: 2025-04-16 15:33:57
コピー: 0 クリック数: 581
2
フォロー
319
フォロワー

15分足チャートを巻き込むブレイクアウト複数確認戦略 15分足チャートを巻き込むブレイクアウト複数確認戦略

概要

15分チャートで突破する多重確認戦略は,価格行動と暴落の形状に基づく技術分析取引システムで,15分周期に特化した設計である.この戦略の核心基盤は,突破の形状を認識し,多重確認条件を組み合わせて取引シグナルを誘発することであり,統計的にその勝利率は76%である.この戦略は,看板と看板の突破の形状を検出し,その後,価格が前に2つの反対の方向の突破の形状を突破したかどうかを検証することによって,低品質の信号をフィルターして取引の成功率を向上させる.この戦略は,同時に,止損と停止の仕組みを内蔵し,リスクを効果的に制御し,資金管理の効率を向上させる.

戦略原則

この突破的な多重確認戦略の核心となる原理は,いくつかの重要な技術的要素に基づいています.

  1. 形状認識を吸収する

    • の吸収形態を見る:現在のは陽線,前は陰線であり,現在のの開盘価格は前の開盘価格より低い,前の開盘価格より高い
    • 転落・沈没形態:現在のは陰線,前は陽線,そして現在のの開盘価格が前の閉盘価格より高く,閉盘価格が前の開盘価格より低い
  2. 多重認証システム

    • 策略は,最近10回の吸収形状の価格レベルをアーキテクチャで保存します. (看板が吸収する高点と看板が吸収する低点)
    • 取引のシグナルは,少なくとも2つの前の逆の吞食形態の価格レベルを突破して確認する必要があります.
  3. 取引区域を設定する

    • 看板シグナル:看板の飲み込みパターンが検知され,少なくとも2つの以前の下落の飲み込み低点を破ったときに,買い区域を設定します.
    • ダウンシグナル: ダウンシグナルがダウンシグナルを検知し,少なくとも2つの以前の看板のダウンシグナルを突破すると,セールゾーンを設定します.
  4. 入学条件

    • 多頭入場:価格の低点は買取区域の高点に触れており,閉店価格は買取区域低点より高い
    • 空頭入場:価格高点はセールゾーンの低点に触れており,閉店価格はセールゾーンの高点より低い
  5. リスク管理

    • ダイナミックストップレードを使用し,浸食区域に基づいて,追加の差分保護 (30倍差分サイズ) を加える
    • ダイナミックストップは,また,吸収区域に基づいて設定され,リスクとリターンが合理的に確保されます.

この多層の確認メカニズムによって,戦略は市場騒音を効果的にフィルターし,高確率の取引機会を捉えることができます.

戦略的優位性

この戦略は,コードの構造と論理を深く分析することで,以下の顕著な利点があります.

  1. 多重確認フィルタリング:少なくとも2つの以前の逆方向の吞食形態を突破することを要求することで,信号の質を大幅に向上させ,偽突破による損失のリスクを軽減した.

  2. ダイナミックな取引地域: 固定価格レベル戦略とは異なり,この戦略は,リアルタイム価格形態の動向に基づいて取引領域を調整し,市場変化により適しています.

  3. 高い得点率コード注釈に記載されている76%の成功率は,この戦略が15分間のチャートで安定したパフォーマンスを示しており,ほとんどの取引システムの平均よりもはるかに高い.

  4. スマートリスク管理: 取引区域に関連したストップ・ストップ・ポジションを設定することで,取引ごとに明確な退出計画があり,感情的な取引のリスクを回避します.

  5. 明確な視覚化: グラフに消化形をマークすることで,トレーダーは戦略の動作原理と信号生成プロセスを直感的に理解することができます.

  6. 資金管理の柔軟性策略: 口座の利便率の% (<10%) をポジション管理に使用するデフォルトの策略は,リスクフレーズの一貫性を維持し,口座の長期的な成長をサポートする.

  7. 市場転換に適応する: 策略は,同時に看板と看板の吞食形態を監視しているので,自律的に上昇傾向と下降傾向でうまく動作することができます.

戦略リスク

この戦略には多くの利点がありますが,コード分析により,いくつかの潜在的なリスクも発見されました.

  1. 市場が急激に波動するリスク解決方法: 波動性指標 (ATRなど) が高い場合,ストップ距離を調整するか,取引を一時停止することを検討することができます.

  2. 流行を逃している策略は,信号が起動するたびに対応する取引領域をリセットするので,大きなトレンドの連続したチャンスを逃す可能性があります. 解決策:トレンドフィルターを追加して,強いトレンドの方向的な好みを保つことができます.

  3. 資金管理の固定化策略: 取引状況の異なるリスク特性に応じてポジションサイズを調整することなく,取引ごとに固定した利回りパーセントを設定します. 解決策: ストップダスト距離または市場の変動動向に応じてポジションサイズを調整することを検討します.

  4. ポイント差の設定を最適化策略: 固定点差を用いること (30×点差の大きさ) を使って,止損とストップの位置を調整する.これは,異なる取引品種で調整が必要となる. 解決策: 点差の大きさをパラメータ化し,異なる取引品種の特性に合わせて最適化する.

  5. リスクの撤回解決方法:全体的な市場健全性のフィルターを追加することを検討するか,連続した損失の後に取引規模を自動的に削減することを検討する.

  6. リスクの過剰最適化: コードに時間フィルターまたは他の市場状態フィルタが明らかに存在しないため,特定の市場状態で不良なパフォーマンスを示す可能性があります. 解決策: 取引時間制限,波動率フィルターなどの異なる市場条件のフィルターをテストします.

戦略最適化の方向性

この戦略は,コードの詳細な分析に基づいて,以下の方向で最適化できます.

  1. トレンドフィルターを追加: 移動平均,ADX,または他のトレンド指標を統合して,トレンドの方向が信号と一致している場合にのみ参加する.これは,トレンドの方向に対する吸収形態の有効性が通常より高いため,戦略の勝利率を大幅に向上させることができます.

  2. 動的ストップロス最適化: ATR指標を導入して,固定された差分倍数ではなく,動的にストップ距離を調整する.市場の変動が変化するときに,この方法は,市場条件により良く適応し,過度に緊密なストップによって引き起こされる不要な出場を減らすことができます.

  3. 取引時間フィルターを追加: 取引時間ウィンドウの制限を追加し,流動性の低い時間や重大報道の時間を取り除きます.これは,意外な空飛ぶと極端な変動によるリスクを軽減し,取引の質を向上させます.

  4. 整合された交差量確認: 取引量を追加の確認指標として使用し,取引量が大きく増加したときにのみ入場シグナルを確認する.これはランダムな波動ではなく,真の市場突破を識別するのに役立ちます.

  5. ピラミッド式加仓機能の開発: トレンドの方向に強くなると,戦略は有利な位置でポジションを増やすことを許可し,成功するトレンドの利益を最大化します.同時に,既得利益を保護するために,止まりを損失の均衡点に移動することができます.

  6. 市場感情指標を追加: RSI,MACDなどの市場情緒指標を統合し,追加の入場確認条件として,これらの指標が価格動きと同期しているときにのみ入場します. これは,より多くの信号確認レベルを提供します.

  7. 適応パラメータシステムを開発: パラメータの自律的適応機構を作成し,近年の市場パフォーマンスに応じて,重要なパラメータを自動的に調整します (確認数量,停止距離など). これは,市場状態の変化に合わせて戦略が自律的に最適化するのを助けます.

要約する

15分チャート 吞食突破 多重確認戦略は,吞食形態認識と多重価格確認を組み合わせた高効率の取引システムである.価格が少なくとも2つの以前の逆方向の吞食形態レベルを突破することを要求することによって,この戦略は,大量の低品質の信号を効果的にフィルタリングし,取引の成功率を大幅に向上させる.

戦略の核心的な優点は,多層の確認機構と動的な取引区域設定により,異なる市場状況に適応し,高い勝率を維持することができます. 組み込みのリスク管理システムは,取引区域に関連した停止と停止設定により,各取引に対して明確なリスク制御の枠組みを提供します.

しかし,この戦略には,特にトレンドフィルタリング,ダイナミックストップダメージ調整,市場状態の識別に関して,いくつかの最適化余地があります.トレンド指標,波動性測定,市場情緒指標を統合することにより,戦略の安定性および長期的なパフォーマンスをさらに向上させることができます.

中間の時間周期 (15分チャート) で取引したい投資家にとって,この戦略は,明確なルールに基づいた,容易に理解できる,統計的に優位な取引方法を提供します.その背後にある原理を理解し,それを適用することで,トレーダーは市場で一貫性の限界の優位性を獲得できます.

ストラテジーソースコード
/*backtest
start: 2024-04-16 00:00:00
end: 2024-05-09 00:00:00
period: 15m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=6
strategy("15Min Engulfing Break Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// === INPUTS ===
pipSize = input.float(0.0001, "Pip Size", step=0.0001)
pipOffset = 30 * pipSize

// === FUNCTION: Detect Engulfing Candles ===
isBullishEngulfing() =>
    cond1 = close[1] < open[1]  // previous candle bearish
    cond2 = close > open        // current candle bullish
    cond3 = open < close[1]     // open below previous close
    cond4 = close > open[1]     // close above previous open
    cond1 and cond2 and cond3 and cond4

isBearishEngulfing() =>
    cond1 = close[1] > open[1]  // previous candle bullish
    cond2 = close < open        // current candle bearish
    cond3 = open > close[1]     // open above previous close
    cond4 = close < open[1]     // close below previous open
    cond1 and cond2 and cond3 and cond4

// === VARIABLES TO TRACK ZONES ===
var float buyZoneHigh = na
var float buyZoneLow = na
var float sellZoneHigh = na
var float sellZoneLow = na

// === ARRAYS TO STORE ENGULFING LEVELS ===
var float[] bullHighs = array.new_float()
var float[] bearLows = array.new_float()

// === STORE ENGULFING LEVELS ===
if isBullishEngulfing()
    array.unshift(bullHighs, high)
    if array.size(bullHighs) > 10
        array.pop(bullHighs)

if isBearishEngulfing()
    array.unshift(bearLows, low)
    if array.size(bearLows) > 10
        array.pop(bearLows)

// === CHECK IF BREAKS 2 PRIOR ENGULFINGS ===
breaksTwoBearishEngulfings() =>
    count = 0
    arrSize = array.size(bearLows)
    if arrSize >= 2
        for i = 0 to arrSize - 1
            if high > array.get(bearLows, i)
                count += 1
            if count >= 2
                break
    count >= 2

breaksTwoBullishEngulfings() =>
    count = 0
    arrSize = array.size(bullHighs)
    if arrSize >= 2
        for i = 0 to arrSize - 1
            if low < array.get(bullHighs, i)
                count += 1
            if count >= 2
                break
    count >= 2

// === SET ENGULFING ZONES ===
if isBullishEngulfing() and breaksTwoBearishEngulfings()
    buyZoneHigh := high
    buyZoneLow := low

if isBearishEngulfing() and breaksTwoBullishEngulfings()
    sellZoneHigh := high
    sellZoneLow := low

// === TRADE ENTRIES ===
longCondition = not na(buyZoneHigh) and low <= buyZoneHigh and close > buyZoneLow
shortCondition = not na(sellZoneLow) and high >= sellZoneLow and close < sellZoneHigh

if longCondition
    strategy.entry("Long", strategy.long)
    strategy.exit("TP/SL", from_entry="Long", stop=buyZoneLow - pipOffset, limit=buyZoneHigh + pipOffset)
    buyZoneHigh := na
    buyZoneLow := na

if shortCondition
    strategy.entry("Short", strategy.short)
    strategy.exit("TP/SL", from_entry="Short", stop=sellZoneHigh + pipOffset, limit=sellZoneLow - pipOffset)
    sellZoneHigh := na
    sellZoneLow := na

// === PLOTTING ===
plotshape(isBullishEngulfing(), style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Bull Engulf")
plotshape(isBearishEngulfing(), style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Bear Engulf")