フィボナッチリトレースメントリバースメント戦略は,フィボナッチリトレースメントレベルと相対強度指数 (RSI) 指標に基づいた定量的な取引戦略である.この戦略は,フィボナッチチャネル理論と過剰購入/過剰販売指標を組み合わせて,短期サイクルで利益を得るために主要なトレンドに対してリバーストレードを行う.
戦略はまず0.618 フィボナッチレベルをベースに 2つの重要な価格ゾーンを計算します. 0.618倍高点と 0.618倍低点です.価格がこれらのエリアに近づくと,逆転が起こる可能性があります.
さらに,この戦略は,過剰購入/過剰販売条件を決定するためにRSI指標も使用する.RSIが30以下では過剰販売状態を示し,RSIが70以上では過剰購入状態を示唆する.これらは潜在的な価格逆転も意味する.
この2つの条件を組み合わせると,購入信号は,0.618倍低点以下で,RSIが30以下になると,購入信号は,0.618倍高点以下で,RSIが70を超えると,販売信号が起動します.
購入信号で戦略は市場価格でロングになります.販売信号で市場価格でショートになります.また,価格が一定の割合で有利に動くと (利益を取ること) または一定の割合で不利に動くと (ストップ損失) ポジションが閉鎖されるように,利益とストップ損失レベルが設定されています.
この戦略は,トレンドと逆転のシナリオを組み合わせ,主要なトレンドを考慮し,短期的なリターセーションから利益を得ています.主な利点は次のとおりです.
認識すべきいくつかのリスクがあります.
戦略は以下によってさらに最適化できます.
フィボナッチゾーンの範囲やRSIの過剰購入/過剰販売線などのキーパラメータをテストし調整するために,より多くの歴史的なデータを収集します.
より強い信号を生成するためにより多くの指標を組み込む ろうそくのパターン,ボリュームの変化など
異なる取引手段の特徴に応じてパラメータや規則を調整する.
リアルタイムで価格を追跡する ダイナミックストップロスのメカニズムを追加します
フィボナッチリトレースメントリバースメント戦略は,リスクをコントロールしながら短期的に利益を得るためにトレンドとリバースメントシナリオをバランスします.さらなる最適化はより大きな収益につながる可能性があります.
/*backtest start: 2023-11-06 00:00:00 end: 2023-12-06 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("FBS Trade", overlay=true) // Fibonacci seviyeleri fibonacciLevels = input(0.618, title="Fibonacci Düzeltme Seviyesi") // RSI ayarları rsiLength = input(14, title="RSI Periyodu") overboughtLevel = input(70, title="RSI Satış Sinyali Seviyesi") oversoldLevel = input(30, title="RSI Alış Sinyali Seviyesi") // Take Profit ve Stop Loss yüzdesi takeProfitPercent = input(1, title="Take Profit Yüzdesi") / 100 stopLossPercent = input(1, title="Stop Loss Yüzdesi") / 100 // Fibonacci seviyelerini hesapla highFibo = high * (1 + fibonacciLevels) lowFibo = low * (1 - fibonacciLevels) // RSI hesaplama rsiValue = ta.rsi(close, rsiLength) // Alış ve satış koşulları buyCondition = close > lowFibo and rsiValue < 30 sellCondition = close < highFibo and rsiValue > overboughtLevel // Take Profit ve Stop Loss seviyeleri takeProfitLong = strategy.position_avg_price * (1 + takeProfitPercent) stopLossLong = strategy.position_avg_price * (1 - stopLossPercent) takeProfitShort = strategy.position_avg_price * (1 - takeProfitPercent) stopLossShort = strategy.position_avg_price * (1 + stopLossPercent) // Alış ve satış işlemleri if (buyCondition) strategy.entry("Buy", strategy.long) if (sellCondition) strategy.entry("Sell", strategy.short) // Take Profit ve Stop Loss seviyeleri if (strategy.position_size > 0) strategy.exit("Take Profit/Close Buy", from_entry="Buy", limit=takeProfitLong, stop=stopLossLong) if (strategy.position_size < 0) strategy.exit("Take Profit/Close Sell", from_entry="Sell", limit=takeProfitShort, stop=stopLossShort) // Sadece mumları ve buy/sell işlemlerini göster plot(close, color=color.black, title="Close") // Destek ve direnç bölgeleri supportLevel = input(27, title="Fibonacci Destek Seviyesi") resistanceLevel = input(200, title="Direnç Seviyesi") hline(supportLevel, "Fibonacci Destek Seviyesi", color=color.green) hline(resistanceLevel, "Direnç Seviyesi", color=color.red) // Trend çizgileri var line trendLine = na if (ta.crossover(close, highFibo)) trendLine := line.new(bar_index[1], highFibo[1], bar_index, highFibo, color=color.green, width=2) if (ta.crossunder(close, lowFibo)) trendLine := line.new(bar_index[1], lowFibo[1], bar_index, lowFibo, color=color.red, width=2) // RSI ve Fibo'yu grafiğe çizme hline(overboughtLevel, "RSI Satış Sinyali", color=color.red, linestyle=hline.style_dashed) hline(oversoldLevel, "RSI Alış Sinyali", color=color.green, linestyle=hline.style_dashed) plot(rsiValue, color=color.purple, title="RSI") // 15 dakikalıkta 3 mumda bir alarm is15MinBar = ta.change(time('15'), 1) if (is15MinBar % 3 == 0) alert("15 dakikalıkta 3 mum geçti.")