Aufwärtstrend kurzfristige lange Handelsfindestrategie

Schriftsteller:ChaoZhang, Datum: 2023-11-10 11:37:37
Tags:

img

Übersicht

Diese Strategie versucht, kurzfristige Möglichkeiten zu identifizieren, bei denen Bitcoin wahrscheinlich aufschlägt, indem sie nach bullischen Divergenzmustern im RSI-Indikator sucht und so gute Einstiegspunkte für lange Trades bestimmt.

Strategie Logik

  1. Identifizieren Sie mit dem RSI-Indikator eine bullische Divergenz

    • Definition der RSI-Parameter (Standard 14-Perioden)
    • Berechnung des aktuellen RSI-Wertes
    • Überprüfen Sie, ob folgende bullische Divergenz besteht:
      • Der RSI bildete ein niedrigeres Tief
      • Preis bildete gleichzeitig ein niedrigeres Tief
      • Der RSI bildete dann ein höheres Tief
      • Der Preis bildete dann ein höheres Tief
  2. Überprüfen Sie, ob der RSI-Wert unter dem Schwellenwert liegt

    • Definition des niedrigen RSI-Schwellenwerts (Standard 40)
    • Wenn der aktuelle RSI unter diesem Schwellenwert liegt, kann dies ein Signal für einen langen Einstiegspunkt sein.
  3. Überprüfen Sie, ob der Schlusskurs unter dem vorherigen Divergenztief liegt

    • Wenn ja, validieren Sie das Kaufsignal der bullischen Divergenz weiter
  4. Definition von Stop-Loss-Ausgangskonditionen

    • Einrichtung von Stop-Loss-Prozentsätzen (Standard 5%)
    • Ausgang, wenn die Auslastung diesen Prozentsatz erreicht
  5. Definition der Bedingungen für die Gewinnentnahme

    • Festlegen des hohen RSI-Schwellenwerts (Standard 75)
    • Ausgang, wenn der RSI über diesen Schwellenwert steigt

Analyse der Vorteile

  1. Die Nutzung der RSI-Divergenz kann Chancen für kurzfristige Kursrückschläge effektiv nutzen

  2. Kombination mit RSI-niedrigem Schwellenwert hilft, bestimmte Einstiegspunkte zu bestimmen

  3. Stop-Loss- und Take-Profit-Einstellungen helfen bei der Risikomanagement- und Gewinnmanagement

  4. Die Strategie bezieht sich auf viele reale Handelserfahrung mit Bitcoin RSI-Signale und ist sehr geeignet für Bitcoin Long Scalping

  5. Ein angemessenes Parameter-Einstellungsvermögen macht die Strategie an unterschiedliche Marktbedingungen anpassungsfähig und für den Live-Handel geeignet

Risikoanalyse

  1. Die RSI-Divergenz kann fehlschlagen und bei falscher Identifizierung zu Verlust führen.

  2. Ein einzelner Indikator neigt dazu, falsche Signale zu erzeugen, sollte mit anderen kombiniert werden

  3. Die richtigen Parameterwerte müssen ausgewählt werden, falsche Einstellungen beeinflussen die Rentabilität

  4. Der langfristige Handel muss den allgemeinen Trend berücksichtigen und den gegen den Trend gerichteten Handel vermeiden

  5. Auf Handelskosten achten müssen, hohe Frequenzhandel beeinflusst die Gewinne

  6. Sollten die Parameter regelmäßig auf der Grundlage veränderter Märkte überprüft und optimiert werden

Optimierungsrichtlinien

  1. Erwägen Sie, andere Indikatoren wie gleitende Durchschnitte für Filterbedingungen hinzuzufügen, um falsche Signale zu reduzieren

  2. Testen Sie verschiedene Periodeneinstellungen für jeden Zeitrahmen, um optimale Kombinationen zu finden

  3. Einbeziehung einer höheren Zeitrahmen-Trendanalyse, um eine Trendumkehr zu vermeiden

  4. Implementieren dynamischer Stop-Loss, der die Stops nach und nach erhöht, wenn das Gewinnniveau steigt

  5. Anpassung des Stop-Loss-Prozentsatzes auf der Grundlage der spezifischen Positionsgröße

  6. Einführung von maschinellem Lernen für die automatische Optimierung von Parametern

Schlussfolgerung

Diese Strategie zielt darauf ab, Bitcoin-Kurzzeit-Bounce-Möglichkeiten zu identifizieren, indem RSI-bullish-Divergenzen erkannt und gute Long-Entry-Punkte ermittelt werden. Die Strategie ist einfach und effektiv und beinhaltet viele praktische Handelserfahrungen, was sie sehr geeignet für Bitcoin-Scalping-Longs macht. Allerdings neigt die Abhängigkeit von einem einzelnen Indikator dazu, falsche Signale zu erzeugen, so dass sie mit anderen Indikatoren kombiniert werden sollte. Auf die Optimierung von Parametern, Stop-Loss-Platzierung, Handelskosten usw. sollte auch geachtet werden.


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


Mehr