
Die Binary Equilibrium-Return-Trading-Strategie ist ein Trend-Tracking-System, das auf einem Index-Moving Average (EMA) basiert, dessen Kernidee darin besteht, “nicht jedes Mittelwertkreuz zu verfolgen, sondern auf die Bestätigung eines Marktkreuzes bis zu einer schnellen EMA-Linie zu warten und dann wieder einzutreten”. Die Strategie kombiniert das Signal des Gleichgewichtskreuzes in der technischen Analyse und die Bestätigungsmechanismen für Preisrückschläge, um mit hoher Wahrscheinlichkeit an den Wendepunkten nach dem Trendwechsel zu handeln, indem sie einen angemessenen Rücklaufverhältnis, ein Risiko-Return-Verhältnis und eine begrenzte Anzahl von täglichen Transaktionen festlegt. Die Strategie verwendet 200- und 800-Zyklen EMA als Basis, wenn ein schneller EMA ((200-Zyklen) ein Mehrkopfsignal bildet, und wartet, bis der Preis durch den schnellen EMA zurückkehrt, um 0.2% zu kaufen.
Die Kernprinzipien der Strategie basieren auf folgenden Konzepten der technischen Analyse:
Ebenseitige SignalerkennungDie Strategie verwendet EMAs mit 200 und 800 Perioden, um die allgemeine Trendrichtung des Marktes zu bestimmen. Wenn ein schneller EMA über die 200 durchläuft, beginnt das System mit der Identifizierung eines mehrköpfigen Trends. Wenn ein schneller EMA unter die 800 durchläuft, beginnt das System mit der Identifizierung eines leeren Trends.
Trend-Status-VerfolgungStrategie: Die Strategie verfolgt den aktuellen Trendstatus kontinuierlich über die Bullenvariablen ((in_bullish_trend und in_bearish_trend) und stellt sicher, dass nur in der bestätigten Trendrichtung gehandelt wird.
RückrufbestätigungsmechanismusIm Gegensatz zur herkömmlichen Linear-Crossing-Strategie wird die Strategie nicht direkt am Kreuzungspunkt eingegeben, sondern wartet auf eine Kursrückführung in der Nähe der schnellen EMA. Insbesondere wird die Rückführung als bestätigt angesehen, wenn der Prozentsatz der Abweichung zwischen dem Preis und der schnellen EMA kleiner als die vorgegebene Rücklaufkapazität ist (Standard 0,2%).
RisikokontrollmechanismenStrategie: Setzen Sie eine feste Stop-Loss-Rate (default: 0.5%) pro Handel und einen Stop-Loss-Level auf Basis des Risikos und der Rendite (default: 4:1). Sie vermeiden Übertriebe, indem Sie die maximale Anzahl von Geschäften pro Tag (default: 2) begrenzen.
Umschalten und UmstellenStrategie: Setzen Sie den Handelszähler zu Beginn des Tages zurück, um sicherzustellen, dass die Handelsfrequenz auf den Tag begrenzt ist.
Durch die tiefgreifende Analyse des Codes hat diese Strategie folgende deutliche Vorteile:
Handel nach TrendbestätigungStrategie: Eintritt wird nur nach der Bestätigung der Trendrichtung durch die Durchschnittslinie berücksichtigt, um den Verlust zu vermeiden, der durch häufige Transaktionen in einem konsolidierten Markt verursacht wird.
Zurückrufen zur Erhöhung der GewinnquoteDurch die Wartezeit, bis der Kurs zu einem kritischen Support/Widerstand zurückgreift, erhöht sich die Erfolgswahrscheinlichkeit des Handels und vermeidet das Risiko, bei einer übermäßigen Preisverlängerung einzutreten.
Klare RisikomanagementDie Gewinne werden mit einem Risiko-Rendite-Verhältnis von 4:1 garantiert, was die Möglichkeit eines langfristigen Gewinns garantiert, auch wenn die Gewinnquote nicht hoch ist.
Übertriebener SchutzDurch die Einschränkung der maximalen Anzahl von Transaktionen pro Tag wird der Überhandel in schwankenden Märkten verhindert, was dazu beiträgt, die Transaktionskosten zu senken und die Stabilität der Gesamtstrategie zu verbessern.
Visualisierung von HandelssignalenStrategie: Benutzung von Tags und Hintergrundfarbänderungen, um Handelssignale und Positionszustände intuitiv anzuzeigen, um Rückmeldungsanalysen und Echtzeitüberwachung zu ermöglichen.
Anpassbarkeit der ParameterAlle wichtigen Parameter wie EMA-Zyklen, Rücklaufverzögerung, RRR, Stop-Loss-Ratio und die maximale Anzahl der täglichen Transaktionen können über die Eingabeboxen angepasst werden, so dass die Strategie sehr anpassungsfähig ist.
Obwohl die Strategie so konzipiert ist, gibt es folgende potenzielle Risiken:
Trendwende und NachholungDie Strategie kann erhebliche Verzögerungen bei der Identifizierung von Trendwechseln aufweisen, wodurch ein Teil des Trends zu Beginn des Trends übersehen wird. Lösungsvorschlag: Es kann als Hilfsentscheidung ein Indikator in Verbindung mit kürzeren Perioden betrachtet werden, oder die EMA-Zyklen an die Merkmale des Marktes angepasst werden.
Falsche DurchbruchgefahrLösungsansatz: Es kann ein Mechanismus zur Kreuzbestätigung hinzugefügt werden, der beispielsweise verlangt, dass der Preis die Richtung des Trends für eine gewisse Zeit nach der Kreuzung beibehält, oder die Bestätigung des Handelsvolumens erhöht.
Häufige Triggerungen bei schmalen SchwankungenBei geringer Volatilität kann der Preis häufig in der Nähe der EMA schwanken und nach Erfüllung der Rückmessbedingungen schnell wieder abweichen, was zu einem unwirksamen Signal führt. Lösung: Erwägen Sie, den Fluktuationsfilter zu erhöhen oder die Rückmessungsanforderung bei geringer Volatilität zu erhöhen.
Das Risiko eines festen Stop-LossStrategie: Verwendung eines festen Prozentsatzes für Stop-Losses ohne Berücksichtigung von Marktschwankungen, was zu einem zu geringen und häufigen Auslösen von Stop-Losses in einem hochflüchtigen Markt führen kann. Lösung: Eine dynamische Anpassung der Stop-Loss-Ebene kann in Betracht gezogen werden, indem der ATR verwendet wird.
Abhängigkeit von einem einzigen TechnikindikatorDie Strategie basiert auf EMA-Indikatoren, die keine mehrdimensionale Analyse des Marktes beinhalten. Die Lösung: Die Kombination mit anderen Arten von Indikatoren (z. B. Dynamik, Volatilität) zur Signalbestätigung in Erwägung ziehen.
Auf der Grundlage dieser Analyse kann die Strategie optimiert werden in folgenden Richtungen:
Anpassung der dynamischen ParameterDie Festsetzung der Rücklaufdichte und der Stop-Loss-Ratio wird in eine dynamische Anpassung an die Marktfluktuation (z. B. ATR) umgestellt, um sie an unterschiedliche Marktbedingungen anzupassen. Dies geschieht, weil die Merkmale der Marktfluktuation sich mit der Zeit ändern und die festgelegten Parameter möglicherweise nicht für alle Marktbedingungen gelten.
Mehrfache ZeitrahmenanalyseEs ist wichtig, dass Sie die Trends in den höheren Zeiträumen besser beurteilen und nur in Richtung der Gesamttrends handeln, um Rückwärtstrades in der Gesamttrend zu vermeiden. Diese Optimierung verbessert die Signalqualität und reduziert das Risiko von Rückwärtstrades.
Bestätigung des Transaktionsvolumens: Die Erhöhung der Bestätigung der Transaktionsmenge bei der Generierung des Einstiegssignals, z. B. die Erfordernis eines Brechens der Ausstrahlungshilfe / Widerstandslage an den Rückschlagpunkten. Die Transaktionsmenge ist die treibende Kraft für die Preisänderung und kann in Kombination mit der Analyse der Transaktionsmenge die Signalwirksamkeit verbessern.
Gewinn- und VerlustquoteDas Risiko-Rendite-Verhältnis wird anhand der Merkmale der Marktfluktuation und der historischen Preisstruktur dynamisch angepasst, anstatt ein festes 4:1-Verhältnis zu verwenden. Dies ermöglicht es der Strategie, sich besser an die verschiedenen Phasen und Merkmale des Marktes anzupassen.
Filterbedingungen hinzugefügtDie Einführung eines Indikators für die Stärke eines Markttrends (z. B. ADX) als Filter, um die Strategie nur in einem starken Trendmarkt zu starten. So kann vermieden werden, dass zu viele falsche Signale in einem schwachen Trend oder einem bewegten Markt erzeugt werden.
Teilweise GewinnabsperrungDie Erhöhung der Batch-Stop-Funktion, die einen Teil des Gewinns sperrt, wenn der Preis ein gewisses Gewinnniveau erreicht, und den Rest hält, um den Trend zu verfolgen. Dieser Mechanismus kann den Bedarf an kurzfristigen Gewinnen und langfristigen Trendverfolgung ausgleichen.
Optimierung der Retrieval-ZeitspanneDer Markt ist sehr effizient und die Eigenschaften unterscheiden sich stark. Die Auswahl der am besten geeigneten Zeit für die Strategie Logik kann die Gesamtperformance verbessern.
Die Strategie beinhaltet nicht nur eine klare Ein- und Ausstiegslogik, sondern auch eine gute Geldverwaltung und Risikokontrolle. Ihr zentraler Vorteil liegt in der Idee der “Bestätigung der Wartezeit”, die die Erfolgswahrscheinlichkeit des Handels erhöht, indem sie die direkte Verfolgung der Ein- und Ausstiegssignale vermeidet, sondern darauf wartet, dass die Preise bis zu einer wichtigen technischen Position zurückkehren und dann in den Markt eintreten.
Die Strategie hat jedoch noch Einschränkungen wie die Abhängigkeit von langfristigen EMAs, die Beurteilung eines einzigen technischen Indikators und die Festlegung von Parametern. Die Adaptivität und Robustheit der Strategie können durch die Einführung von Optimierungsmaßnahmen wie Dynamikparameteranpassung, Multi-Time-Framework-Analyse, Transaktionsmengenbestätigung und Trendstärke-Filterung weiter verbessert werden. Diese Optimierungsmaßnahmen werden insbesondere in einem Marktumfeld mit hoher Volatilität oder Trendunsicherheit eine größere Rolle spielen.
Letztendlich stellt die Strategie eine ausgewogene und robuste Handelsidee dar, die für Trader geeignet ist, die eine gewisse Risikobereitschaft haben und nach stabilen Erträgen in der mittleren und langen Zeit streben. Durch die vernünftige Einstellung der Parameter und die kontinuierliche Optimierung der Strategie kann sie in verschiedenen Marktumgebungen eine relativ stabile Leistung erzielen.
/*backtest
start: 2025-04-13 00:00:00
end: 2025-04-15 10:00:00
period: 2m
basePeriod: 2m
exchanges: [{"eid":"Futures_Binance","currency":"TRX_USD"}]
*/
//@version=6
strategy("200/500 EMA Retest Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=1)
// INPUTS
ema_fast_length = input.int(200, title="Fast EMA Length")
ema_slow_length = input.int(500, title="Slow EMA Length")
retest_tolerance = input.float(0.002, title="Retest Tolerance (%)") // 0.2% by default
risk_reward_ratio = input.float(4.0, title="Risk-Reward Ratio (TP:SL)")
stop_loss_perc = input.float(0.005, title="Stop Loss % (e.g., 0.5%)") // 0.5% default
max_trades_per_day = input.int(2, title="Max Trades Per Day")
// EMA CALCULATIONS
ema_fast = ta.ema(close, ema_fast_length)
ema_slow = ta.ema(close, ema_slow_length)
// PLOT EMAs
plot(ema_fast, color=color.blue)
plot(ema_slow, color=color.orange)
// CROSS DETECTION
bullish_cross = ta.crossover(ema_fast, ema_slow)
bearish_cross = ta.crossunder(ema_fast, ema_slow)
// STATE TRACKING
var bool in_bullish_trend = false
var bool in_bearish_trend = false
var int trades_today = 0
if ta.change(time("D")) != 0
trades_today := 0
if bullish_cross
in_bullish_trend := true
in_bearish_trend := false
if bearish_cross
in_bullish_trend := false
in_bearish_trend := true
// RETEST CONDITION
bullish_retest = in_bullish_trend and (math.abs(close - ema_fast) / ema_fast <= retest_tolerance)
bearish_retest = in_bearish_trend and (math.abs(close - ema_fast) / ema_fast <= retest_tolerance)
// ENTRIES WITH SL/TP AND TRADE LIMIT
if bullish_retest and trades_today < max_trades_per_day
strategy.entry("Long", strategy.long)
strategy.exit("Long TP/SL", from_entry="Long", stop=close * (1 - stop_loss_perc), limit=close * (1 + stop_loss_perc * risk_reward_ratio))
label.new(bar_index, low, "BUY", color=color.green, style=label.style_label_up, textcolor=color.white, size=size.small)
trades_today += 1
if bearish_retest and trades_today < max_trades_per_day
strategy.entry("Short", strategy.short)
strategy.exit("Short TP/SL", from_entry="Short", stop=close * (1 + stop_loss_perc), limit=close * (1 - stop_loss_perc * risk_reward_ratio))
label.new(bar_index, high, "SELL", color=color.red, style=label.style_label_down, textcolor=color.white, size=size.small)
trades_today += 1
// BACKGROUND COLOR WHEN IN POSITION
bgcolor(strategy.position_size > 0 ? color.new(color.green, 90) : na)
bgcolor(strategy.position_size < 0 ? color.new(color.red, 90) : na)
// ALERTS
if bullish_retest
alert("BUY Retest Triggered!", alert.freq_once_per_bar)
if bearish_retest
alert("SELL Retest Triggered!", alert.freq_once_per_bar)