Fibonacci-Golden Ratio und Relative Strength RSI Strategie

Schriftsteller:ChaoZhang, Datum: 2024-01-03 16:54:32
Tags:

img

Übersicht

Die Fibonacci Golden Ratio und Relative Strength Index (RSI) Strategie ist eine Intraday-Handelsstrategie. Sie kombiniert das Fibonacci Golden Ratio Prinzip und den RSI-Indikator, um Kauf- oder Verkaufssignale auszugeben, wenn sich der Preis den Golden Ratio-Schlüsselpunkten nähert und der RSI den Überkauf- oder Überverkaufsstatus anzeigt.

Strategie Logik

  1. Berechnen Sie die Preismittellinie anhand bestimmter Zeilen.

  2. Berechnen Sie die Schlüsselpunkte des goldenen Verhältnisses, einschließlich des Niveaus von 0,618 und des Niveaus 1 auf der Grundlage der Mittellinie und der Standardabweichung.

  3. Wenn sich der Preis an die Schlüsselpunkte des goldenen Verhältnisses nähert, überprüfen Sie, ob der RSI in die Überkauf- oder Überverkaufszone eintritt.

  4. Ausgabe von Kauf- oder Verkaufssignalen, wenn sowohl die Golden Ratio-Regel als auch die RSI-Bedingung erfüllt sind.

  5. Setzen Sie Stop-Loss und Gewinn nehmen, um Risiken zu kontrollieren.

Analyse der Vorteile

  1. Die Kombination mehrerer Indikatoren verbessert die Signalqualität und verringert die Falschsignale.

  2. Verwenden Sie die Stützungs-Widerstands-Funktion der goldenen Verhältnisregel, um einen qualitativ hochwertigen Einstieg zu gewährleisten.

  3. Der RSI misst die Marktpsychologie, um extreme Umkehrungen zu vermeiden.

  4. Geeignet für den Hochfrequenz-Tagegeschäft, um Gewinne aus mehreren kleinen Geschäften zu sammeln.

Risikoanalyse

  1. Das Goldene Verhältnis kann keine 100-prozentige Preisumkehr garantieren.

  2. RSI kann irreführende Signale geben, muss Preisaktion kombinieren.

  3. Zu enge Stop-Loss-Möglichkeiten könnten durch Kursschwankungen ausgeschaltet werden.

  4. Der Hochfrequenzhandel erfordert höhere Handelskosten und eine strengere Risikokontrolle.

Lösungen:

  1. Befolgen Sie die Stop-Loss-Regel, um Einzelverluste zu begrenzen.

  2. Die RSI-Parameter sollten ordnungsgemäß gelockert werden, um irreführende Signale zu vermeiden.

  3. Optimieren Sie den Stop-Loss-Punkt, um die Wahrscheinlichkeit eines Stopps zu verringern und gleichzeitig einen effektiven Stop-Loss zu gewährleisten.

Optimierungsrichtlinien

  1. Testergebnisse aus verschiedenen Zyklusperiodenparametern.

  2. Versuchen Sie, andere Indikatoren wie MACD, Bollinger-Bänder usw. zu kombinieren, um die Signalqualität zu verbessern.

  3. Untersuchen Sie verschiedene Stop-Loss-Strategien, um optimale Konfigurationen zu finden.

  4. Bewertung der optimalen Haltedauer, um Gewinn und Kosten auszugleichen.

Schlussfolgerung

Die Fibonacci-Golden-Ratio und die RSI-Strategie filtern den Lärm durch doppelte Bestätigung. Im Vergleich zu Einzelindikator-Strategien erzeugt sie qualitativ hochwertigere Handelssignale. Mit Parameteroptimierung und strengen Regeln kann diese Strategie zu einem effektiven Intraday-Handelswerkzeug werden.


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © MohamedYAbdelaziz

// Intraday Trading
// Best used for Short Timeframes [1-30 Minutes]
// If you have any modifications please tell me to update it

//@version=4
strategy(title="Fibonacci + RSI - Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=10000, currency=currency.USD)

// Inputs
timeFilter = year >= 2000
    // Stop Loss %
loss_percent = input(title="Stop Loss (%)", minval=0.0, step=0.1, defval=2) * 0.001
    // RSI Inputs
len = input(title="[RSI] Length", minval=0, step=1, defval=14)
overSold = input(title="[RSI] Over Sold %", defval=30)
overBought = input(title="[RSI] Over Bought %", defval=70)
    // Fibonacci Levels
length = input(title="[Fibonacci] Length", defval=200, minval=1)
src = input(hlc3, title="[Fibonacci] Source")
mult = input(title="[Fibonacci] Multiplier", defval=3.0, minval=0.001, maxval=50)
level = input(title="[Fibonacci] Level", defval=764)


// Calculate Fibonacci
basis = vwma(src, length)
dev = mult * stdev(src, length)
fu764= basis + (0.001*level*dev)
fu1= basis + (1*dev)
fd764= basis - (0.001*level*dev)
fd1= basis - (1*dev)

// Calculate RSI
vrsi = rsi(close, len)

// Calculate the Targets
targetUp = fd764
targetDown = fu764
    // Actual Targets
bought = strategy.position_size[0] > strategy.position_size[1]
exit_long = valuewhen(bought, targetUp, 0)
sold = strategy.position_size[0] < strategy.position_size[1]
exit_short = valuewhen(sold, targetDown, 0)

// Calculate Stop Losses
stop_long = strategy.position_avg_price * (1 - loss_percent)
stop_short = strategy.position_avg_price * (1 + loss_percent)

// Conditions to Open Trades
openLong = low < fd1 and crossover(vrsi[1], overSold)
openShort = high > fu1 and crossunder(vrsi[1], overBought)

// Conditions to Close Trades
closeLong = high > exit_long
closeShort = low < exit_short 


// Plots
plot(basis, color=color.blue, linewidth=2, title="[Fibonacci Level] Basis")
plot(fu764, color=color.white, linewidth=1, title="[Fibonacci Level] Short Target")
plot(fu1, color=color.red, linewidth=2, title="1", title="[Fibonacci Level] Top")
plot(fd764, color=color.white, linewidth=1, title="[Fibonacci Level] Long Target")
plot(fd1, color=color.green, linewidth=2, title="1", title="[Fibonacci Level] Bottom")


// Strategy Orders
if timeFilter
    // Entry Orders
    strategy.entry(id="Long", long=true, when=openLong and high < targetUp, limit=close)
    strategy.entry(id="Short", long=false, when=openShort and low > targetDown, limit=close)

    // Exit Orders
    strategy.exit(id="Long", when=closeLong and strategy.position_size > 0, limit=exit_long, stop=stop_long)
    strategy.exit(id="Short", when=closeShort and strategy.position_size < 0, limit=exit_short, stop=stop_short)

Mehr