RSI収束ブレイクアウトトレンドショックストップロス戦略


作成日: 2024-01-05 14:18:05 最終変更日: 2024-01-05 14:18:05
コピー: 0 クリック数: 539
1
フォロー
1617
フォロワー

RSI収束ブレイクアウトトレンドショックストップロス戦略

概要

この戦略は,市場の潜在的トレンド方向を判断するためにRSI指標を使用し,ブリン帯の指標と組み合わせて,重要なサポート抵抗領域を識別し,トレンドの揺れのある状況で低吸入の機会を探し,多額のポジションを立て,オーバーバイの領域でストップ・ストローを行う.

戦略原則

  1. RSI指標を使用して市場の潜在的なトレンド方向を判断する.RSI40未満は,超売り領域とみなされ,市場は転機する可能性が高い.RSI50以上のは,超買い領域とみなされ,市場は転機する可能性が高い.

  2. ブリン帯の指標を用いて,重要なサポートレジスタンス領域を識別する. ブリン帯の中央線は価格の移動平均であり,上下線は価格の標準差通路を構成する.価格が下線に近づくと低吸入機会領域である.

  3. RSI<40で,価格がブリン帯下位軌道に近づいているとき,低吸入のためにより多くの機会を判断し,多頭ポジションを確立する.

  4. RSI>50またはストップが50%を超えると,多頭ポジションのストップストップをクリアします.

優位分析

  1. RSIは市場における潜在的トレンドの方向を判断し,逆転のポジションを避けるために使用されます.

  2. ブリン帯と結合して,低吸入率の場所を探し,倉庫を建てるタイミングを正確に決定する.

  3. 流行の揺るぎない考え方を採用し,捕まえるのを防ぎましょう.

  4. 利潤を最大化するために柔軟なストップ・ストラスト・メカニズム

リスク分析

  1. ブリン帯のパラメータが不適切である場合,支柱区域の正しさを特定することができません.

  2. 順位突破や偽突破は,過剰買いと過剰販売の判断に誤りをもたらす可能性があります.

  3. ストップ・ストップ・ロスの設定が不適切である場合,早退や損失拡大を引き起こす可能性があります.

最適化の方向

  1. ブリン帯のパラメータを最適化して,支柱抵抗領域の識別をより正確にする.

  2. MACD,KDJなどの他の指標と組み合わせて偽信号をフィルターします.

  3. ストップ・ストップ・ロスのアルゴリズムを動的に最適化して,利益を保証しながら損失を最小限に抑える.

要約する

この戦略は,RSIによって潜在的なトレンドの方向を判断し,ブリン帯でサポートエリアを識別し,低価格で高価格で売ることを実現する.これは典型的なトレンドショッキング戦略である.ある程度の最適化によって,信頼性の高い安定した利益の定量化戦略になることができます.

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

//@version=3
strategy("price drop buy in", overlay=true, initial_capital=1000, max_bars_back=24)

// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2018, title = "From Year", minval = 2017)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2017)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => true // create function "within window of time"


///////////// RSI
RSIlength = input(60,title="RSI Period Length") 
RSIoverSold = 40
RSIoverBought = 50
price = close
vrsi = rsi(close, RSIlength)

smaLong = sma(close,80)
smaShort = sma(close,40)

///////////// Bollinger Bands
BBlength = input(20, minval=1,title="Bollinger Period Length")
BBmult = 2 // input(2.0, minval=0.001, maxval=50,title="Bollinger Bands Standard Deviation")
BBbasis = sma(price, BBlength)
BBdev = BBmult * stdev(price, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev

longcondition = (price < BBlower and vrsi < RSIoverSold) 

    // vrsi < RSIoverSold

shortcondition = (RSIoverBought and strategy.openprofit > 50 )  or price > BBupper






if(longcondition)
    strategy.entry('buy', strategy.long, when = window())
    
if(shortcondition)
    strategy.entry('sell', strategy.short, when = window())