Basierend auf der Crossover-Strategie mit doppeltem gleitendem Durchschnitt


Erstellungsdatum: 2024-02-05 10:34:57 zuletzt geändert: 2024-02-05 10:34:57
Kopie: 0 Klicks: 602
1
konzentrieren Sie sich auf
1617
Anhänger

Basierend auf der Crossover-Strategie mit doppeltem gleitendem Durchschnitt

Überblick

Die Binary Equilibrium Crossover Strategie ist eine relativ einfache, quantitative Handelsstrategie. Sie ermittelt durch Berechnung des Durchschnitts des Schlusskurses der letzten 7 K-Linien und des Durchschnitts des Schlusskurses der letzten 20 K-Linien, die zu viel machen, wenn die kurzfristige Durchschnittslinie von unten durch die langfristige Durchschnittslinie geht. Solche Operationen können die Wendepunkte der mittelfristigen Markttrends erfassen, wenn die kurzfristige Durchschnittslinie von oben durch die langfristige Durchschnittslinie geht.

Strategieprinzip

Die Kernlogik dieser Strategie ist die Berechnung der durchschnittlichen Schlusskosten der letzten 7 K-Linien (ohne die aktuelle K-Line) als kurzfristige Mittelwerte und die Berechnung der durchschnittlichen Schlusskosten der letzten 20 K-Linien (ohne die letzten 7 K-Linien) als langfristige Mittelwerte. Wenn die kurzfristige Mittelwerte die langfristige Mittelwerte von unten durchdringen, bedeutet dies, dass der Markt von unten nach unten wechselt.

Nach dem Auslösen von mehreren Signalen wird eine Position mit der Anzahl der gesamten Kontoguthaben eröffnet. Nach dem Auslösen von Leerlaufsignalen wird eine Position mit der Anzahl der mehreren Positionen ausgeglichen und dann mit dieser Anzahl eröffnet.

Strategische Stärkenanalyse

Es handelt sich um eine sehr einfache Strategie der Doppel-Gleichgewichts-Kreuzung, deren Vorteile sich in folgenden Punkten widerspiegeln:

  1. Die Idee ist einfach, leicht zu verstehen und umzusetzen.
  2. Um den Wendepunkt der mittelfristigen Marktentwicklung zu ermitteln, berechnet man die Kreuzung verschiedener periodischer Durchschnittslinien, ein technischer Indikator, der in vielen Quantifizierungsstrategien weit verbreitet ist.
  3. Das Unternehmen hat die Möglichkeit, mit Hilfe von Webseiten, die sich mit dem Markt befassen, zu ermitteln, ob ein Marktteilnehmer in der Lage ist, die Markttrends zu analysieren.
  4. Diese Strategie eignet sich besonders für den Handel mit mittleren und langen Linien, wobei 20-25 K-Linien pro Position gehalten werden, um eine bessere Gewinn- und Verlustquote zu erzielen.
  5. Die Strategie beinhaltet Stop-Loss- und Stop-Stop-Mechanismen, um Risiken zu kontrollieren und Gewinne zu sichern.

Risikoanalyse

Dies ist eine einfache Trendverfolgungsstrategie, die jedoch mit einigen potenziellen Risiken konfrontiert ist:

  1. Wenn die Märkte in einen Schwankungsbereich eintreten, können sich die kurzfristigen und langfristigen Durchschnittslinien mehrfach kreuzen, was zu falschen Signalen und Überhändlungen führt.
  2. die Möglichkeit, dass ein Stop-Loss ausgelöst wird, wenn die Kurzlinie während der Haltedauer stark schwankt;
  3. Es ist unmöglich, den tatsächlichen Trendwendepunkt des Marktes zu beurteilen, und die Handelssignale können verzögert werden.

Für die oben genannten Risiken können Optimierungen in folgenden Formen vorgenommen werden:

  1. Erhöhung der Filterbedingungen, um zu ermitteln, ob der Preis die kritischen Unterstützungs- oder Widerstandspunkte bei der Durchschnittslinie durchbricht, um falsche Signale zu filtern;
  2. Anpassung der Positionszyklus und Verkürzung der durchschnittlichen Haltedauer pro Position, um Verluste zu kontrollieren;
  3. Hinzu kommen andere technische Indikatoren, wie z. B. Quantitative und Volatilitätsindikatoren, um den tatsächlichen Wendepunkt des Marktes zu bestimmen.

Richtung der Strategieoptimierung

Dies ist eine relativ einfache doppelte Gleichgewicht-Kreuzung-Strategie, die vor allem in den folgenden Bereichen optimiert werden kann:

  1. Optimierung der Durchschnittsparameter und Test verschiedener kurz- und langfristiger Durchschnittskombinationen auf der Suche nach optimalen Parametern;

  2. die Einführung weiterer Filterindikatoren, wie z. B. Energieindikatoren, Volatilitätsindikatoren usw., um Fehlsignale in schwankenden Märkten zu vermeiden;

  3. Optimierung der Stop-Loss-Stop-Strategie, Testing verschiedener Stop-Loss-Stop-Ratio und Bestimmung der optimalen Parameter;

  4. Verschiedene Marktzyklen zu testen, um die Länge der Positionen zu optimieren und zu beurteilen, in welchen Zyklen die Strategie am besten funktioniert.

  5. Die Erweiterung der Algorithmen des maschinellen Lernens, um die Optimierung der Strategieparameter durch Rückwärtsprüfung zu optimieren und die Strategie stabiler zu machen.

Zusammenfassen

Die Strategie ist eine einfache, zweigleiche Linie-Kreuzung-Strategie, die mittelfristige Trendwendepunkte durch Berechnung von Gleichgewicht-Kreuzungen in verschiedenen Zyklen zu beurteilen. Die Strategie ist sehr praktisch, die Idee ist einfach zu bedienen. Aber die Strategie hat auch eine gewisse Einschränkung.

Strategiequellcode
/*backtest
start: 2024-01-05 00:00:00
end: 2024-02-04 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © nrathi2211

//@version=5
strategy("Closing Prices", overlay=true)

//variables
closingB7 = ta.highest(close, 7)[7]
closingB14 = ta.highest(close, 7)[20]
highB14 = ta.highest(low, 50)[7]
capital = 50000

//functions
qty_find(float price) => capital / int(price)

profit_take() =>
    profit = strategy.opentrades.profit(strategy.opentrades - 1)
    profit*.95 

if(closingB7 < closingB14)
    if(ta.crossover(close, closingB7))
        strategy.entry("long_buy", strategy.long, qty_find(close))

    current_profit = strategy.opentrades.profit(strategy.opentrades - 1)
    if(current_profit < 0)
        strategy.close("Exit long_buy SL", "long_buy", qty_percent = 50)
    
    else if(current_profit < profit_take())
        strategy.close("Exit long_buy TP", "long_buy", qty_percent = 50)
    
    if(ta.crossunder(close, closingB7))
        strategy.exit("long_sell", from_entry = "long_buy", stop = closingB7)

plot(closingB7, "cl", color.green, 2)
//plot(closingB14, "cl", color.red, 2)
plot(highB14, "cl", color.purple, 2)