RSI 取引戦略を備えたモメンタム オシレーター


作成日: 2023-09-18 14:07:51 最終変更日: 2023-09-18 14:07:51
コピー: 0 クリック数: 812
1
フォロー
1617
フォロワー

[[中国語]

概要

この戦略は,ブリン帯と比較的強いRSIの指標を組み合わせて,価格の波動性と最適な入場点を予測します.戦略の論理は非常に直接的です.我々は,閉店価格がブリン帯の下線に触れたときに注目します.その後,価格がブリン帯の下線から反発するか,または下落し続けるかについて2つの状況が発生します.価格の動きを確認するために,我々は第2の指標RSIを使用して,価格の傾向をさらに研究します.例えば,価格がブリン帯の下線に触れたが,RSI値が超売り区域に入っていない場合,価格が下落し続ける判断することができます.

RSIが超売り区に長期間留まると,大きな損失を防ぐために,ストップを設定する必要があります.

最良のストップゾーンは,価格がブリンの中間線/上線以上に戻ったときまたはRSIが超買区に達したときに,先が先です.

複数の入学者:

RSI < 30 終了価格 < ブリン下位

試合終了:

RSI > 70

戦略原則

この戦略は,まず,RSI指標を計算し,上下界を設定することで,超買い超売りかどうかを判断する. その後,ブリン帯の中軌道,上軌道,下軌道を計算する. 閉盘価格がブリン下軌道に触れてRSIが30を下回ると,多めに行い,RSIが70を超えると,平仓する.

多頭に入るときは,ストップ・ストラストポイントを設定します. ストップ・ストラストポイントは入場価格に設定します.(1+固定比率) 入札価格にストップポイントを設定します.(固定比率) でした

このように,ブリン帯下落の近くで同時にRSIの低点に買い,RSIの高点に売り,反転取引を利用して利益を得る。同時に,リスク管理のためにストップ・ロスを設定する。

優位分析

  • ブリン帯を使って,価格の逆転点を判断し,その精度を高めます.
  • RSIは偽のブレイクをフィルターし,入場を確実にする
  • ストップ・ストップ・ロスを設定し,単一取引のリスクをコントロールできます.
  • データを十分に回測し,パラメータを調整し,安定した利益を実現

リスク分析

  • ブリン帯は価格転換点を正確に予測できないので,失敗率がある.
  • RSIが偽信号を発する可能性もあります.
  • ストップ・ポイントが近づくと,ポジションは持たない,リスクは大きく増加する.

ブリン帯のパラメータを調整し,他の指標と選択的に組み合わせ,および適切な緩解の止損範囲によってリスクを軽減することができます.

最適化の方向

  • KD,MACDなどの他の指標と組み合わせた入場フィルタリングを考慮することができます.
  • 動的調整ストップ・ストップ・ストップ比率
  • ブリン帯のパラメータを最適化
  • 異なる取引品種のパラメータの強さをテストする

要約する

この戦略は,全体的なリスク/利益のバランスが良く,反測のパフォーマンスは良好である.パラメータ調整と指標の最適化によって効果をさらに向上させることができる.ブリン帯に基づく反転取引思路は,シンプルで信頼性が高く,さらなる研究・改善に値する.

||

Overview

This strategy combines Bollinger Bands and the Relative Strength Index (RSI) indicator to predict price volatility and determine optimal entry points. The logic is straightforward - we watch for closing prices that touch the Bollinger lower band, after which there are two possible scenarios: either the price bounces back from the lower Bollinger band, or it continues falling. To confirm the price movement, we use a second indicator, RSI, to further investigate the trend. For example, if the price reaches the lower Bollinger band but the RSI value is not in oversold territory, we can conclude the price will continue down. If the RSI value is oversold, we can use this area as our entry point.

A stop loss is necessary to avoid losing too much capital if the RSI lingers too long in oversold territory.

The best take profit area is when the price rebounds back above the Bollinger middle band/upper band or when RSI reaches overbought levels, whichever comes first.

Long entry:

RSI < 30 and close price < Bollinger lower band

Long exit:

RSI > 70

Strategy Logic

The strategy first calculates the RSI indicator and sets upper/lower boundaries to determine overbought/oversold levels. It then calculates the Bollinger middle, upper and lower bands. When the closing price touches the lower band and RSI is below 30, go long. When RSI is above 70, close the position.

Upon entering long, set stop loss and take profit points. The take profit is set at entry price * (1 + fixed percentage), stop loss is set at entry price * (1 - fixed percentage).

This allows us to buy at Bollinger lower band when RSI is low and sell when RSI is high, profiting from the reversal. Stop loss and take profit control risk.

Advantage Analysis

  • Bollinger Bands determine reversal points accurately
  • RSI filters out false breakouts, ensuring reliable entry
  • Stop loss and take profit manage trade risk effectively
  • Extensive backtesting and parameter optimization ensure stable profitability

Risk Analysis

  • Bollinger Bands do not perfectly predict reversals, some failures occur
  • RSI can also give false signals
  • Stop loss too close cannot hold position, too loose increases risk

Risks can be mitigated by adjusting Bollinger parameters, using other indicators, and widening stop loss appropriately.

Optimization Directions

  • Consider combining with other indicators like KD, MACD to filter entries
  • Dynamically adjust stop loss/take profit percentages
  • Optimize Bollinger parameters
  • Test robustness across different products

Conclusion

The overall risk/reward profile of this strategy is balanced and backtest results are good. Further improvements can be made through parameter optimization and indicator enhancements. The reversal trading concept based on Bollinger Bands is simple and reliable, warranting further research and refinement.

[/trans]

ストラテジーソースコード
/*backtest
start: 2023-09-10 00:00:00
end: 2023-09-17 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//strategy(title="Bollinger Band with RSI", shorttitle="BB&RSI", format=format.price, precision=2, pyramiding=50, initial_capital=10000, calc_on_order_fills=false, calc_on_every_tick=true, default_qty_type=strategy.cash, default_qty_value=1000, currency="USD")
len = input(14, minval=1, title="Length")
src = input(close, "Source", type = input.source)
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
plot(rsi, "RSI", color=#8E1599)
band1 = hline(70, "Upper Band", color=#C0C0C0)
band0 = hline(30, "Lower Band", color=#C0C0C0)
fill(band1, band0, color=#9915FF, transp=90, title="Background")

length_bb = input(20,title="BB Length", minval=1)
mult = input(2.0, minval=0.001, maxval=50, title="BB StdDev")
basis = sma(src, length_bb)
dev = mult * stdev(src, length_bb)
upper = basis + dev
lower = basis - dev
offset = input(0, "BB Offset", type = input.integer, minval = -500, maxval = 500)


Plot_PnL = input(title="Plot Cummulative PnL", type=input.bool, defval=false)
Plot_Pos = input(title="Plot Current Position Size", type=input.bool, defval=false)

long_tp_inp = input(10, title='Long Take Profit %', step=0.1)/100
long_sl_inp = input(25, title='Long Stop Loss %', step=0.1)/100
// Take profit/stop loss
long_take_level = strategy.position_avg_price * (1 + long_tp_inp)
long_stop_level = strategy.position_avg_price * (1 - long_sl_inp)

entry_long = rsi < 30 and src < lower
exit_long = rsi > 70

plotshape(entry_long, style=shape.labelup, color=color.green,  location=location.bottom, text="L", textcolor=color.white, title="LONG_ORDER")
plotshape(exit_long, style=shape.labeldown, color=color.red,  location=location.top, text="S", textcolor=color.white, title="SHORT_ORDER")

strategy.entry("Long",true,when=entry_long)    
strategy.exit("TP/SL","Long", limit=long_take_level, stop=long_stop_level)
strategy.close("Long", when=exit_long, comment="Exit")
plot(Plot_PnL ? strategy.equity-strategy.initial_capital : na, title="PnL", color=color.red)
plot(Plot_Pos ? strategy.position_size : na, title="open_position", color=color.fuchsia)