Zweigleisige Durchbruchsstrategie basierend auf dem RSI-Indikator


Erstellungsdatum: 2024-01-08 10:28:26 zuletzt geändert: 2024-01-08 10:28:26
Kopie: 1 Klicks: 634
1
konzentrieren Sie sich auf
1617
Anhänger

Zweigleisige Durchbruchsstrategie basierend auf dem RSI-Indikator

Überblick

Diese Strategie nennt sich RSI-basierte Doppelschienen-Breakout-Strategie. Die Strategie nutzt die Doppelschienen-Kombination der RSI-Indikatoren, um zu beurteilen, ob ein niedriger Kauf oder ein hoher Verkauf möglich ist. Wenn der RSI-Indikator unter der eingestellten niedrigen Bahn liegt (default 40), wird dies als Kaufsignal betrachtet, wobei der Kauf weiter bestätigt wird, wenn der RSI10 unter dem RSI14 liegt. Wenn der RSI-Indikator über der eingestellten hohen Bahn liegt (default 70), wird dies als Verkaufssignal betrachtet, wobei der Verkauf weiter bestätigt wird, wenn der RSI10 über dem RSI14 liegt.

Strategieprinzip

Die Kernlogik dieser Strategie besteht darin, die Doppelschienen des RSI zu nutzen. Der RSI ist in der Regel auf 14 Perioden eingestellt, die die Stärken und Schwächen von Aktien in den letzten 14 Tagen darstellen. Die Strategie enthält den RSI10 als Hilfsindikator.

Wenn der RSI 14 die 40-Bahn überschreitet, wird angenommen, dass der Aktienpreis die Schwäche überschreitet und möglicherweise eine Möglichkeit für eine Unterstützung besteht. Wenn der RSI 10 zu diesem Zeitpunkt kleiner als der RSI 14 ist, kann die kurzfristige Tendenz nach unten weiter bestätigt werden.

Wenn der RSI 14 über 70 geht, wird angenommen, dass die Aktienkurse in die kurzfristige starke Zone eintreten. Es besteht die Möglichkeit, eine Rückkorrektur vorzunehmen. Wenn der RSI 10 größer als der RSI 14 ist, kann der Blick auf eine weitere Aufwärtsentwicklung der kurzfristigen Tendenz bestätigt werden.

Die Kombination von RSI14 und RSI10 bildet somit die Kernlogik der Doppelschienenstrategie.

Strategische Vorteile

  1. Mit einer Kombination aus zwei RSI-Indikatoren kann der Kauf- und Verkaufspunkt genauer erfasst werden
  2. Die Verwendung eines mobilen Stop-Loss-Mechanismus ermöglicht eine zeitnahe Stop-Loss-Methode, um maximale Verluste zu kontrollieren.
  3. Ein Stop-Out-Mechanismus, der nach Erreichen des Zielgewinns aussteigt, um einen Gewinnrückschlag zu vermeiden

Strategisches Risiko

  1. RSI-Indikatoren sind anfällig für falsche Signale und können Verluste nicht vollständig vermeiden
  2. Ein zu eng eingestellter Stop-Loss-Punkt kann ausgeschaltet werden, ein zu großes und unkontrollierbares Risiko
  3. Wenn man sich in einer unregelmäßigen Situation befindet, z. B. bei einem schnellen Sprung, kann dies auch zu Verlusten führen.

Um die Strategie zu nutzen, können die RSI-Parameter entsprechend angepasst werden, die Stop-Loss-Position streng kontrolliert werden, zu intensive Operationen vermieden werden und nach einer stabilen und dauerhaften Profitabilität gesucht werden.

Richtung der Strategieoptimierung

  1. Eine Kombination mit anderen Indikatoren wie KDJ, MACD usw. kann in Betracht gezogen werden, um eine Mehrindikator-Verifizierung zu ermöglichen
  2. Die RSI-Parameter können für verschiedene Sorten eingestellt werden, um die Parameter näher an die Eigenschaften der Sorte anzupassen
  3. Dynamische Stop-Losses können eingestellt werden, die den Stop-Loss in Echtzeit an Indikatoren wie ATR anpassen
  4. RSI-Parameter können automatisch durch maschinelle Lerntechnik optimiert werden

