Fibonacci-Retracement-Umkehrstrategie

Schriftsteller:ChaoZhang, Datum: 2023-12-07 15:15:26
Tags:

img

Übersicht

Die Fibonacci Retracement Reversal Strategie ist eine quantitative Handelsstrategie, die auf Fibonacci-Retracement-Levels und dem Relative Strength Index (RSI) basiert.

Strategie Logik

Die Strategie berechnet zunächst zwei wichtige Preiszonen auf der Grundlage der 0,618-Fibonacci-Levels - den 0,618-fachen Höchstpunkt und den 0,618-fachen Tiefpunkt.

Darüber hinaus verwendet die Strategie auch den RSI-Indikator, um Überkauf/Überverkaufszustände zu bestimmen. RSI unter 30 zeigt den Überverkaufszustand an, während RSI über 70 einen Überkaufszustand anzeigt. Dies impliziert auch mögliche Preisumkehrungen.

Wenn die beiden Bedingungen kombiniert werden, wird das Kaufsignal ausgelöst, wenn: der Schlussabschluss über den 0,618-fachen Tiefpunkt liegt UND der RSI unter 30 liegt; das Verkaufssignal wird ausgelöst, wenn: der Schlussabschluss unter den 0,618-fachen Tiefpunkt liegt UND der RSI über 70 liegt.

Bei einem Kaufsignal wird die Strategie zum Marktpreis lang. Bei einem Verkaufssignal wird sie zum Marktpreis kurz. Auch werden Profit- und Stop-Loss-Level festgelegt, so dass die Position geschlossen wird, wenn sich der Preis um einen bestimmten Prozentsatz günstig bewegt (Profit nehmen) oder sich um einen bestimmten Prozentsatz negativ bewegt (Stop-Loss).

Vorteile

Die Strategie kombiniert sowohl Trend- als auch Umkehrs-Szenarien, wobei der Haupttrend berücksichtigt wird und gleichzeitig von kurzfristigen Rückschlägen profitiert wird.

  1. Fibonacci-Levels haben inhärente Support-/Widerstandsattribute und dienen als effektiver Indikator für die Preiszone.
  2. Der überkaufte/überverkaufte RSI-Status deutet auf mögliche Wendepunkte hin.
  3. Lange/kurze Signale sind klar, die Chancen auf Umkehrung erfassen.
  4. Die Risikopositionen werden in der Tabelle 1 aufgeführt.

Risiken

Es gibt einige Risiken, die man beachten sollte:

  1. Verluste können auftreten, wenn trotz kurzfristiger Rückschläge keine wesentliche Trendumkehr stattfindet.
  2. Eine breitere Stop-Loss-Zone könnte helfen.
  3. Die Rückschläge können lange anhalten und erfordern eine ausreichende Kapitalunterstützung.

Optimierung

Die Strategie kann weiter optimiert werden, indem

  1. Sammeln Sie mehr historische Daten, um wichtige Parameter wie den Fibonacci-Zonenbereich und die RSI-Überkauf/Überverkaufslinien zu testen und anzupassen, um besser auf den realen Markt anzupassen.

  2. Einbeziehen Sie mehr Indikatoren, um stärkere Signale zu erzeugen, wie Kerzenmuster, Volumenänderungen usw.

  3. Anpassung der Parameter oder Regeln an die verschiedenen Merkmale der Handelsinstrumente.

  4. Hinzufügen eines dynamischen Stop-Loss-Mechanismus zum Echtzeitpreis.

Schlussfolgerung

Die Fibonacci-Retracement-Umkehrstrategie balanciert Trend- und Umkehrszenarien, um kurzfristig Gewinne zu erzielen und gleichzeitig Risiken zu kontrollieren.


/*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.")


Mehr