Trendfolgende Strategie auf der Grundlage von mehrjährigen gleitenden Durchschnitten und RSI

Schriftsteller:ChaoZhang, Datum: 2024-01-08 16:57:29
Tags:

img

Übersicht

Diese Strategie identifiziert die Trendrichtung basierend auf dem gleitenden Durchschnitt für mehrere Zeitrahmen und beurteilt die Überkauf/Überverkaufssituation mit dem RSI, um Handelssignale zu generieren. Wenn die langen, mittleren und kurzen MA-Linien in der gleichen Richtung liegen, wird sie als Trend angesehen. An diesem Punkt wird der RSI verwendet, um festzustellen, ob er überkauft/überverkauft ist und Handelssignale generiert werden. Darüber hinaus nimmt die Strategie auch einen Trailing Stop Loss zur Kontrolle von Risiken an.

Strategie Logik

Die grundlegende Logik besteht darin, den Trend anhand von goldenem Kreuz und Todeskreuz von schnellen und langsamen gleitenden Durchschnitten zu beurteilen. Wenn die schnelle Linie über die langsame Linie kreuzt, ist dies ein goldenes Kreuz, das einen Bullenmarkt anzeigt. Wenn die schnelle Linie unter die langsame Linie kreuzt, ist dies ein Todeskreuz, das einen Bärenmarkt anzeigt. Diese Strategie wendet diese Logik in verschiedenen Zeitrahmen an, um zu sehen, ob die langen, mittleren und kurzen Laufzeiten in der gleichen Richtung verlaufen. Wenn sie alle Bullen oder Bären sind, werden Handelssignale generiert. Darüber hinaus hilft der RSI, fehlende Stop-Loss-Punkte zu vermeiden.

Analyse der Vorteile

  1. Die Verwendung mehrerer Zeitrahmen zur Ermittlung von Trends kann kurzfristige Marktlärm effektiv filtern und mittelfristige Trends identifizieren.

  2. Der RSI hilft, auf der ursprünglichen Richtung an den Wendepunkten zu bestehen und einen fehlenden Stop-Loss zu vermeiden.

  3. Der Trailing-Stop-Loss berücksichtigt sowohl das Gewinnwachstum als auch die Risikokontrolle, was zu einem hohen Rendite-Risiko-Verhältnis führt.

Risikoanalyse

  1. Bei der Bestimmung von mehreren Zeitrahmen kann ein Zeitverzögerung auftreten, was zu einem späten Eintritt und fehlender Frühphase des Trends führt.

  2. Der RSI beurteilt nur den Überkauf-/Überverkaufsstatus.

  3. Eine unsachgemäße Einstellung des Trailing Stop Loss Offsets kann zu zu aggressivem oder konservativem Verhalten führen.

Optimierungsrichtlinien

  1. Es sollte in Betracht gezogen werden, mehr Indikatoren wie Bollinger-Bänder und KDJ zu kombinieren, um genauere Handelssignale zu erzeugen.

  2. Ein dynamischer Trailing-Stop-Loss, der das Offset anhand der Marktvolatilität und des Risikobereitschaftss anpasst.

  3. Eine ähnliche Logik in noch kürzeren Zeitrahmen anwenden, um das Kapital besser zu nutzen.

Zusammenfassung

Im Allgemeinen hat diese Strategie mehr Vor- als Nachteile. Sie bestimmt mittelfristige Trends genau und liefert hohe Rendite/Risiko-Auszahlung. Als Trendfolgensystem kann sie die Haupttrendrichtung in der Konsolidierung identifizieren. Weitere Verbesserungen der Parameter und Indikatoren können ihre Stabilität und Rentabilität verbessern.


/*backtest
start: 2023-01-01 00:00:00
end: 2024-01-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//Cryptocurrency Trading Tools by XMAXPRO
//ATA INDIKATORU
//Test 4.0v Tarih:23.02.2020
//

strategy("MTF+MA+RSI+TSL", overlay=false, shorttitle="ATA v4 Strategy")
src = input(title="kaynak", type=input.source, defval=close)
fast = input(title="hızlıbarlar", type=input.integer, defval=21)
slow = input(title="yavaşbarlar", type=input.integer, defval=34)

//MTF source
long = input(title="uzunvade", type=input.resolution, defval="240")
mid = input(title="ortavade", type=input.resolution, defval="60")
short = input(title="kısavade", type=input.resolution, defval="5")

//MTF Grafikleri
ln = security(syminfo.ticker, long, src)
md = security(syminfo.ticker, mid, src)
sh = security(syminfo.ticker, short, src)

//0
lnma = ema(ln, fast) - ema(ln, slow)
mdma = ema(sh, fast) - ema(md, slow)
shma = ema(sh, fast) - ema(sh, slow)

//Makeup
uzunrenk = lnma > 0 ? color.white : color.red
ortarenk = mdma > 0 ? color.white : color.red
kisarenk = shma > 0 ? color.white : color.red

l1 = 1
m1 = 2
s1 = 3

plot(l1, style=plot.style_line, color=uzunrenk, linewidth=25)
plot(m1, style=plot.style_line, color=ortarenk, linewidth=25)
plot(s1, style=plot.style_line, color=kisarenk, linewidth=25)

atarsi = rsi(close, 14)
rsiob = input(title="aşırıalım", type=input.integer, defval=60)
rsios = input(title="aşırısatış", type=input.integer, defval=25)

sell = atarsi > rsiob and lnma > 0 and mdma > 0 and shma > 0
buy = atarsi < rsios and lnma < 0 and mdma < 0 and shma < 0

barcolor(sell ? color.white : color.red)
barcolor(buy ? color.white : color.red)

//strateji
strategy.entry("long", strategy.long, comment = "BULL", when = sell)
strategy.entry("short", strategy.short, comment = "BEAR", when = buy)

//kompleks alarm
//alertcondition(sell, title = "ATA LONG SIGNAL", message = "btc/usd ata long sinyali")
//alertcondition(buy, title = "ATA SHORT SIGNAL", message = "btc/usd ata short sinyali")

//iz sürücü TSL
strategy.exit ("Bull TSL", "long", trail_points=close * 0.02 / syminfo.mintick, trail_offset=close * 0.02/syminfo.mintick)
strategy.exit ("Bear TSL", "short", trail_points=close * 0.02 / syminfo.mintick, trail_offset=close * 0.02/syminfo.mintick)

Mehr