
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.
Verwenden Sie den RSI-Wert, um zu bestimmen, ob eine Mehrfachverzerrung vorliegt.
Beurteilen Sie, ob der RSI unter der Schwelle liegt
Beurteilen, ob der Schlusskurs unter dem Anfangsleger liegt
Definieren Sie eine Stop-Loss-Ausreise
Definieren Sie die Bedingungen für einen Gewinnrückzug
Der RSI-Indikator kann für die Beurteilung von Abweichungen verwendet werden, um kurzfristige Preissteigerungen zu erfassen.
In Kombination mit der Beurteilung des RSI-Lebenswerts kann ein spezifischer Kaufpunkt vor einer Rebound-Rückkehr festgelegt werden.
Setup von Stop-Loss- und Stop-Stop-Bedingungen, um die Risiken und Gewinne des Handels zu verwalten
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.
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
Der RSI-Indikator kann fehlerhaft sein, was zu einem Handelsverlust führt.
Ein einziger Technischer Indikator kann zu Falschsignalen führen und sollte in Kombination mit anderen Indikatoren verwendet werden
Die richtigen Parameterwerte müssen ausgewählt werden, die die Ertragsrate der Strategie beeinträchtigen können, wenn sie nicht richtig eingestellt werden
Es ist wichtig, sich auf die großen Trends zu konzentrieren und umgekehrte Operationen zu vermeiden.
Es ist notwendig, sich mit den Transaktionsgebühren zu befassen, denn zu häufige Transaktionen beeinträchtigen die endgültigen Erträge.
Optimierungsparameter sollten regelmäßig überprüft und Strategien für verschiedene Märkte angepasst werden
Es kann in Betracht gezogen werden, andere Indikatoren wie die Moving Average hinzuzufügen, um Filterbedingungen einzurichten und Falschsignale zu reduzieren.
Die Parameter-Einstellungen für verschiedene Perioden können getestet werden, um die optimale Parameterkombination zu finden
Es ist möglich, Trends auf einer größeren Ebene zu beurteilen, um eine Umkehrung zu vermeiden.
Sie können einen dynamischen Stop-Loss einrichten, der den Stop-Loss nach und nach erhöht, wenn der Gewinn ein bestimmtes Niveau erreicht
Die Stop-Loss-Grenze kann je nach Positionslage variieren.
Technologien wie maschinelles Lernen können eingeführt werden, um die automatische Optimierung der Parameter zu ermöglichen.
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.
/*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")