Momentum-Schwellenwert-gesteuerte Balanced-Force-Trading-Strategie

BOP TA MA RSI THRESHOLD momentum LEVERAGE EQUITY
Erstellungsdatum: 2025-02-24 09:35:40 zuletzt geändert: 2025-02-27 16:50:22
Kopie: 1 Klicks: 368
2
konzentrieren Sie sich auf
319
Anhänger

Momentum-Schwellenwert-gesteuerte Balanced-Force-Trading-Strategie Momentum-Schwellenwert-gesteuerte Balanced-Force-Trading-Strategie

Überblick

Die Strategie ist ein dynamisches Handelssystem, das hauptsächlich die Balance of Power-Indikatoren nutzt, um in 4-Stunden-Zeiträumen zu handeln. Durch die Messung des Kraftkontrasts zwischen den Käufern und den Käufern wird ein Handelssignal ausgelöst, wenn der Indikator die vorgegebene Schwelle überschreitet. Die Strategie enthält Funktionen wie dynamische Positionsverwaltung, einstellbaren Leverage und visuellen Handelsverfolgung, um die Wendepunkte der Markttrends effektiv zu erfassen.

Strategieprinzip

Der Kern der Strategie besteht darin, das Gleichgewicht der Kauf- und Verkaufskräfte im Markt zu messen, indem man die Berechnung ((Entrittspreis - Eröffnungspreis) / ((Höchstpreis - niedrigster Preis)) berechnet. Wenn dieser Wert 1 erreicht, wird eine starke Kursdynamik angezeigt, wenn er 1 erreicht, wird ein starker Preisdruck angezeigt. Die spezifische Handelslogik ist wie folgt:

  • Eintrittsbedingungen: Wenn der Balance-Force-Indikator 0,8 trägt, zeigt dies, dass der Käufer stark ist, und er macht mehr.
  • Bleibe-Bedingungen: Wenn die Balance-Force-Index unter -0.8 durchbricht, zeigt dies, dass der Druck des Verkäufers zunimmt und die Bleibe ausgesprochen wird
  • Positionsverwaltung: dynamische Anpassungen auf Basis von Konto-Eigenschaften mit einstellbarem Leverage-Multiplikator

Strategische Vorteile

  1. Signalklarheit: Fixed-Threshold-Trigger, Vermeidung von häufigen Transaktionen, Fokussierung auf ein Signal mit hoher Sicherheit
  2. Risikokontrolle: Flexible Risikomanagement durch dynamische Positionen und einstellbaren Leverage
  3. Visualisierung: Bereitstellung von Handelsmarken und -historien zur Rückverfolgung und Optimierung von Strategien
  4. Anpassungsfähigkeit: Anpassung an ein volatiles Marktumfeld, um Trendwechsel rechtzeitig zu erfassen

Strategisches Risiko

  1. Rutschrisiko: Bei starken Schwankungen können größere Rutschpunkte auftreten
  2. Gefahr eines falschen Durchbruchs: Gefahr eines falschen Durchbruchs, der zu Verlusten führen kann
  3. Trend-Abhängigkeit: In einem wackligen Markt könnte es schlechter laufen
  4. Leverage-Risiken: Zu hohe Leverage kann zu schweren Verlusten führen

Richtung der Strategieoptimierung

  1. Einführung von Trendfiltern: Beurteilen Sie die Richtung der großen Trends in Kombination mit anderen technischen Indikatoren
  2. Optimierung der Threshold-Einstellungen: Anpassung der Thresholds an die Dynamik der verschiedenen Marktumgebungen
  3. Verbesserte Stop-Loss-Mechanismen: Erhöhung der Risikokontrollmöglichkeiten wie Tracking-Stopp-Losses
  4. Mehr Zeitfilter: Zeitfaktoren wie die Veröffentlichung wichtiger Wirtschaftsdaten berücksichtigt

Zusammenfassen

Die Strategie erfasst die Veränderungen der Marktdynamik durch ein Gleichgewicht der Kräfte, kombiniert mit dynamischem Positionsmanagement und Risikokontrolle, und baut ein relativ vollständiges Handelssystem auf. Obwohl es einige Risiken gibt, kann die Stabilität und Profitabilität der Strategie durch kontinuierliche Optimierung und Verbesserung weiter verbessert werden.

Strategiequellcode
/*backtest
start: 2024-02-25 00:00:00
end: 2025-02-22 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/

//@version=5
strategy(title="Balance of Power for US30 4H", format=format.price, precision=2, default_qty_type=strategy.percent_of_equity, default_qty_value=100, overlay=true, commission_value=0.01, max_labels_count=500, max_lines_count = 500)

leverage = input.float(5, "Leverage 1:", tooltip="Multiply your equity (100%) times the leverage.")

p = (close - open) / (high - low)
qty = strategy.equity * leverage / close

if ta.crossover(p, 0.8)
    strategy.entry("L", strategy.long, qty=qty)

if ta.crossunder(p, -0.8)
    strategy.close("L")

green   = color.new(#0097a7, 0)
red     = color.new(#ff195f, 0)
green90 = color.new(#0097a7, 85)
red90   = color.new(#ff195f, 85)

if strategy.position_size > strategy.position_size[1]
    label.new(bar_index, low * 0.999, text="▲", textcolor=green, size=size.normal, textalign=text.align_center, color=green90, style=label.style_text_outline)
    label.new(bar_index, low * 0.999, text="Buy", textcolor=green, size=size.tiny, textalign=text.align_center, color=green90, style=label.style_label_up)

if strategy.position_size < strategy.position_size[1]
    label.new(bar_index, high * 1.001, text="▼", textcolor=red, size=size.normal, textalign=text.align_center, color=red90, style=label.style_text_outline)
    label.new(bar_index, high * 1.001, text="Close", textcolor=red, size=size.tiny, textalign=text.align_center, color=red90, style=label.style_label_down)


var float tradeEntryPrice = na
var int   tradeEntryBar   = na

if strategy.position_size > 0 and strategy.position_size[1] == 0
    tradeEntryPrice := close
    tradeEntryBar   := bar_index


if strategy.position_size == 0 and strategy.position_size[1] > 0
    exitPrice = close
    exitBar   = bar_index
    tradeColor = (exitPrice - tradeEntryPrice > 0) ? green : red

    topPrice    = math.max(tradeEntryPrice, exitPrice)
    bottomPrice = math.min(tradeEntryPrice, exitPrice)

    box.new(tradeEntryBar, topPrice, exitBar, bottomPrice, border_width=0, bgcolor=color.new(tradeColor, 85))
    line.new(tradeEntryBar, topPrice, exitBar, topPrice, color=tradeColor, width=1)
    line.new(tradeEntryBar, bottomPrice, exitBar, bottomPrice, color=tradeColor, width=1)