Zusammenfassen

Diese Strategie basiert auf der Doppelschienenidee des RSI und filtert zum Teil die Geräusche. Keine einzelne Indikatorstrategie kann jedoch perfekt sein, der RSI ist leicht zu täuschen und sollte mit Vorsicht betrachtet werden. Die Strategie enthält einen mobilen Stop-and-Stop-Mechanismus, um das Risiko zu kontrollieren, was sehr notwendig ist.

Strategiequellcode
/*backtest
start: 2023-12-31 00:00:00
end: 2024-01-07 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/
// © DojiEmoji

//@version=4
strategy("[KL] RSI 14 + 10 Strategy",overlay=true)

backtest_timeframe_start = input(defval = timestamp("01 Jan 2015 13:30 +0000"), title = "Backtest Start Time", type = input.time)
//backtest_timeframe_end = input(defval = timestamp("19 Mar 2021 19:30 +0000"), title = "Backtest End Time", type = input.time)
TARGET_PROFIT_MODE = input(false,title="Exit when Risk:Reward met")
REWARD_RATIO = input(3,title="Risk:[Reward] (i.e. 3) for exit")
// Trailing stop loss {
TSL_ON = input(true,title="Use trailing stop loss")
var entry_price = float(0)
ATR_multi_len = 26
ATR_multi = input(2, "ATR multiplier for stop loss")
ATR_buffer = atr(ATR_multi_len) * ATR_multi
plotchar(ATR_buffer, "ATR Buffer", "", location = location.top)
risk_reward_buffer = (atr(ATR_multi_len) * ATR_multi) * REWARD_RATIO
take_profit_long = low > entry_price + risk_reward_buffer
take_profit_short = low < entry_price - risk_reward_buffer
var bar_count = 0 //number of bars since entry 
var trailing_SL_buffer = float(0)
var stop_loss_price = float(0)
stop_loss_price := max(stop_loss_price, close - trailing_SL_buffer)
// plot TSL line
trail_profit_line_color = color.green
showLine = strategy.position_size == 0
if showLine
    trail_profit_line_color := color.black
    stop_loss_price := close - trailing_SL_buffer
plot(stop_loss_price,color=trail_profit_line_color)
// }
// RSI
RSI_LOW = input(40,title="RSI entry")
RSI_HIGH = input(70,title="RSI exit")
rsi14 = rsi(close, 14)
rsi10 = rsi(close, 10)

if true// and time <= backtest_timeframe_end
    buy_condition = rsi14 <= RSI_LOW and rsi10 < rsi14
    exit_condition = rsi14 >= RSI_HIGH and rsi10 > rsi14
    //ENTRY:
    if strategy.position_size == 0 and buy_condition
        entry_price := close
        trailing_SL_buffer := ATR_buffer
        stop_loss_price := close - ATR_buffer
        strategy.entry("Long",strategy.long, comment="buy")
        bar_count := 0
    else if strategy.position_size > 0
        bar_count := bar_count + 1

    //EXIT: 
    // Case (A) hits trailing stop
    if TSL_ON and strategy.position_size > 0 and close <= stop_loss_price
        if close > entry_price
            strategy.close("Long", comment="take profit [trailing]")
            stop_loss_price := 0
        else if close <= entry_price and bar_count
            strategy.close("Long", comment="stop loss")
            stop_loss_price := 0
        bar_count := 0
    // Case (B) take targeted profit relative to risk 
    if strategy.position_size > 0 and TARGET_PROFIT_MODE
        if take_profit_long
            strategy.close("Long", comment="take profits [risk:reward]")
            stop_loss_price := 0
        bar_count := 0
    // Case (C)
    if strategy.position_size > 0 and exit_condition
        if take_profit_long
            strategy.close("Long", comment="exit[rsi]")
            stop_loss_price := 0
        bar_count := 0