Mikro-Retracement-Durchbruchsstrategie basierend auf quantitativem Momentum

ATR SMA OCA VOLUME
Erstellungsdatum: 2025-02-19 16:32:46 zuletzt geändert: 2025-02-19 17:25:25
Kopie: 0 Klicks: 335
2
konzentrieren Sie sich auf
319
Anhänger

Mikro-Retracement-Durchbruchsstrategie basierend auf quantitativem Momentum Mikro-Retracement-Durchbruchsstrategie basierend auf quantitativem Momentum

Überblick

Die Strategie ist ein Handelssystem, das auf Preisdynamik und Handelsvolumen basiert und darauf ausgerichtet ist, kleine Rückschläge nach starken Anstiegen zu identifizieren. Die Strategie überwacht kurzfristige Rückschläge nach einem starken Anstieg der grünen Linie und startet den Handel, wenn ein Rückschlagsignal auftritt. Das System verwendet mehrere Filterbedingungen, einschließlich der Einschränkung des Handelsvolumens, der ATR-Volatilität und des Rückschlags, um die Genauigkeit des Handels zu verbessern.

Strategieprinzip

Die Kernlogik der Strategie basiert auf dem Prinzip der Fortführung der Marktdynamik und umfasst folgende Schlüsselelemente:

  1. Der starke Anstieg durch Transaktionsvolumen und ATR-Multiplikatoren erfordert eine Transaktionsmenge von mehr als 1,5 mal dem Durchschnitt und mehr als 200.000
  2. Überwachung des Rückholprozesses nach dem Anstieg, Begrenzung der maximalen Anzahl an in Folge gebrauchten Rots auf 3
  3. Setzen Sie die maximale Rückzahlungsmarge auf 50% und verzichten Sie auf die Handelsgelegenheit, wenn Sie mehr als 50% haben
  4. Nach der Rückführung wird ein Mehrsignal ausgelöst, wenn der Preis den vorherigen Höchststand überschreitet.
  5. OCO-Order-Portfolio-Management-Holding mit Stop-Loss- und Gewinn-Ziel
  6. Die Stop-Loss-Einstellung liegt unter dem Retour-Tiefpunkt und das Ziel ist ein Gewinn, der das Risiko verdoppelt

Strategische Vorteile

  1. Kombination von Preisbewegungen und doppelter Bestätigung der Transaktionsmenge erhöht die Signalsicherheit
  2. Gefälschte Durchbruch-Fallen durch strenge Rückruf-Filterbedingungen vermieden
  3. Der Einsatz von objektiven technischen Indikatoren reduziert die Auswirkungen subjektiver Beurteilungen
  4. Klare Risikokontrollmechanismen, festgelegte Risikogewinn-Relationen
  5. Hohe Automatisierung der Systeme für den Großhandel mit mehreren Sorten
  6. Gute Erweiterbarkeit und einfache Hinzufügung neuer Filterbedingungen

Strategisches Risiko

  1. Bei starken Marktschwankungen können häufig falsche Signale ausgelöst werden
  2. Hochkonjunktur-Rückschläge könnten die vorgegebenen Grenzen überschreiten
  3. Umsatzbedingungen müssen sich dynamisch an unterschiedliche Marktbedingungen anpassen
  4. Die Stop-Loss-Bewertung ist näher und kann von Marktgeräuschen beeinflusst werden.
  5. Das Ergebnis könnte zu radikal sein und nicht vollständig zu erreichen sein.
  6. Es wird eine größere Anzahl von Proben benötigt, um die Stabilität der Strategie zu überprüfen.

Richtung der Strategieoptimierung

  1. Einführung von Trendfiltern, z. B. Einheitlichkeitssysteme oder Trendindikatoren, um sicherzustellen, dass der Handel in Richtung des Haupttrends erfolgt
  2. Dynamische Anpassung des Umsatzrückgangs an unterschiedliche Marktzyklen
  3. Optimierung der Stop-Loss-Positions-Einstellungen, die eine Multiplikation des ATRs berücksichtigen
  4. Hinzufügen von Zeitfiltern, um Schwankungen bei Börsenöffnungen und -schließungen zu vermeiden
  5. Einführung von mehreren Zeitzyklen zur Bestätigung und Verbesserung der Signalsicherheit
  6. Entwicklung eines anpassungsfähigen Parametersystems, um die Strategieparameter an die Marktlage anzupassen

