ストップロスのダウントレンドにおける価格下落購入戦略

作者: リン・ハーンチャオチャン開催日:2024年1月5日 (月) 14:18:05
タグ:

img

概要

この戦略は,RSI指標を使用して潜在的な市場傾向の方向性を決定し,Bollinger Bands指標を組み合わせて,主要なサポートとレジスタンス領域を特定し,トレンドショック市場の低い吸収機会を探し,ロングポジションを確立し,過買い領域で利益を上げます.

戦略の論理

  1. RSIインジケーターを使用して,潜在的な市場傾向の方向性を決定します. RSI 40未満は,市場が上昇する可能性がある過売りエリアとみなされます. RSI 50を超える場合は,市場が下落する可能性がある過買いエリアとみなされます.

  2. ボリンジャーバンド指標を使用して,主要なサポートとレジスタンス領域を特定します. ボリンジャーバンドの中央帯は価格の移動平均線であり,上部と下部帯は価格の標準偏差チャネルを形成します. 下部帯に近づく価格には低い吸収機会があります.

  3. RSIが <40で価格がボリンジャー下帯に近づくと,ロングポジションを確立するための低吸収ロングチャンスとして決定されます.

  4. RSI >50 または利益が50%を超えると,利益を得て損失を削減するためにロングポジションを閉じる.

利点分析

  1. RSI を使って,トレンドに反する取引を避けるために,潜在的な市場傾向の方向性を決定します.

  2. Bollinger Bands を組み合わせて,低吸収点を特定する正確なエントリータイミングを特定する.

  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())



もっと