
In diesem Artikel wird eine quantitative Trading-Strategie beschrieben, die eine Kombination aus Formalanalyse und Kurbelform kombiniert. Die Strategie ermöglicht einen automatisierten Handel mit niedrigem Risiko und hohem Gewinn durch die Erkennung wichtiger Wendepunkte in der Preisgrafik und Kurbelformationen, die eine starke Umkehrung darstellen.
Die Strategie basiert auf einer detaillierten Analyse der Preisentwicklung, kombiniert mit Form- und Linieanalyse, und setzt eine klare Einstiegs- und Stopp-Logik ein, die eine effektive Verfolgung der Trends ermöglicht.
Die Einstiegsvoraussetzungen sind: Der höchste Preis, der die ersten beiden K-Linien überschreitet, und ein Durchbruch der vorzeitigen Hochform oder einer der mehrköpfigen Swallow-Formen oder eines der Stuhlforms. Diese Kombinationsvoraussetzungen ermöglichen die effektive Bestätigung der Boom-Chance. Die Stop-Loss-Bedingungen sind: Der niedrigste Preis, der die ersten beiden K-Linien unterschreitet.
Die Strategie kombiniert die Verwendung von Klassifikationslinien, die wichtige Wendepunkte identifizieren, mit den drei typischen Wendeformen, die eine Trendwende beurteilen. Für die Klassifizierung wichtiger Wendepunkte wird eine breitere Klassifizierungstheorie verwendet, für Formen wie Mehrköpfe, Leerköpfe und Wurfköpfe werden eher ausgereifte Algorithmen verwendet.
Die Implementierungslogik für die Detektion der Typisierung ist, dass der höchste Preis der aktuellen K-Linie dem höchsten Preis der vorherigen 3 K-Linien entspricht, d.h. dass er als oberste Sortierung gilt. Die Urteilsprinzipien für die Untersorptionsform der Detektion sind ähnlich. Die Detektionsform basiert auf strengen Urteilen über die Größe der Beziehung zwischen dem Öffnungs- und dem Schließungspreis.
Die wichtigsten Vorteile dieser Strategie sind:
Die Strategie birgt noch einige Risiken, die zu beachten sind:
Diese Risiken können durch die Optimierung von Stop-Loss-Strategien, die Einführung von Trendfiltern und die Verwendung von quantitativen Instrumenten zur Validierung von Strategieparametern kontrolliert werden.
Die Strategie kann in folgenden Bereichen weiter optimiert werden:
Durch diese Optimierungen kann die Stabilität und Profitabilität der Strategie weiter verbessert werden.
Dieser Artikel beschreibt eine quantitative Handelsstrategie, die auf Trimmellinien und Kettenformationen basiert. Die Strategie ist präzise, einfach zu implementieren, kann die Preisentwicklung effektiv erfassen und den Handel automatisieren. Nach kontinuierlicher Optimierung und Verifizierung wird ihre Leistung weiter verbessert und lohnt sich für Investoren oder Händler.
/*backtest
start: 2023-02-12 00:00:00
end: 2024-02-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Fractal & Pattern Entry/Exit Strategy", overlay=true)
// Fractal calculation
fractalHigh = high == highest(3)
fractalLow = low == lowest(3)
// Pattern detection
bullishEngulfing = open < close[1] and close > open[1] and close > open + (open[1] - close[1]) * 2 and low < min(open, close) and high > max(open, close) and open[1] > close[1]
bearishEngulfing = open > close[1] and close < open[1] and open > close + (close[1] - open[1]) * 2 and high > max(open, close) and low < min(open, close) and open[1] < close[1]
hammer = open < close and close > (high + low + open * 2) / 4 and close - open > (high - low) * 0.6 and high - close < (high - low) * 0.1 and open - low < (high - low) * 0.1
hangingMan = open > close and open < (high + low + close * 2) / 4 and open - close > (high - low) * 0.6 and high - open < (high - low) * 0.1 and close - low < (high - low) * 0.1
// Entry condition
longCondition = crossover(close, highest(2)[1]) and (fractalHigh or bullishEngulfing or hammer)
shortCondition = crossunder(close, lowest(2)[1]) and (fractalLow or bearishEngulfing or hangingMan)
// Exit condition
exitLongCondition = crossunder(close, lowest(2)[1])
exitShortCondition = crossover(close, highest(2)[1])
// Entry and exit orders
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
if (exitLongCondition)
strategy.close("Long")
if (exitShortCondition)
strategy.close("Short")
// Plot fractals
plotshape(fractalHigh, title="Fractal High", style=shape.triangledown, location=location.abovebar, color=color.green, size=size.small)
plotshape(fractalLow, title="Fractal Low", style=shape.triangleup, location=location.belowbar, color=color.red, size=size.small)
// Plot patterns
plotshape(bullishEngulfing, title="Bullish Engulfing", style=shape.arrowup, location=location.belowbar, color=color.green, size=size.small)
plotshape(bearishEngulfing, title="Bearish Engulfing", style=shape.arrowdown, location=location.abovebar, color=color.red, size=size.small)
plotshape(hammer, title="Hammer", style=shape.arrowup, location=location.belowbar, color=color.green, size=size.small)
plotshape(hangingMan, title="Hanging Man", style=shape.arrowdown, location=location.abovebar, color=color.red, size=size.small)