
RSIフィッポナッチ回調戦略は,RSI指標と設定されたフィッポナッチ回調レベルの交差を取引信号として計算し,超買い超売り領域の反転時に介入し,トレンド追跡戦略に属します.
この策略は,RSI指標とフィポナッチ回調レベルの交叉実装に基づいています.まず,RSI指標の値を計算し,フィポナッチ回調レベルを設定します (<38.2%, 50%, 61.8%),RSI指標がフィポナッチレベルを横切るときに買入シグナルを生成し,下を通るときに売り出します.
RSI指標は,市場が超買いか超売りかを判断するために使用されます. RSIが70を超えると超買区であり,30未満になると超売り区になります. RSIが超買区からフィボナッチ回調区に下降すると,反転信号に属し,多めにします. RSIが超買区からフィボナッチ回調区に上昇すると,反転信号に属し,空っぽになります.
フィボナッチ・リターン・ゾーンは,この戦略において主に参照として,RSIとの取引信号を形成する.トレンド市場では,リターン後の継続は,しばしばフィボナッチ・リターン・レベルに触れて,これらのレベルは,サポート・レジスタンスに相当する.RSIとの交差は,反転の機会を捕捉するための取引信号として使用する.
RSIは,超買超売の形状を判断し,フィボナッチ回調区の反転の機会を捉えるため,部分的なノイズをフィルターすることができます.
トレンドトラッキングの性質は,中長線トレンドを捉えるものです.
フィリポナッチ回调区を調整することで,異なる市場状況に適応することができる.
多空のポジションは長期にわたって保持され,十分な資金のサポートが必要である.
復調の過程で高探底再探検現象が起こりうるため,リスク管理のために止損設定が必要である.
パラメータを正しく設定しない場合,取引が頻繁になるか,逆転の機会を十分に捉えられない可能性があります.
他の指標のフィルター入場時間を考慮することができます.例えば,MACD,ブリン帯などの指標がトレンドの方向を判断します.
RSIパラメータとフィボナッチ回调区間の設定を最適化できます.
ダイナミック・ストップ・ローズを設定して,利益をロックできます.
RSIフィボナッチ回調策は,全体としてトレンド追跡策として,良好な安定性を有している.単一のRSI策と比較して,フィボナッチ回調圏に加入することで,部分的なノイズ取引を効果的にフィルターすることができる.パラメータを最適化することで,異なる市場の取引品種に適応することができる.全体として,信頼性の高い,容易に最適化できる戦略である.
/*backtest
start: 2022-12-22 00:00:00
end: 2023-12-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// (c) ReduX_o, 2019. All rights reserved.
//
// How to trade:
// The indicator is more reliable in longer time frames
// Choose a fibonacci level as reference
// Buy when the RSI line turns green
// Sell when the RSI line turns red
//@version=4
strategy("RSI Fibonacci Levels", overlay=false, initial_capital=2000, currency=currency.USD, commission_value=0.1, slippage=0, commission_type=strategy.commission.percent, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
len = input(14, minval=1, title="Rsi Periods")
f1 = input(title="Fibonacci Level", defval="38.2", options=["38.2", "50", "61.8"])
// === BACKTEST RANGE ===
FromYear = input(defval=2010, title="From Year", minval=2010)
FromMonth = input(defval=1, title="From Month", minval=1)
ToYear = input(defval=2020, title="To Year", minval=2010)
ToMonth = input(defval=1, title="To Month", minval=1)
src = hl2
fi= (f1 == "38.2") ? 38.2 : (f1 == "50")? 50 : 61.8
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)
//***************************************************
rcolor = rsi >= fi ? color.lime : color.red
plot(rsi, title="RSI", color=rcolor, transp=0)
band1 = hline(78.6, color=color.red, linestyle= hline.style_solid, editable= false)
band0 = hline(23.6, color=color.lime, linestyle= hline.style_solid, editable= false)
band2 = hline(61.8, color=color.gray, editable= false)
band3 = hline(50, color=color.black, editable= false)
band4 = hline(38.2, color=color.gray, editable= false)
band5 = hline(fi, color=color.blue, linestyle= hline.style_solid, editable= false)
strategy.entry("LE", strategy.long, comment="L", when=rsi >= fi )
strategy.entry("SE", strategy.short, comment="S", when=rsi < fi )