資源の読み込みに... 荷物...

ATRストップ・ロースシステムによる多SMAサポートレベル偽ブレイク戦略

作者: リン・ハーンチャオチャン開催日:2024年11月27日 16:17
タグ:SMAATR

img

概要

この戦略は,移動平均トレンド決定とサポートレベルの偽ブレイクパターンに基づく取引システムである.この戦略は,市場傾向を決定するために50期および200期間の単純な移動平均を使用し,サポートレベルの偽ブレイクパターンを組み合わせて取引信号を生成し,ATR (平均真の範囲) インジケーターを使用して,ブレイクポイントで利益目標を設定しながらストップロスのポジションを動的に設定する.この戦略は,市場のトレンド特性と価格動きパターンを完全に活用し,偽ブレイク後のリバウンドを通じて利益の機会を把握する.

戦略の原則

戦略の基本論理には,次の主要な要素が含まれます.

  1. トレンド決定: 市場動向を決定するために50期間の移動平均と200期間の移動平均の相対位置を使用し,短期移動平均が長期移動平均を上回るときに上昇傾向を確認します.
  2. サポートレベル計算:前期高値,低値,閉値の重度の平均を用いてピボットポイント式を使用してサポートレベルを計算します.
  3. 偽のブレイクアウト確認: 上向きのトレンド中に価格がサポートを下に短期間突破し,その上を閉じるときに長い信号を生成します.
  4. リスクマネジメント: 14 期間の ATR を使って,ダイナミックストップ・ロスのポジションを計算し,市場の変動が増加する際により広いストップを保証します.
  5. 利益目標: 十分な利益の可能性を確保するために,前10期間の最高価格を使用して利益目標を計算します.

戦略 の 利点

  1. トレンドフォロー: この戦略は,移動平均システムを通じて主要なトレンドの方向で取引を保証し,勝率を改善します.
  2. ダイナミック・リスク・コントロール: ATRを使用して,異なる市場環境に適応してストップ・ロスのポジションをダイナミックに調整する.
  3. 明確な取引シグナル: サポートレベルにおける誤ったブレイクパターンは明確な識別基準を有し,主観的な判断を減らす.
  4. 合理的なリスク・リターン比: ダイナミックなストップ・ロストと歴史的な利益目標によって良いリスク・リターン比を確保する.
  5. 体系的な操作: 明確な戦略論理,プログラム的に実行し,バックテストしやすい.

戦略リスク

  1. 偽信号リスク: 複数の市場で偽ブレイクシグナルを生成し,取引コストを増加させる.
  2. トレンド逆転リスク: 移動平均系はトレンド逆転点にゆっくり反応し,エントリが遅れる可能性があります.
  3. ストップ・ロスの範囲リスク: 波動性が急激に上昇すると,ATRストップにより大きな損失が生じる可能性があります.
  4. 利益目標設定リスク: 固定期間の過去最高値は現在の市場状況を正確に反映しない可能性があります.

戦略の最適化方向

  1. フィルタリング条件を追加: 信号信頼性を向上させるためにボリューム確認指標を追加できます.
  2. 移動平均パラメータを最適化する: 傾向決定の精度を向上させるために,異なる市場の特徴に基づいて移動平均期間を調整する.
  3. ストップ・ロスのメソッドを改善する:ストップ・ロスの有効性を向上させるためにサポートレベルを組み合わせた複合ストップ・ロスを実装できる.
  4. ダイナミック・プロフィート・ターゲットは,市場の変化により良く適応するために,ダイナミック・プロフィート・ターゲットの計算方法を導入する.
  5. タイムフィルターを追加します.不利な期間に取引を避けるために取引時間ウィンドウスクリーニングを含みます.

概要

マルチSMAサポートレベル偽ブレイクアウト戦略は,トレンドフォローと価格パターンを組み合わせた完全な取引システムである.移動平均システムとサポートレベル偽ブレイクアウトパターンの認識を使用してトレンド決定を介して,ATRダイナミックストップ損失と組み合わせて,リスク制御可能な取引戦略を構築する.この戦略の主な利点は,体系的な運用プロセスと明確なリスク管理方法にある.継続的な最適化と改善を通じて,戦略は異なる市場環境により適應し,取引結果を改善することができます.ライブ取引アプリケーションでは,投資家はリスク耐性および市場特性のベースで戦略パラメータに調整することをお勧めします.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-26 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("False Break Trading Strategy", overlay=true)

// Define inputs for strategy parameters
sma50Length = input.int(50, title="SMA 50 Length")
sma200Length = input.int(200, title="SMA 200 Length")
atrLength = input.int(14, title="ATR Length")
lookbackPeriod = input.int(10, title="Swing High Lookback Period")

// Calculate SMAs
sma50 = ta.sma(close, sma50Length)
sma200 = ta.sma(close, sma200Length)

// Calculate ATR
atr = ta.atr(atrLength)

// Check if we are in an uptrend
isUptrend = sma50 > sma200

// Calculate Pivot, Support, and Target Profit (Swing High)
pivot = (high[1] + low[1] + close[1]) / 3
support = (2 * pivot) - high[1]
swingHigh = ta.highest(high, lookbackPeriod)

// Create signals for entry
var float entryPrice = na
var float stopLoss = na
var float targetProfit = na
longCondition = isUptrend and low[1] < support and close > support

if (longCondition)
    entryPrice := open
    stopLoss := low - atr
    targetProfit := swingHigh

// Plot signals and lines on chart
plotshape(longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")

// Plot levels for entry, stop loss, and target
plot(entryPrice, title="Entry Price", color=color.blue, linewidth=2, style=plot.style_linebr)
plot(stopLoss, title="Stop Loss", color=color.red, linewidth=2, style=plot.style_linebr)
plot(targetProfit, title="Target Profit", color=color.green, linewidth=2, style=plot.style_linebr)

// Backtest: Simulate exit points for the strategy
if (longCondition)
    strategy.entry("Long", strategy.long)
    if (na(stopLoss) == false and na(targetProfit) == false)
        strategy.exit("Take Profit/Stop Loss", "Long", stop=stopLoss, limit=targetProfit)


関連性

もっと