Strategie des harmonischen Dualsystems

Schriftsteller:ChaoZhang, Datum: 2024-02-22
Tags:

img

Übersicht

Diese Strategie verwendet mehrere harmonische gleitende Durchschnitte, um Handelssignale zu konstruieren. Sie berechnet zuerst die harmonischen gleitenden Durchschnitte von der 1. bis 6. Ordnung und kombiniert diese gleitenden Durchschnitte dann, um doppelte Long/Short-Handelssignale zu erstellen. Sie geht kurz, wenn die kurzfristige Signallinie unterhalb der langfristigen überschreitet, und geht lang, wenn die kurzfristige Signallinie überschreitet.

Strategie Logik

Die Strategie definiert zunächst eine harm_average-Funktion, um den harmonischen gleitenden Durchschnitt der n-Perioden zu berechnen. Dann berechnet sie die harmonischen gleitenden Durchschnitte von 1. bis 6. Ordnung, nämlich T1 bis T6. Unter ihnen ist T1 der 3-Perioden-harmonische gleitende Durchschnitt, T2 der 3-Perioden-harmonische gleitende Durchschnitt von T1 und so weiter.

Anschließend wird eine Balance-Kurve konstruiert, die synthetisch die Umkehrung der kubischen harmonischen gleitenden Durchschnitte von T1 bis T6 berücksichtigt.

Schließlich baut es nach T1 bis T6 doppelte Long/Short-Cross-Trading-Signale auf, wobei X1 das Minimum von T1, T2 und T3 und X2 das Maximum von T4, T5 und T6 annimmt.

Analyse der Vorteile

  1. Die Verwendung mehrerer harmonischer gleitender Durchschnitte kann Marktlärm effektiv filtern und die Signalqualität verbessern

  2. Das Aufbau von doppelten Long/Short-Handelssignalen kann Trendwendepunkte rechtzeitig erfassen

  3. Die Balance-Kurve berücksichtigt synthetisch mehrere Zeitrahmen, die die Trendrichtung genau beurteilen können.

  4. Die Einführung der Quadratdurchschnittswerte kann die Rolle der Zwischenvariablen weiter hervorheben und die Stabilität der Strategie verbessern

Risikoanalyse

  1. Harmonische Durchschnitte selbst haben eine hohe Verzögerung, die kurzfristige Umkehrmöglichkeiten verpassen kann

  2. Übermäßige Optimierung mit mehreren Durchschnittswerten kann die Robustheit der Strategie verringern

  3. Bei Würfelrechnungen kann das mittlere Rauschen bis zu einem gewissen Grad verstärkt werden, was zu bestimmten falschen Signalen führt

  4. Doppelkreuzungen haben eine gewisse Verzögerung und können keine Wendepunkte rechtzeitig erfassen.

Optimierungsrichtlinien

  1. Es können mehrere Arten oder höhere Ordnungen harmonischer Durchschnitte erprobt werden.

  2. Einführung dynamischer Anpassung der Durchschnittstage zur Optimierung des Durchschnittssystems

  3. Verschiedene Leistungsparameter wie Quadrate und Logs testen

  4. Einbeziehung weiterer Hilfsindikatoren zur Überprüfung der Signalqualität

Zusammenfassung

Diese Strategie verwendet ein mehrfaches harmonisches Durchschnittssystem, um doppelte Long/Short-Handelssignale zu konstruieren. Im Vergleich zu einzelnen Durchschnittssystemen kann diese Strategie Trends besser identifizieren und Lärm filtern. In der Zwischenzeit können die doppelten Kreuzungen auch Marktturnpunkte rechtzeitig erfassen. Allerdings führen die mehrfachen Durchschnitts- und Kubenberechnungen auch eine gewisse Verzögerung und Lärmverstärkung ein. In Zukunft kann die Einführung dynamischer Parameter-Tuning und mehr Hilfsindikatoren die Stabilität und Aktualität der Strategie verbessern.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Harmonic System Strategy", overlay=true)

harm_average(x,y,z) =>3 / (1 / x + 1 / y + 1 / z)
T1 = harm_average(close[1], close[2], close[3])
T2 = harm_average(T1, T1[1], T1[2])
T3 = harm_average(T2, T2[1], T2[2])
T4 = harm_average(T3, T3[1], T3[2])
T5 = harm_average(T4, T4[1], T4[2])
T6 = harm_average(T5, T5[1], T5[2])
Balance = 18 / (1 / T1 * 3 + 1 / T2 * 3 + 1 / T3 * 3 + 1 / T4 * 3 + 1 / T5 * 3 + 1 / T6 * 3)

plot(T1,linewidth=2, color=color.green,title="T1")
plot(T2,linewidth=1, color=color.blue,title="T2")
plot(T3,linewidth=1, color=color.blue,title="T3")
plot(Balance,linewidth=2, color=color.black,title="Balance")
plot(T4,linewidth=1, color=color.blue,title="T4")
plot(T5,linewidth=1, color=color.blue,title="T5")
plot(T6,linewidth=2, color=color.red,title="T6")

X1 = min(min(T1,T2),T3)
X2 = max(max(T4,T5),T6)
X3 = min(T1,T2)
X4 = max(T3,T4)

Buy=crossover(X1,X2)
Sell=crossunder(X3,X4)

if crossover(X1,X2)
    strategy.entry("Long", strategy.long, comment="Long")

if crossunder(X3,X4)
    strategy.entry("Short", strategy.short, comment="Short")


Mehr