Multiple Crossovers Schildkröte und gewichteter gleitender Durchschnitt sowie Strategie der Kombination von MACD und TSI

Schriftsteller:ChaoZhang, Datum: 2024-01-08 14:19:02
Tags:

img

Übersicht

Dies ist eine Strategie, die mehrere technische Indikatoren für das Handelssignalbeurteilen nutzt. Sie integriert das duale gleitende Durchschnitts-Crossover-System der Schildkröten-Handelsregeln, den gewichteten gleitenden Durchschnitt, MACD und TSI, vier Haupttechnische Indikatoren, um eine mehrfach bestätigte Handelsstrategie zu bilden. Diese Kombination kann falsche Signale effektiv filtern und die Stabilität verbessern.

Grundsätze

Das Kernprinzip dieser Strategie ist die Kombination mehrerer technischer Indikatoren, die folgende Aspekte umfassen:

  1. Verwenden Sie die doppelte gleitende Durchschnittskreuzung der Schildkrötenhandelsregeln, um Handelssignale zu generieren. Berechnen Sie die 7-Tage- und 14-Tage-doppel Hull-gleitenden Durchschnitte. Wenn der kurzfristige gleitende Durchschnitt über den langfristigen gleitenden Durchschnitt kreuzt, ist er bullisch, und wenn er darunter kreuzt, ist er bärisch.

  2. Berechnen Sie den gewichteten gleitenden Durchschnitt für einen Tag als wichtigen langfristigen Trendindikator.

  3. Berechnen Sie den MACD-Indikator und beurteilen Sie sein goldenes Kreuz und sein totes Kreuz mit der Signallinie. Wenn der MACD größer ist als die Signallinie, ist er bullisch. Wenn er kleiner ist, ist er bärisch.

  4. Berechnen Sie den TSI-Indikator und bestimmen Sie, ob er oberhalb der Überkauflinie oder unterhalb der Überverkauflinie liegt.

Bei der Markteinführung müssen gleichzeitig folgende mehrfache Bedingungen erfüllt sein:

  • 7-Tage-Linie über 14-Tage-Linie
  • Wenn der gewichtete gleitende Durchschnitt für einen Tag unter dem Wert liegt, nur lang; wenn er über dem Wert liegt, nur kurz
  • Der MACD überschreitet die Signallinie
  • TSI ist höher als die Überverkaufslinie (Lange) oder niedriger als die Überkaufslinie (Kurze)

Dadurch können durch einen einzigen technischen Indikator erzeugte falsche Signale wirksam vermieden und die Stabilität verbessert werden.

Vorteile

Diese Multi-Indikator-Crossover-Kombinationsstrategie hat folgende Vorteile:

  1. Mehrfache Bestätigungen filtern effektiv falsche Signale und vermeiden fehlerhafte Trades.

  2. Die technischen Indikatoren decken kurz-, mittelfristige und langfristige Bedingungen ab und können Handelschancen auf verschiedenen Ebenen erfassen.

  3. Die Schildkrötenhandelsregeln sind bewährt und können leicht stabile Gewinne erzielen.

  4. Der MACD-Indikator ist anfällig für kurzfristige Marktveränderungen, die die Echtzeitleistung der Strategie verbessern können.

  5. Der TSI-Indikator ist relativ reibungslos und kann überkaufte und überverkaufte Situationen effektiv erkennen.

  6. Schwebende Durchschnitte als wichtiger langfristiger Trendindikator verhindern, dass gegen den Trend gehandelt wird.

Zusammenfassend lässt sich sagen, daß diese Strategie die Vorteile mehrerer Indikatoren kombiniert, stabil und flexibel ist und ein hohes Gewinnpotenzial bietet.

Risiken

Diese Strategie birgt auch einige Risiken, vor allem in den folgenden Bereichen:

  1. Mehrere Indikatoren erhöhen die Komplexität der Strategie und erschweren die Einstellung und Optimierung von Parametern.

  2. Es kann zu Abweichungen zwischen den Indikatoren kommen, die sich auf die Stabilität der Strategie auswirken.

  3. Die Wahrscheinlichkeit falscher Signale aus technischen Indikatoren kann nicht vollständig ausgeschlossen werden.

  4. Die fehlenden Chancen für kurzfristige Marktumkehrungen lassen keinen Arbitrage-Raum für schnelle Umkehrungen zu.

Entsprechend können weitere Optimierungen in den folgenden Bereichen vorgenommen werden:

  1. Finden Sie die optimale Kombination von Indikatorparametern, um die Koordinierung zwischen den Indikatoren zu verbessern.

  2. Steigern Sie die Stop-Loss-Mechanismen, um Einzelverluste zu kontrollieren.

  3. Einbeziehung verschiedener Indikatorentypen und -zyklen zur weiteren Verbesserung der Stabilität.

  4. Einige Mittel sollten angemessen mit Umkehrtechniken für die Arbitrage reserviert werden.

