RSI と ボリンガー帯 収益性の高い戦略

作者: リン・ハーンチャオチャン,日付: 2024-01-08 11:14:31
タグ:

img

概要

この戦略は,主にRSIインジケーターとボリンジャーバンドを使用して,取引規則を設計し,トレンド市場で利益を得ます.RSIがオーバー購入ラインの下にあり,価格がボリンジャーバンドの下部帯に近いとき,RSIがオーバー販売ライン上にあり,価格が上部帯に近いとき,ショートになります.これは基本的な取引論理です.

戦略の論理

この戦略は,過剰購入および過剰販売レベルを識別するためにRSI指標を使用する.過剰購入の限界以下のRSIは過剰販売信号とみなされ,過剰販売の限界以上は過剰購入信号である.ボリンジャーバンドの指標は価格ブレイクを検出するために使用される.下帯の上昇ブレイクは長い信号であり,上帯の低下ブレイクは短い信号である.

この戦略は,市場情勢を測定するためのRSIと価格ブレイクを検出するためのボリンジャー帯を組み合わせます.両条件が同時に満たされた場合にのみ取引が開始されます.これは偽信号をフィルターに助け,戦略のパフォーマンスを向上させます.

優位性

この戦略は,RSIとボリンジャーバンドを組み合わせ,市場のトレンドをより良く決定し,勢いを捉えるのに役立ちます.単一指標戦略と比較して,より多くの偽信号をフィルタリングし,より高い品質の信号を生成します. RSIは過買い/過売りレベルを計測し,BBはブレイク後にトレンドを捉えます.共に非常に効果的に機能します.

この戦略は,RSIとBBの両方が同時にシグナルを与える場合にのみ取引を開く.これは偽のシグナルによる干渉を回避する.ストップロスのペースで,市場は回転するとリスクも制御できる.

リスク分析

戦略はいくつかの誤った信号をフィルタリングするが,RSIとBBは,市場範囲で同時に誤った信号を発し,不必要な損失を引き起こす可能性がある.不適切なパラメータ設定は,戦略のパフォーマンスも低下する可能性がある.

最適なパラメータ組み合わせを見つけるためにバックテストを通じてパラメータを最適化することが推奨されます.また,不必要な損失を避けるために,範囲の市場で取引を一時停止することを検討してください.また,単一の取引損失を制御するためにストップロスを適切に使用してください.

改善 の 分野

戦略は以下の点で改善できる:

  1. 最適な組み合わせのために RSI と BB パラメータを最適化

  2. MACD,KDなど,フィルター信号として他の指標を追加

  3. 誤ったブレイクを避けるために突破検証を追加する

  4. 異なる市場条件に応じてパラメータを調整するか,取引を停止する

  5. ダイナミックストップ損失を最適化する

結論

この戦略は,RSIとボリンジャーバンドを組み合わせて取引規則を設計する.両者が同意するときにのみシグナルを取ることで,偽のシグナルを効果的にフィルタリングすることができます.パラメータ最適化,シグナルフィルターを追加,ストップ損失最適化などを通じて,この戦略はより安定した利益のために絶えず精製することができます.


/*backtest
start: 2023-12-08 00:00:00
end: 2024-01-07 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Get Funded Easily by mjanusic", shorttitle="FTMO Crusher by mjanusic", overlay=true)

///////////// RSI
RSIlength = input(16, title="RSI Period Length")
RSIvalue = input(45, title="RSI Value Range")
RSIoverSold = 0 + RSIvalue
RSIoverBought = 100 - RSIvalue
price = close
vrsi = ta.rsi(price, RSIlength)

///////////// Bollinger Bands
BBlength = input(20, title="Bollinger Bands SMA Period Length")
BBmult = input(2.0, title="Bollinger Bands Standard Deviation")
BBbasis = ta.sma(price, BBlength)
BBdev = BBmult * ta.stdev(price, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev
source = close
buyCondition = ta.crossover(vrsi, RSIoverSold) and ta.crossover(source, BBlower)
sellCondition = ta.crossunder(vrsi, RSIoverBought) and ta.crossunder(source, BBupper)

///////////// RSI + Bollinger Bands Strategy
if (not na(vrsi))
    if (buyCondition)
        strategy.entry("Long Entry", strategy.long, stop=BBlower, comment="Long Entry")
    else
        strategy.cancel(id="Long Entry")

    if (sellCondition)
        strategy.entry("Short Entry", strategy.short, stop=BBupper, comment="Short Entry")
    else
        strategy.cancel(id="Short Entry")

//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_area)


もっと