Zusammenfassen

Es handelt sich um eine Strategie zur vernünftigen Trendverfolgung, die durch strenge Konditions- und Risikomanagement die besten Handelsmöglichkeiten in den Märkten erfasst. Der Schlüssel zum Erfolg der Strategie liegt in der Optimierung der Parameter und der Anpassungsfähigkeit an die Marktumgebung. Es wird empfohlen, vor dem Handel mit dem Live-Shop eine ausreichende Rücktestprüfung durchzuführen und die Parameter an die Eigenschaften der jeweiligen Handelsart anzupassen.

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

//@version=6
strategy(title="Micropullback Detector w/ Stop Buy & Exits", shorttitle="MicroPB Det+Exits", overlay=true)

// USER INPUTS
volLookback = input.int(20, "Volume SMA Period", minval=1)
volMultiplier = input.float(1.5, "Volume Multiplier for High Volume", minval=1.0)
largeCandleATR = input.float(0.5, "Fraction of ATR to define 'Large Candle'", minval=0.1)
maxRedPullback = input.int(3, "Max Consecutive Red Candles in Pullback")
maxRetracementPc = input.float(50, "Max Retracement % for pullback", minval=1.0, maxval=100.0)

// CALCULATIONS
fastAtr = ta.atr(14)
avgVolume = ta.sma(volume, volLookback)
isLargeGreenCandle = (close > open) and ((close - open) > fastAtr * largeCandleATR) and (volume > avgVolume * volMultiplier) and (volume > 200000)

// HELPER FLAGS
isGreen = close >= open
isRed   = close < open

// STATE VARIABLES
var int   state = 0
var float waveStartPrice   = na
var float waveHighestPrice = na
var float largestGreenVol  = na
var int   consecutiveRedPulls = 0
var bool  triggerSignal    = false
var float wavePullbackLow  = na

if barstate.isnew
    triggerSignal:=false
    if state==0
        wavePullbackLow:=na
        if isLargeGreenCandle
            state:=1
            waveStartPrice:=open
            waveHighestPrice:=high
            largestGreenVol:=volume
            consecutiveRedPulls:=0
    else if state==1
        if isGreen
            waveHighestPrice:=math.max(waveHighestPrice,high)
            if volume>largestGreenVol
                largestGreenVol:=volume
        else
            state:=2
            consecutiveRedPulls:=1
            wavePullbackLow:=low
    else if state==2
        if isRed
            if volume>largestGreenVol
                state:=0
            consecutiveRedPulls+=1
            if consecutiveRedPulls>=maxRedPullback+1
                state:=0
            retracementLevel=waveStartPrice+(maxRetracementPc/100.0)*(waveHighestPrice-waveStartPrice)
            wavePullbackLow:=math.min(wavePullbackLow,low)
            if close<retracementLevel
                state:=0
        else
            consecutiveRedPulls:=0
            if high>high[1]
                triggerSignal:=true
                state:=3
    else if state==3
        state:=0

// Plot shapes for signals (last 1440 bars ~ 1 day at 1-min TF)
plotshape(isLargeGreenCandle, title="Large Green Candle", style=shape.diamond, location=location.belowbar, color=color.new(color.blue, 0), offset=0, size=size.small, show_last=1440)
plotshape(triggerSignal, title="MicroPB Entry", style=shape.arrowdown, location=location.abovebar, color=color.new(color.green, 0), offset=0, size=size.large, show_last=1440)

// ENTRY & EXITS
if triggerSignal
    // Stop Buy above the previous bar's high
    entryPrice = high[1]
    strategy.order("MicroPullback Long", strategy.long, limit=entryPrice, oca_name="MicroPullback")

    // Stoploss slightly below pullback low
    stopPrice = wavePullbackLow - 2*syminfo.mintick

    // Risk & take-profit calculations
    risk = entryPrice - stopPrice
    tpPrice = entryPrice + 2 * risk

    // Exit: stop or TP
    strategy.exit("SL+TP", "MicroPullback Long", stop=stopPrice, limit=tpPrice, qty_percent=100)

// ALERT
alertcondition(triggerSignal, title="MicroPullback LONG", message="Micropullback Long Signal Detected!")