Die Schwingungsumkehr-CAT-Strategie ist eine quantitative Handelsstrategie, die auf technischen Indikatoren basiert. Die Strategie beurteilt Markttrends und Unterstützungsresistenzpositionen anhand von Indikatoren wie MA, EMA und kombiniert mit einer benutzerdefinierten Black Swan- und Daytone-Indikator, um ungewöhnliche Schwankungen zu erkennen und eine Trendhandelsstrategie zu erzielen, die zu einem niedrigen Kauf und einem hohen Verkauf führt.
Die Kernlogik der Schwingungsumkehr-CAT-Strategie besteht darin, die Gesamttrends anhand von technischen Indikatoren wie MA, EMA und anderen zu beurteilen, um dann in Kombination mit einem benutzerdefinierten Black Swan- und Daylight-Swan-Indikator die Gelegenheit zu erfassen, außergewöhnliche Schwankungen zu erfassen. Die konkreten Prinzipien lauten:
Es ist wichtig, die Richtung der allgemeinen Tendenz anhand von SMA, EMA und anderen Indikatoren zu bestimmen. Ein Durchschnittswert von EMA169 bei EMA144 wird als bullish angesehen, ein Durchschnittswert von EMA169 bei EMA144 als bearish.
Der benutzerdefinierte Black Swan-Indikator, der die Formel hat: Closing Price-Opening Price/Closing Price. Es zeigt, wie stark die K-Linie abnormal schwankt. Wenn der Black Swan-Indikator den Tiefpunkt überschreitet (z. B. 0,0191) und der Closing Price unter dem Opening Price liegt, gibt es eine abnormale Abwärtsbewegung, eine leere Handelsmöglichkeit.
Der benutzerdefinierte Tagesschwanz-Indikator ist ähnlich wie der Schwarzschwanz-Indikator und spiegelt auch die Ausmaß der außergewöhnlichen Schwankungen einer bestimmten K-Linie wider. Wenn der Tagesschwanz-Indikator die Schwelle überschreitet und der Schlusskurs höher ist als der Eröffnungskurs, ist dies eine mehrköpfige Handelsmöglichkeit.
Nach der Ergreifung von außergewöhnlichen Schwankungen warten Sie, bis die EMA und andere Indikatoren ein Umkehrsignal senden, um die Position zu platzieren und zu kaufen oder zu verkaufen.
Diese Strategie kombiniert die Verwendung von Trendmessungen und benutzerdefinierten Indikatoren, um Ausnahmen zu erfassen, und ermöglicht den Umkehrhandel mit niedrigen und hohen Preisen, was typischerweise eine quantitative Handelsstrategie ist.
Die Schwingungsumkehr-CAT-Strategie hat folgende Vorteile:
Der Black Swan und der Day-Snow Indicator können die außergewöhnlichen Preisschwankungen, die oft auf eine Umkehr hindeuten, effektiv erfassen, wodurch die Gewinnchancen höher sind.
Die Strategie hat sehr klare Ein- und Ausstiegskriterien, die dazu beitragen, die Zufälligkeit und Emotionen der Händler zu vermeiden.
Eine Vielzahl von Parametern und Indikatoren können optimiert werden. So können die Periodiparameter für MA und EMA, die Parameter-Tiefstwerte für Schwarze und Helle Schwimmler optimiert werden, um die Strategie besser an die verschiedenen Sorten und Handelsumgebungen anzupassen.
Die Strategie kombiniert sowohl Trend als auch Reversal und kann für unterschiedliche Zeiträume konfiguriert werden. Sie ist für Hoch- und Niedrigfrequenz-Handelsszenarien geeignet.
Risikokontrollmechanismen sind relativ vollständig. Die Strategie verwendet die Prozentsatz-Handelsmethode und verfügt über eine Stop-Loss-Plating-Mechanismus, um einzelne Verluste effektiv zu kontrollieren.
Es gibt einige Risiken, die sich aus einer Katastrophenumkehr-Strategie ergeben, die sich in folgenden Punkten widerspiegeln:
Parameteroptimierungsrisiken. Die Einstellung von Parametern wie Black Swan und Daylight Swan hat einen erheblichen Einfluss auf die Effektivität der Strategie, und wenn die Parameter falsch eingestellt werden, kann dies die Ertragslage der Strategie erheblich beeinträchtigen.
Rücktrittsrisiken. Diese Strategie kann zu einem gewissen Verlust und einem größeren Rückzug führen, wenn eine längere einseitige Tendenz auftritt.
False-Breakout-Risiken. In der Realität gibt es häufig einige kurzfristige False-Breakouts, die zu unnötigen Transaktionen führen können, wenn die Parameter zu sensibel eingestellt werden.
Angesichts der genannten Risiken können folgende Maßnahmen ergriffen werden:
Einrichtung eines Parameteroptimierungsmechanismus, um eine strenge Rückverfolgungsoptimierung mit historischen Daten durchzuführen, um sicherzustellen, dass die Parameterangaben vernünftig sind.
Ein angemessener Stop-Loss ermöglicht eine effektive Kontrolle der Einzelschaden-Regelung und des maximalen Auszahlungsgrads.
Anpassung der Sensitivität der Parameter. Vermeiden Sie, dass die Parameter zu empfindlich eingestellt werden, fügen Sie bestimmte Filterbedingungen hinzu und vermeiden Sie die Störung durch falsche Durchbrüche.
Die Schwingungsumkehr-CAT-Strategie bietet auch viel Optimierungsmöglichkeiten. Die wichtigsten Optimierungsrichtungen sind:
Die Black Swan- und Daylight-Swan-Indikatoren wurden weiter verfeinert und mit unterschiedlichen Parameterkombinationen ausgestattet, um eine genauere und umfassendere Identifizierung von abnormalen Schwankungen zu ermöglichen.
Die automatische Optimierung der Parameterkonfiguration mit Hilfe von Neural Networks oder integrierten Lernmethoden, um die dynamische Anpassung der Strategieparameter an Marktveränderungen besser anzupassen.
Die Nutzung von Deep Learning-Technologien zur Erkennung von Graphik, zur Unterstützung bei der Beurteilung von Preisumkehrsignalen und zur Verbesserung der Effektivität der Strategie.
Erhöhung der Sensitivität der Parameter für die Dunkelheit der Logikkontrolle, die Stabilität der Parameter bei offensichtlichen Trends und die Erhöhung der Sensitivität der Parameter bei Trendwendepunkten.
In Kombination mit globalen Optimierungsmethoden, wie z. B. genetisch neutralen Algorithmen und simulierten Lösch-Algorithmen, wird eine Gesamtoptimierung mit mehreren Parametern erreicht.
Erweiterung der Handelsarten, Erweiterung der anderen Arten wie Aktien, digitalen Währungen und Cross-Market-Arbitrage.
Durch systematische Modell- und Parameteroptimierung kann die Schwingungsumkehr-CAT-Strategie die Robustness-Strategie weiter verbessern und so bessere Handelsergebnisse erzielen.
Die Strategie hat die Vorteile, außergewöhnliche Schwankungen zu identifizieren, Standard-Eintritts- und Ausstiegsregeln und Optimierungsräume zu optimieren, um die Effektivität der Strategie durch Parameter- und Modelloptimierung weiter zu verbessern. Die Parameter, vor denen gewarnt werden muss, optimieren Risiken, Rücknahme-Risiken, Falschbruchrisiken usw. Insgesamt ist die Strategie vernünftig und sehr praktisch.
/*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
//适合1分钟-3分钟的k线,发生波动超过百分之二时,自动报警
strategy("BlackSwan strategy", overlay=true,
initial_capital=10000, currency='USD', default_qty_type=strategy.percent_of_equity,
default_qty_value=100, commission_type= strategy.commission.percent, commission_value=0.075,pyramiding=3)
//-------------------------------------------
//-------------------------------------------
timecondition = timeframe.period =="480" or timeframe.period =="240" or timeframe.period =="D" or timeframe.period =="720"
// Make input options that configure backtest date range
startDate = input(title="Start Date", type=input.integer,
defval=1, minval=1, maxval=31)
startMonth = input(title="Start Month", type=input.integer,
defval=11, minval=1, maxval=12)
startYear = input(title="Start Year", type=input.integer,
defval=2018, minval=1800, maxval=2100)
endDate = input(title="End Date", type=input.integer,
defval=1, minval=1, maxval=31)
endMonth = input(title="End Month", type=input.integer,
defval=11, minval=1, maxval=12)
endYear = input(title="End Year", type=input.integer,
defval=2031, minval=1800, maxval=2100)
// Look if the close time of the current bar
// falls inside the date range
inDateRange = (time >= timestamp(syminfo.timezone, startYear,
startMonth, startDate, 0, 0)) and
(time < timestamp(syminfo.timezone, endYear, endMonth, endDate, 0, 0))
// Inputs
a = input(1, title = "Key Vaule. 'This changes the sensitivity'")
c = input(10, title = "ATR Period")
h = input(false, title = "Signals from Heikin Ashi Candles")
ma60 = sma(close,60)
ema144 = ema(close,144)
ema169 = ema(close,169)
ma20=sma(close,20)
plot(ema144,color=color.yellow, title="144")
plot(ema169,color=color.orange, title="169")
heitiane=(close-open)
heitiane:=abs(heitiane)
heitiane:=heitiane/close
if (inDateRange and heitiane >0.0191 and close<open) // and close>f3
strategy.entry("botsell20", strategy.short, comment = "黑天鹅追空"+tostring(heitiane))
if(crossover(ema144,ema169))
strategy.close("botsell20", comment = "平空")
if (inDateRange and heitiane >0.0191 and close>open) // and close>f3
strategy.entry("botbuy20", strategy.long, comment = "白天鹅追多"+tostring(heitiane))
if(crossunder(ema144,ema169))
strategy.close("botbuy20", comment = "平多")