RSI MACD Crossover Doppelte gleitende Durchschnittsverfolgungsstrategie


Erstellungsdatum: 2023-10-23 17:00:44 zuletzt geändert: 2023-10-23 17:00:44
Kopie: 0 Klicks: 824
1
konzentrieren Sie sich auf
1617
Anhänger

RSI MACD Crossover Doppelte gleitende Durchschnittsverfolgungsstrategie

Überblick

Diese Strategie verwendet die RSI, MACD und die Binäre Gleichung, um die Trendverfolgung und Standardabweichung zu erzielen. Die Strategie beurteilt Überkauf und Überverkauf durch den RSI, die MACD beurteilt den Überkauf und Verkauf durch die schnelle und langsame Durchschnittslinie. Die Binäre Gleichung filtert einige Noise-Handelsmöglichkeiten aus und profitiert im Trend.

Strategieprinzip

  1. Der RSI ist ein Indikator für Überbuying und Überselling.
  • Berechnung der Veränderung von Preisen und Preisen innerhalb eines bestimmten Zeitraums

  • RSI berechnet auf Basis von Veränderungen bei den Kursbewegungen

  • Überkaufen und überverkaufen

  1. Berechnung der MACD-Kreuzentscheidung
  • Berechnen Sie Schnell-, Lang- und Signalleitungen

  • Das ist ein schneller und schneller Cross-Line-Kauf und Verkauf.

  • Anzeige der Kreuzung

  1. Implementierung von Doppel-Einheitlichkeits-Filter
  • Berechnen Sie schnelle und langsame Linien.

  • Nur bei schnellen Linien sollten Sie über den Handel nachdenken.

  • Implementierung von Trend-Tracking-Geräuschfiltern

  1. Die Kombination von mehreren Indikatoren für die Zulassung
  • Komplex RSI, MACD und Doppel-Gleichgewicht-Mehrfachfilterung

  • Steigerung der Stabilität der Strategie

Analyse der Stärken

  • Mehrindikator-Kombinationen zur Steigerung der Strategiegenauigkeit

  • Trends zu verfolgen, Geräusche zu filtern und Stabilität zu verbessern

  • RSI-Indikatoren helfen bei Überkauf und Überverkauf, um die Wendepunkte zu erfassen

  • MACD-Kreuzbeurteilung, einfache und effiziente Beurteilung von Kauf und Verkauf

  • Doppelwirkungs-Filter, der die meisten außerhalb der Mainstream-Strecken entfernt

  • Einfach zu verstehen, weniger Parameter, geeignet für Anfänger, um ihr Lernen zu verbessern

Risikoanalyse

  • Eine Kombination aus mehreren Kennzahlen kann zu einer Überoptimierung der Strategie führen

  • Die Doppel-Gleichgewicht-Line hat zu viel Flexibilität geopfert und einige Chancen verpasst.

  • Die Parameter für RSI und MACD müssen vorsichtig gewählt werden

  • Die Risiken der Handelsarten müssen kontrolliert werden.

  • Langzeitnutzung erfordert wiederholte Anpassung der Parameter an den Markt

Optimierungsrichtung

  • Anpassung der RSI-Parameter an die Eigenschaften der verschiedenen Sorten

  • Anpassung der Doppel-Gleichgewichts-Periode zur Optimierung der Trend-Tracking-Effekte

  • Ein Stop-Loss-Strategie, um einzelne Verluste zu kontrollieren

  • Mehr Indikatoren, eine reichhaltige Kombination von Bedingungen

  • Entwicklungsparameter sind anpassungsfähig und passen sich automatisch an

Zusammenfassen

Diese Strategie verwendet mehrere Indikatoren wie RSI, MACD und die doppelte Gleichgewichtslinie, um Trends zu beurteilen und zu verfolgen, und bietet eine mehrschichtige Filterung von Gelegenheiten. Die Strategie ist sehr geeignet für Anfänger, um zu lernen und zu verbessern. Die Strategie hat den Vorteil, dass sie einfach und effektiv ist, leicht zu verstehen, und durch Anpassung der Parameter kann ein guter und stabiler Gewinn erzielt werden.

Strategiequellcode
/*backtest
start: 2023-09-22 00:00:00
end: 2023-10-22 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3

// strategy(title="RSI MACD", precision = 6, pyramiding = 1, default_qty_type = strategy.percent_of_equity, default_qty_value = 99, commission_type = strategy.commission.percent, commission_value = 0.25, initial_capital = 1000)

// Component Code Start
// Example usage:
// if testPeriod()
//   strategy.entry("LE", strategy.long)
testStartYear = input(2017, "Backtest Start Year")
testStartMonth = input(01, "Backtest Start Month")
testStartDay = input(2, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2019, "Backtest Stop Year")
testStopMonth = input(7, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

// A switch to control background coloring of the test period
testPeriodBackground = input(title="Color Background?", type=bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na
bgcolor(testPeriodBackgroundColor, transp=97)

testPeriod() => true
// Component Code Stop

//standard rsi template
src = ohlc4, len = input(14, minval=1, title="Length")
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
plot(rsi, color=#87ff1a)
band1 = hline(80)
band = hline(50)
band0 = hline(20)
fill(band1, band0, color=purple, transp=90)

//macd

fast_length = input(title="Fast Length",  defval=9)
slow_length = input(title="Slow Length",  defval=72)
signal_length = input(title="Signal Length",  defval=9)

fast_ma = sma(rsi, fast_length) 
slow_ma = sma(rsi, slow_length) 
shortma = sma(ohlc4, fast_length)
longma = sma(ohlc4, slow_length)
controlmainput = input(title = "Control MA", defval = 234)
controlma = sma(ohlc4, controlmainput)
macdx = fast_ma - slow_ma
signalx = sma(macdx, signal_length)
hist = macdx - signalx
ma_hist = shortma - controlma
macd = macdx + 50
signal = signalx + 50

plot(macd,"macd", color = fuchsia)
plot(hist,"hist", style = histogram, color = fuchsia)
//plot(ma_hist,"ma hist", style = histogram, color = orange)
plot(signal,"signal", color = white)

//input
control_buy_toggle = input(true, "Buy on crossover control MA?", type = bool)
buy_on_control = control_buy_toggle == true? true : false

//conditions
buy = buy_on_control == true? ma_hist > 0 and shortma > longma and crossover(macd,signal) or crossover(shortma, controlma) : ma_hist > 0 and shortma > longma and crossover(macd,signal)
sell = ma_hist > 0 and shortma > longma and crossunder(macd,signal)
stop = crossunder(shortma, longma) or crossunder(shortma, controlma)

plotshape(buy,"buy", shape.triangleup, location.bottom, green, size = size.tiny)
plotshape(sell,"sell", shape.triangledown, location.bottom, red, size = size.tiny)
plotshape(stop,"stop",shape.circle,location.bottom, white, size = size.tiny)

if testPeriod()
    strategy.entry("buy", true, when = buy, limit = close)
    strategy.close("buy", when = sell)
    strategy.close("buy", when = stop)