Optimierungsrichtlinien

Diese Strategie kann in folgenden Bereichen weiter optimiert werden:

  1. Optimierung von Parametern: Optimieren von Parametern wie Zykluslänge, Anzahl der Linien, Überkauf- und Überverkaufsintervalle usw., um die beste Parameterkombination zu finden.

  2. Steigern Sie die Stop-Loss-Mechanismen. Setzen Sie geeignete bewegliche Stop-Loss- oder CLASSES- und andere Stop-Loss-Methoden zur Verminderung von Verlusten ein.

  3. Mehr Indikatoren hinzufügen, wie KD, OBV, Volatilität usw., um eine Kreuzvalidierung in mehr Dimensionen zu bilden.

  4. Kombinieren Sie maschinelles Lernen, nehmen Sie verschiedene technische Indikatoren als Eingabe und verwenden Sie neuronale Netzwerke für Signalbeurteilung und Parameteroptimierung.

  5. Halten Sie bestimmte Umkehrpositionen, um von Umkehrungen zu profitieren.

Zusammenfassung

Diese Strategie kombiniert die Schildkröten-Handelsregeln, gleitenden Durchschnitt, MACD und TSI technische Indikatoren, um eine hohe Stabilität, hohe Flexibilität und kampfgetestete quantitative Strategie aufzubauen. Sie erfasst sowohl kurz-, mittelfristige als auch langfristige Marktbewegungen. Mehrfache Indikator-Kreuzvalidierung reduziert effektiv die Wahrscheinlichkeit falscher Signale. Weitere Optimierungen von Parametern, Stop-Loss-Mechanismen und Modellen können eine bessere Strategieleistung erzielen. Diese Strategie ist eine Live-Handelsverifizierung und Anwendung wert.


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

//@version=2
//                                                    Quad-HullMA-cross & VWMA & MacD & TSI combination  <<<<< by SeaSide420 >>>>>>
strategy("MultiCross", overlay=true)
keh=input(title="Double HullMA 1",defval=7, minval=1)
teh=input(title="Double HullMA 2",defval=14, minval=1)
meh=input(title="VWMA",defval=1, minval=1)
meh1=vwma(close,round(meh))
n2ma=2*wma(close,round(keh/2))
nma=wma(close,keh)
diff=n2ma-nma,sqn=round(sqrt(keh))
n2ma1=2*wma(close[2],round(keh/2))
nma1=wma(close[2],keh)
diff1=n2ma1-nma1,sqn1=round(sqrt(keh))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
b=n1>n2?lime:red
c=n1>n2?green:red
n2ma3=2*wma(close,round(teh/2))
nma2=wma(close,teh)
diff2=n2ma3-nma2,sqn2=round(sqrt(teh))
n2ma4=2*wma(close[2],round(teh/2))
nma3=wma(close[2],teh)
diff3=n2ma4-nma3,sqn3=round(sqrt(teh))
n3=wma(diff2,sqn2)
n4=wma(diff3,sqn3)
fastLength = input(title="MacD fastLength", defval=7)
slowlength = input(title="MacD slowlength", defval=14)
MACDLength = input(title="MacD Length", defval=3)
MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD
a1=plot(n1,color=c),a2=plot(n2,color=c)
plot(cross(n1, n2) ? n1 : na, style = cross, color=b, linewidth = 3)
a3=plot(n3,color=c),a4=plot(n4,color=c)
plot(cross(n3, n4) ? n1 : na, style = cross, color=b, linewidth = 3)
//a5=plot(meh1,color=c)
long = input(title="TSI Long Length",  defval=5)
short = input(title="TSI Short Length",  defval=3)
signal = input(title="TSI Signal Length",  defval=2)
linebuy = input(title="TSI Upper Line",  defval=4)
linesell = input(title="TSI Lower Line",  defval=-4)
price = close
double_smooth(src, long, short) =>
    fist_smooth = ema(src, long)
    ema(fist_smooth, short)
pc = change(price)
double_smoothed_pc = double_smooth(pc, long, short)
double_smoothed_abs_pc = double_smooth(abs(pc), long, short)
tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc)
closelong = n1<n2 and n3<n4 and n1>meh1
if (closelong)
    strategy.close("Long")
closeshort = n1>n2 and n3>n4 and n1<meh1
if (closeshort)
    strategy.close("Short") 
longCondition = strategy.opentrades<1 and n1>n2 and MACD>aMACD and n1<meh1 and n3>n4 and ema(tsi_value, signal)>linesell
if (longCondition)
    strategy.entry("Long",strategy.long)
shortCondition = strategy.opentrades<1  and n1<n2 and MACD<aMACD and n1>meh1 and n3<n4 and ema(tsi_value, signal)<linebuy
if (shortCondition)
    strategy.entry("Short",strategy.short)

Mehr