
Die Multi-Time-Frame-Trend-Erkennung und Graph-Modell-Trading-Strategie ist eine quantitative Trading-Methode, die eine langfristige kurzfristige Marktanalyse kombiniert. Die Strategie kombiniert geschickt die Technik der Multi-Time-Frame-Analyse, um den Zeitpunkt des Eintritts zu bestimmen, indem die Gesamtmarkttrends auf dem 15-Minuten-Zeitrahmen bestätigt werden und bestimmte Graph-Formen (z. B. bullish-Soption-Formen) auf dem 1-Minuten-Zeitrahmen identifiziert werden. Zusätzlich integriert die Strategie eine strenge Zeitfilterung, um den Handel zu vermeiden, wenn der Markt zu Beginn der Börse und vor dem Ende der Periode von hoher Volatilität ist, und um sicherzustellen, dass keine Positionen über Nacht gehalten werden, um das Handelsrisiko effektiv zu verwalten.
Die Kernlogik der Quantifizierungs-Trading-Strategie basiert auf der Analyse von mehreren Zeiträumen und strengen Handelszeitmanagement.
Trends erkennenDurch:request.securityDie Funktion erhält Preisdaten für den 15-Minuten-Zeitrahmen und beurteilt die Richtung des mittleren und langen Trends. Die Strategie wird durch den Vergleich des aktuellen Schlusskurses mit dem Zusammenhang des Schlusskurses der vorherigen Periode durchgeführt.trend_15m > trend_15m[1]In den letzten Jahren hat sich die Zahl der Kinder in den USA erhöht, und die Zahl der Kinder in den USA ist gestiegen.
FormenerkennungDie Strategie identifiziert eine bullish-swallowing-Form, in der die aktuelle K-Linie mit einem höheren Schlusskurs als der Eröffnungskurs (Y) und die nächste K-Linie mit einem höheren Schlusskurs als der Eröffnungskurs (Y) und die nächste K-Linie mit einem höheren Schlusskurs als der Eröffnungskurs der letzten K-Linie (Y) in der 1-Minuten-Zeit.bullish_engulfing = close > open and open[1] > close[1] and close > open[1]erreichen.
Zeit-FilterDie Strategie setzt zwei wichtige Zeitfilterbedingungen:
RisikomanagementStrategie: Nach der Bestätigung des Einstiegssignals wird automatisch ein Stop-Loss für den niedrigsten Punkt der vorherigen K-Linie festgelegt.stop_loss := low[1]Die Gewinnaussichten werden in einem Risiko-Rendite-Verhältnis von 2:1 berechnet.take_profit := close + 2 * (close - stop_loss))。
EintrittsbeschränkungenStrategie: Zwangsweise schließen Sie alle Positionen am Ende eines jeden Handelstages (um 16:00 Uhr), um sicherzustellen, dass keine Positionen über Nacht gehalten werden.strategy.close_all()Funktionsumsetzung
Vielschichtige MarktanalyseDurch die Kombination von 15-minütigen und 1-minütigen Zeitrahmen konnte die Strategie sowohl mittelfristige Trends als auch kurzfristige Einstiegsmöglichkeiten erfassen, was die Genauigkeit des Handels erheblich verbesserte. Die mittelfristigen Trends lieferten eine Orientierung über die Richtung des gesamten Marktes, während die kurzfristigen Formen einen präzisen Einstiegsmoment boten.
Wirksame ZeitfiltermechanismenVermeiden Sie die Zeiten mit hoher Volatilität und geringer Liquidität vor dem Markteintritt und dem Markteintritt, in denen es häufig zu Lärm kommt und die Signalqualität schlechter ist, was zu falschen Durchbrüchen oder Ausweitung der Gleitpunkte führen kann.
Automatisierte RisikomanagementDie Strategie beinhaltet eine eindeutige Stop-Loss- und Take-Profit-Ziel-Einstellung mit einem Risiko-Rendite-Verhältnis von 2:1, einem Standard für die Risikokontrolle, der von professionellen Händlern häufig verwendet wird, um langfristige Gewinne zu erzielen.
Daytrading-StrategienDie Strategie vermeidet die Risiken der Übernacht-Haltung, einschließlich unkontrollierbarer Verluste durch unvorhergesehene Ereignisse, wie z. B. Übernacht-Fliegen.
Code ist einfach und effizientStrategie: Die Code-Struktur ist klar und logisch kompakt, die integrierten Funktionen der PineScript-Sprache sind:request.securityUndstrategy.exitDie Einführung der neuen Regeln wird von den Behörden gefördert.
Mehrfache ZeitrahmenverzögerungVerwendung:request.securityFunktionen, die Daten über größere Zeitrahmen erhalten, können eine gewisse Verzögerung einführen, was zu verpassten Einstiegspunkten oder verzögerten Ausstiegen in einem schnelllebigen Markt führen kann. Die Lösung besteht darin, die Verwendung von dynamischen Zeitrahmen zu erwägen oder eine sofortige Trendbestätigung anzulegen.
Abhängigkeit in einer FormStrategie: Die Verwendung von Pessimisten als Einstiegssignal kann dazu führen, dass andere effektive Handelsmöglichkeiten verpasst werden. Die Erweiterung der Identifizierung anderer hochwahrscheinlicher Formen (z. B. Kreuzstern, Rabattlinie usw.) kann die Handelsfrequenz erhöhen.
Festgelegte Risiko-Rendite-EinstellungenDie Lösung besteht darin, die Stop-Loss- und Profit-Levels auf Basis der ATR (Average True Range) dynamisch anzupassen.
Zeit-FilterbeschränkungDie Zeitfilterung vermeidet zwar die Hochrisiko-Zeiten, kann aber auch einige hochwertige Handelsmöglichkeiten verpassen, insbesondere an Tagen mit starken Trends, die durch den Sprung der Börsen erzeugt werden. Erwägen Sie, zusätzliche Bestätigungsbedingungen hinzuzufügen, anstatt diese Zeiten vollständig zu vermeiden.
Mangelnde Anpassungsfähigkeit der MarktlageDie Strategie unterscheidet nicht zwischen verschiedenen Marktzuständen (z. B. Schwingungs- und Trendmärkte) und kann unter bestimmten Marktbedingungen schlechte Leistungen erbringen. Die Einführung eines Mechanismus zur Erkennung von Marktzuständen kann die Anpassungsfähigkeit der Strategie verbessern.
Trendbestätigung, Indikatoren stärkerTechnische Indikatoren wie MACD, RSI oder Moving Average System können in den 15-Minuten-Frames hinzugefügt werden, um eine zuverlässigere Trendbestätigung zu liefern. Zum Beispiel kann die Hinzufügung von MACD-Kreuzung oder RSI-Directional-Bestätigung falsche Signale reduzieren.
Dynamische RisikomanagementDie Strategie basiert auf der Anpassung von Stop-Loss- und Profit-Zielen an die dynamische Marktfluktuation (z. B. ATR), anstatt eine festgelegte RRR zu verwenden. Ein lockerer Stop-Loss wird in hoch- und niedrig-volatilen Märkten eingestellt.
Weitere EinstiegsmöglichkeitenZusätzlich zu den Wurm-Vorlauf-Formen kann die Identifizierung anderer hochwahrscheinlicher Wurm-Formen, wie z. B. Wurm-Sternlinie-Formen, Wurm-Streifen usw., hinzugefügt werden, um die Häufigkeit und Vielfalt des Handels zu erhöhen.
Einführung der LieferbestätigungDie Transaktionsanalyse wird in die Strategie-Logik integriert, um die Signalqualität zu verbessern.
Marktumgebung passt sich an: Hinzufügen von Markteinkontinuitätserkennungsfunktionen, z. B. zur Unterscheidung zwischen Trend- und Schwingungsmärkten durch einen Indikator für die Volatilität (wie ATR) oder einen Indikator für die Trendstärke (wie ADX), und entsprechende Anpassung der Strategieparameter.
Optimierung des ZeitfiltersEs kann in Erwägung gezogen werden, eine feinere Zeitfiltermechanik zu verwenden, um beispielsweise die optimale Handelszeit auf der Grundlage der Analyse historischer Daten zu ermitteln, anstatt einfach festgelegte Zeiträume auszuschließen.
Die Multi-Zeitrahmen-Trend-Erkennung und Graph-Mode Trading-Strategie ist ein integriertes Trading-System, das mittelfristige Trend-Analyse und kurzfristige Einstiegstechniken kombiniert. Die Strategie kann die Einstiegsgenauigkeit effektiv verbessern, indem sie die Richtung des Gesamtmarkttrends in den größeren Zeitrahmen (~ 15 Minuten) bestätigt und die hohe Wahrscheinlichkeit von Positiv-Sopplung-Formen in den kleineren Zeitrahmen (~ 1 Minute) identifiziert.
Ein weiteres großes Merkmal der Strategie ist die Integration eines strengen Zeitfiltermechanismus und eines Risikomanagementsystems, um die Perioden hoher Marktvolatilität zu vermeiden und das Risiko durch ein festes Risiko-Rendite-Verhältnis und die Erzwungung von Plazierungen vor der Schließung zu kontrollieren. Diese Funktionen machen die Strategie besonders für Daytrader geeignet, die nach stabilen Erträgen suchen.
Trotz der klaren Logik und der strengen Risikokontrolle der Strategie gibt es noch mehrere Optimierungsmöglichkeiten, darunter eine verbesserte Trendbestätigungsmechanik, die Einführung eines dynamischen Risikomanagements, die Hinzufügung von mehr Einstiegsformerkennung, die Integration von Traffic Analysis und die Entwicklung von Anpassungsfunktionen für die Marktumgebung. Durch diese Optimierungen wird die Strategie voraussichtlich in verschiedenen Marktumgebungen stabiler funktionieren.
/*backtest
start: 2024-03-07 00:00:00
end: 2025-03-05 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Multi-Timeframe Strategy with Time Filters", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// Define the 15-minute trend (long-term trend)
trend_15m = request.security(syminfo.tickerid, "15", close)
// Identify Bullish Engulfing pattern on the 1-minute chart
bullish_engulfing = close > open and open[1] > close[1] and close > open[1]
// Define the entry condition: Bullish Engulfing on the 1-minute chart and uptrend on the 15-minute chart
long_condition = bullish_engulfing and trend_15m > trend_15m[1]
// Define the current time
current_hour = hour
current_minute = minute
// Check if it's within the first 45 minutes or last 60 minutes of the trading day
first_45_minutes = (current_hour == 9 and current_minute < 45) // First 45 minutes of the day (9:00 - 9:45 AM)
last_60_minutes = (current_hour == 15 and current_minute >= 0) or (current_hour == 16 and current_minute < 60) // Last 60 minutes (3:00 - 4:00 PM)
// Block trades if within the restricted time windows
time_restricted = first_45_minutes or last_60_minutes
// Execute the strategy logic for long entry only if not within restricted time window
if (long_condition and not time_restricted)
strategy.entry("Long", strategy.long)
// Initialize stop loss and take profit variables
var float stop_loss = na
var float take_profit = na
// Update stop loss and take profit values when a long entry is triggered
if (long_condition and not time_restricted)
stop_loss := low[1] // Set stop loss to the low of the previous candle
take_profit := close + 2 * (close - stop_loss) // Set take profit to 2:1 risk-to-reward ratio
// Set stop loss and take profit for the trade using strategy.exit
strategy.exit("Exit Long", "Long", stop=stop_loss, limit=take_profit)
// Close all positions at the end of the trading day (for example, at 16:00 EST)
end_of_day = (hour == 16 and minute == 0) // 16:00 EST is the end of the day for most US markets
if (end_of_day)
strategy.close_all() // Close all open positions at the end of the day