
Die Strategie, die als “RSI50_EMA-Lang-Position-Strategie” bezeichnet wird, basiert auf der Idee, Handelsentscheidungen über die Kreuzung von Signalen aus zwei technischen Indikatoren zu treffen, nämlich dem relativ starken Index (RSI) und dem Index-Moving-Average (EMA). Die Strategie ist eine Aufholstrategie, wenn der Preis von unten nach oben durch die EMA-Oberbahn geht und der RSI größer als 50 ist.
Die RSI50_EMA Long Position Strategie ist eine einfache und benutzerfreundliche Trendverfolgungsstrategie, die auf dem RSI und der EMA basiert und für einseitige Anleger geeignet ist. Die Strategie hat eine klare Logik und klare Vorteile, aber auch einige Mängel und Risiken. Durch die Einführung von mehr Hilfsindikatoren, Optimierungsparametern und verbesserter Risikokontrolle können die Stabilität und Ertragsfähigkeit der Strategie weiter verbessert werden.
/*backtest
start: 2023-05-05 00:00:00
end: 2024-05-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("RSI50_EMA Long Only Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
len = input(11, type=input.integer, minval=1, title="Length")
mul = input(2, type=input.float, minval=0, title="Multiplier")
rsicap = input(50, type=input.integer, minval=1, title="rsicap")
rsi_1 = rsi(close,20)
price = sma(close, 2)
average = ema(close, len)
diff = atr(len) * mul
bull_level = average + diff
bear_level = average - diff
bull_cross = crossover(price, bull_level)
RENTRY = crossover(rsi_1,rsicap)
bear_cross = crossover(bear_level, price)
EXIT = crossunder(rsi_1,50)
strategy.entry("Buy", strategy.long, when=bull_cross)
strategy.close("Buy", when=bear_cross) //strategy.entry("Sell", strategy.short, when=bear_cross)
if (RENTRY)
strategy.entry("RSI", strategy.long, when=bull_cross)
if (EXIT)
strategy.close("RSICLose", when=bull_cross) //strategy.entry("Sell", strategy.short, when=bear_cross)
plot(price, title="price", color=color.black, transp=50, linewidth=2)
a0 = plot(average, title="average", color=color.red, transp=50, linewidth=1)
a1 = plot(bull_level, title="bull", color=color.green, transp=50, linewidth=1)
a2 = plot(bear_level, title="bear", color=color.red, transp=50, linewidth=1)
fill(a0, a1, color=color.green, transp=97)
fill(a0, a2, color=color.red, transp=97)