Volatilitätsgewalt Durchbruchshandelsstrategie

Schriftsteller:ChaoZhang, Datum: 2023-10-26 16:17:17
Tags:

img

Übersicht

Diese Strategie verwendet gleitende Durchschnitte, ATR, Bollinger Bands für das Trendbeurteilen und den Breakout-Handel, kombiniert mit dem Kraftindex für das Timing, gehört zur Breakout-Handelsstrategie.

Strategie Logik

  1. Berechnen Sie mittlere, obere und untere Linien der Bollinger Bands. Mittlere Linie ist sma des Schlusskurses, obere und untere sind mittlere Linie ± stdDev.

  2. Berechnen Sie schnelle und langsame ATR. Schnelle ATR hat Periode 20, langsame ATR hat Periode 50.

  3. Berechnen Sie den Kraftindex XFORCE, der die kumulative Menge * (Schließen - vorheriger Schließen) entspricht.

  4. Beurteilen Sie das lange Signal: schnelle XFORCE über langsame XFORCE und schnelle ATR > langsame ATR und schließen > offen.

  5. Beurteilen Sie das Kurzsignal: schnelle XFORCE unter der langsamen XFORCE und schnelle ATR > langsame ATR und schließen < offen.

  6. Lang gehen, wenn langes Signal ausgelöst wird, kurz gehen, wenn kurzes Signal ausgelöst wird.

Analyse der Vorteile

  1. Der gleitende Durchschnitt liefert einen Trend, die Bollinger Bands Breakoutpunkte.

  2. ATR beurteilt die Volatilität, implementiert den Volatilitätshandel.

  3. Der Kraftindex bestimmt die Kraftrichtung, setzt die Kraft aus.

  4. Die Kombination mehrerer Indikatoren liefert ein umfassendes Urteil.

  5. Klare und einfache Regeln, leicht verständlich und umsetzbar.

  6. Gute Backtest-Ergebnisse, stabiler Gewinn.

Risikoanalyse

  1. Bollinger-Bänder können falsche Signale erzeugen, wenn die Breite nicht angemessen ist.

  2. Falsche ATR-Parameter können die Marktvolatilität nicht erfassen.

  3. Der Kraftindex hat eine begrenzte Wirkung und kann keine tatsächliche Trendumkehr bestimmen.

  4. Schwierig, Parameter und Gewichte für mehrere Indikatoren anzupassen.

  5. Die Ausbruchssignale können ungenau sein, Abweichungen können auftreten.

  6. Der Drawdown kann groß sein, kann Stop Loss verwenden, um ihn zu kontrollieren.

Optimierungsrichtlinien

  1. Optimierung der Bollinger-Bänderparameter für verschiedene Zeiträume und Instrumente.

  2. Optimierung der ATR-Parameter, um die Volatilität besser zu erfassen.

  3. Hinzufügen von Trendindikatoren wie MACD zur Validierung des Trends.

  4. Fügen Sie Stop-Loss-Strategien wie Trailing-Stop hinzu, um den Drawdown zu kontrollieren.

  5. Verwenden Sie KI-Algorithmen, um Umkehrsignale zu beurteilen.

  6. Kombinieren Sie mehrere Zeitrahmen für ein umfassendes Urteilsvermögen und reduzieren Sie falsche Signale.

Zusammenfassung

Diese Strategie integriert gleitenden Durchschnitt, ATR, Bollinger Bands und Force Index, um ein komplettes Breakout-Trading-System zu bilden. Weitere Verbesserungen bei der Optimierung von Parametern, das Hinzufügen von Trendfiltern, Stop-Loss-Strategien und KI-Algorithmen können die Stabilität und Rentabilität verbessern.


/*backtest
start: 2023-09-25 00:00:00
end: 2023-10-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("yuthavithi volatility based force trade scalper strategy", overlay=true)

fast = input(3, minval= 1, title="Fast")
slow = input(20, minval = 1, title = "Slow")
atrFast = input(20, minval = 1, title = "ATR Fast")
atrSlow = input(50, minval = 1, title = "ATR Slow")

len = input(20, minval=1, title="Length")
multiplier = input(2, minval=1, title="multiplier")
src = input(close, title="Source")
bbMid = sma(src, len)
plot(bbMid, color=blue)

atrFastVal = atr(atrFast)
atrSlowVal = atr(atrSlow)
stdOut = stdev(close, len)
bbUpper = bbMid + stdOut * multiplier
bbLower = bbMid - stdOut * multiplier
plot(bbUpper, color = (atrFastVal > atrSlowVal ? red : silver))
plot(bbLower, color = (atrFastVal > atrSlowVal ? red : silver))


force = volume * (close -  nz(close[1]))
xforce = cum(force)
xforceFast = ema(xforce, fast)
xforceSlow = ema(xforce, slow)

bearish = ((xforceFast < xforceSlow) and (atrFastVal > atrSlowVal)) and ((xforceFast[1] > xforceSlow[1]) or (atrFastVal[1] < atrSlowVal[1])) and (close < open)
bullish = ((xforceFast > xforceSlow) and (atrFastVal > atrSlowVal)) and ((xforceFast[1] < xforceSlow[1]) or (atrFastVal[1] < atrSlowVal[1])) and (close > open)


if (bullish)
    strategy.entry("Buy", strategy.long)

if (bearish)
    strategy.entry("Sell", strategy.short)

Mehr