Bull-Bear Langfristige Strategie


Erstellungsdatum: 2023-11-10 11:37:37 zuletzt geändert: 2023-11-10 11:37:37
Kopie: 0 Klicks: 676
1
konzentrieren Sie sich auf
1617
Anhänger

Bull-Bear Langfristige Strategie

Überblick

Die Strategie ermittelt die richtige Zeit, um zu kaufen, indem sie nach mehrfachen Abweichungen vom RSI sucht, um zu beurteilen, wann der Bitcoin-Preis in naher Zukunft einen Anstieg wiederholen könnte.

Strategieprinzip

  1. Verwenden Sie den RSI-Wert, um zu bestimmen, ob eine Mehrfachverzerrung vorliegt.

    • Definition des RSI-Indikatorparameters (Standard 14 Perioden)
    • Berechnung des aktuellen RSI
    • Es ist wichtig zu wissen, ob es sich um eine der folgenden Abweichungen handelt:
      • Der RSI zeigt niedrige Tiefpunkte.
      • Die Preise sind niedrig und tief.
      • Der RSI zeigt eine Reihe von Höhen und Tiefen.
      • Die Preise sind hoch und niedrig.
  2. Beurteilen Sie, ob der RSI unter der Schwelle liegt

    • Definition des RSI-Tiefpunkts und der Grenzwert ((Standard 40)
    • Wenn der aktuelle RSI-Wert unterhalb dieser Grenze liegt, könnte es eine gute Gelegenheit sein, zu kaufen.
  3. Beurteilen, ob der Schlusskurs unter dem Anfangsleger liegt

    • Wenn ja, überprüfen Sie weiter die Abweichung vom Kaufsignal.
  4. Definieren Sie eine Stop-Loss-Ausreise

    • Einstellung Stop-Loss-Prozentsatz (Standard: 5%)
    • Wenn der Rückzug diesen Prozentsatz erreicht, wird der Rückzug aufgelöst.
  5. Definieren Sie die Bedingungen für einen Gewinnrückzug

    • Setzen Sie den RSI-Hochpunkt, um die Schwellenwerte zu bestimmen (default 75)
    • Wenn der RSI-Anstieg diese Grenze erreicht, werden die Gewinne zurückgezogen.

Analyse der Stärken

  1. Der RSI-Indikator kann für die Beurteilung von Abweichungen verwendet werden, um kurzfristige Preissteigerungen zu erfassen.

  2. In Kombination mit der Beurteilung des RSI-Lebenswerts kann ein spezifischer Kaufpunkt vor einer Rebound-Rückkehr festgelegt werden.

  3. Setup von Stop-Loss- und Stop-Stop-Bedingungen, um die Risiken und Gewinne des Handels zu verwalten

  4. Die Strategie bezieht sich auf die Eigenschaften des RSI-Indikators in einer Vielzahl von Bitcoin-Festbörsen und eignet sich hervorragend für Bitcoin-Short-Lines.

  5. Die Strategieparameter sind vernünftig eingestellt und können an unterschiedliche Marktsituationen angepasst werden, was für die Anwendung auf dem Markt von Vorteil ist

Risikoanalyse

  1. Der RSI-Indikator kann fehlerhaft sein, was zu einem Handelsverlust führt.

  2. Ein einziger Technischer Indikator kann zu Falschsignalen führen und sollte in Kombination mit anderen Indikatoren verwendet werden

  3. Die richtigen Parameterwerte müssen ausgewählt werden, die die Ertragsrate der Strategie beeinträchtigen können, wenn sie nicht richtig eingestellt werden

  4. Es ist wichtig, sich auf die großen Trends zu konzentrieren und umgekehrte Operationen zu vermeiden.

  5. Es ist notwendig, sich mit den Transaktionsgebühren zu befassen, denn zu häufige Transaktionen beeinträchtigen die endgültigen Erträge.

  6. Optimierungsparameter sollten regelmäßig überprüft und Strategien für verschiedene Märkte angepasst werden

Optimierungsrichtung

  1. Es kann in Betracht gezogen werden, andere Indikatoren wie die Moving Average hinzuzufügen, um Filterbedingungen einzurichten und Falschsignale zu reduzieren.

  2. Die Parameter-Einstellungen für verschiedene Perioden können getestet werden, um die optimale Parameterkombination zu finden

  3. Es ist möglich, Trends auf einer größeren Ebene zu beurteilen, um eine Umkehrung zu vermeiden.

  4. Sie können einen dynamischen Stop-Loss einrichten, der den Stop-Loss nach und nach erhöht, wenn der Gewinn ein bestimmtes Niveau erreicht

  5. Die Stop-Loss-Grenze kann je nach Positionslage variieren.

  6. Technologien wie maschinelles Lernen können eingeführt werden, um die automatische Optimierung der Parameter zu ermöglichen.

Zusammenfassen

Die Strategie ist einfach und wirksam, basiert auf einer großen Anzahl von Erfahrungen in der Praxis und eignet sich hervorragend für Bitcoin-Short-Lines. Ein einzelner technischer Indikator kann jedoch leicht zu Falschsignalen führen und muss in Kombination mit anderen Indikatoren verwendet werden, wobei die Optimierung der Parameter, die Stop-Loss-Einstellungen und die Handelskosten berücksichtigt werden müssen.

Strategiequellcode
/*backtest
start: 2023-11-02 00:00:00
end: 2023-11-09 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bullish Divergence Short-term Long Trade Finder", overlay=false)

max_range = 50 
min_range = 5
///pivot_left = 25
pivot_right = 5

//Inputs
src = input(close, title="Source")
rsiBearCondMin = input.int(50, title="RSI Bearish Condition Minimum")
rsiBearCondSellMin = input.int(60, title="RSI Bearish Condition Sell Min")
rsiBullCondMin = input.int(40, title="RSI Bull Condition Minimum")
pivot_left = input.int(25, title="Look Back this many candles")
SellWhenRSI = input.int(75, title="RSI Sell Value")
StopLossPercent = input.int(5, title="Stop loss Percentage")
rsiPeriod = input.int(14, title="RSI Length")
rsiOversold = input.int(30, title="RSI Oversold Level")
rsiOverbought = input.int(70, title="RSI Overbought Level")

//RSI Function/ value 
rsi_value = ta.rsi(src, rsiPeriod)
rsi_hour = request.security(syminfo.tickerid,'60',rsi_value)
rsi_4hour = request.security(syminfo.tickerid,'240',rsi_value)
rsi_Day = request.security(syminfo.tickerid,'D',rsi_value)
plot(rsi_value, title="RSI", linewidth = 2, color = color.black, display =display.all)
hline(50, linestyle = hline.style_dotted)
rsi_ob = hline(70, linestyle=hline.style_dotted)
rsi_os = hline(30, linestyle=hline.style_dotted)
fill(rsi_ob, rsi_os, color.white)
SL_percent = (100-StopLossPercent)/100 

pivot_low_true = na(ta.pivotlow(rsi_value, pivot_left, pivot_right)) ? false : true

//create a function that returns truee/false
confirm_range(x) => 
    bars = ta.barssince(x == true) //counts the number of bars since thee last time condition was true
    min_range <= bars and bars <= max_range // makees sure bars is less than max_range(50) and greater than min_range(5) 


// RSI higher check / low check
RSI_HL_check = rsi_value<rsiBullCondMin and rsi_value > ta.valuewhen(pivot_low_true and rsi_value<rsiBullCondMin, rsi_value,1) and confirm_range(pivot_low_true[1]) 

// price check for lower low
price_ll_check = low < ta.valuewhen(pivot_low_true, low, 1)

bullCond = price_ll_check and RSI_HL_check and pivot_low_true

//pivot_high_true = na(ta.pivothigh(rsi_value, pivot_left, pivot_right))  ? false : true
pivot_high_true = na(ta.pivothigh(rsi_value, pivot_left, pivot_right))   ? false : true

// RSI Lower check / high check ensuring that the RSI dips below 30 to start divergence 
RSI_LH_check = rsi_value < ta.valuewhen(pivot_high_true and rsi_value>rsiBearCondMin, rsi_value,1) and confirm_range(pivot_high_true[1]) //and rsi_value[pivot_right] >= 65

// price check for lower low
price_hh_check = high > ta.valuewhen(pivot_high_true, high, 1)

bearCond = price_hh_check and RSI_LH_check and pivot_high_true and rsi_value[3] > rsiBearCondSellMin

plot(pivot_low_true ? rsi_value : na, offset=-5, linewidth=3, color=(bullCond ? color.green : color.new(color.white, 100)))

plotshape(bullCond ? rsi_value : na , text = "BUY", style =  shape.labelup, location = location.absolute, color = color.green, offset =0, textcolor = color.white )

plot(pivot_low_true ? rsi_value : na, offset=-5, linewidth=3, color=(bearCond ? color.red : color.new(color.white, 100)))

plotshape(bearCond ? rsi_value : na , text = "Sell", style =  shape.labelup, location = location.absolute, color = color.red, offset =0, textcolor = color.white )
//[bbUpperBand, bbMiddleBand, bbLowerBand] = ta.bb(src, bbPeriod, bbDev)

//Entry Condition
longCondition = false

//bullEntry = bullCond and RSI_HL_check and confirm_range(pivot_low_true[1])
if bullCond and close < ta.valuewhen(pivot_low_true, low, 1) and rsi_hour <40 ///and rsi_4hour<40 //and rsi_Day<50
    strategy.entry("Long", strategy.long)
    
//Exit Condition
if (strategy.position_size > 0 and close < strategy.position_avg_price*SL_percent)
    strategy.close("Long")
if (strategy.position_size > 0 and (rsi_value > SellWhenRSI or bearCond))
    strategy.close("Long")