Bitcoin und Gold Doppel-Gap-Strategie

Schriftsteller:ChaoZhang, Datum: 2024-01-23 15:28:56
Tags:

img

Übersicht

Die Double Gap-Strategie ist eine quantitative Strategie, die für den kurzfristigen Handel mit Bitcoin und Gold verwendet wird.

Strategie Logik

Die Double Gap-Strategie verwendet schnelle EMA und langsame EMA-Kreuzungen, um die Trendrichtung zu bestimmen. Ein Kaufsignal wird erzeugt, wenn die schnelle EMA über die langsame EMA überschreitet, und ein Verkaufssignal wird erzeugt, wenn die schnelle EMA unter die langsame EMA überschreitet. Um falsche Ausbrüche zu vermeiden, erfordert die Strategie, dass der Crossover in der Nähe der oberen oder mittleren Bollinger Bands stattfindet.

Um ein Kaufsignal zu bestimmen, müssen beide folgenden Bedingungen erfüllt sein: 1) Die schnelle EMA über die langsame EMA überschreitet; 2) Der Schlusskurs liegt in der Nähe oder unterhalb der oberen oder mittleren Bollinger Bands. Das Beurteilen des Verkaufssignals ist ähnlich.

Darüber hinaus verwendet die Double Gap-Strategie den ATR-Indikator, um einen dynamischen Stop-Loss zu berechnen, um das Risiko jedes Handels zu kontrollieren.

Vorteile

  • Identifiziert durch doppelte Filter hochwahrscheinliche Ausbrüche
  • Fast EMA Crossover beurteilt Haupttrend, Bollinger Bands filtern falsche Ausbrüche
  • Dynamischer ATR-Stopp kontrolliert effektiv Einzelhandelsrisiken
  • Für den kurzfristigen Handel mit Produkten mit hoher Volatilität wie BTC geeignet

Risiken

  • Fehlende schnelle und langsame EMA-Parameter können zu übermäßigen falschen Signalen führen
  • Unangemessene Bollinger Bands-Parameter werden auch die Filterwirksamkeit erheblich verringern.
  • Ein Stopp-Loss, der zu eng eingestellt ist, erhöht die Wahrscheinlichkeit, dass er ausgelöst wird.
  • Hohe Handelsfrequenz erforderlich, nicht geeignet für kleine Konten

Optimierung

Die Strategie der Doppellücke kann in folgenden Aspekten optimiert werden:

  1. Optimieren Sie gleitende Durchschnittsparameter, um die besten schnellen und langsamen EMA-Kombinationen zu finden
  2. Optimierung der Bollinger-Band-Parameter zur Verringerung der falschen Ausbruchraten
  3. Anpassung des ATR-Stopp-Multiplikators nach verschiedenen Produkten und Marktregelungen
  4. Hinzufügen des Wiedereintrittssignals nach dem Aussteigen
  5. Kombination mit anderen Indikatoren wie RSI, KD usw. zur Bestätigung

Schlussfolgerung

Die Double Gap-Strategie identifiziert kurzfristige Chancen effektiv, indem sie sowohl Trend-Folgen als auch Breakout-Filtern verwendet. Mit dynamischem Stop-Loss-Management eignet sie sich gut für den kurzfristigen Handel mit hochvolatilen digitalen Währungen und Edelmetallen. Weitere Verbesserungen der Stabilität und Rentabilität können durch Parameter- und Logikoptimierung erzielt werden.


/*backtest
start: 2023-01-16 00:00:00
end: 2024-01-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © singhak8757

//@version=5
strategy("Bitcoin and Gold 5min Scalping Strategy2.0", overlay=true)


// Input parameters
fastLength = input(5, title="Fast EMA Length")
slowLength = input(13, title="Slow EMA Length")
bollingerLength = input(20, title="Bollinger Band Length")
bollingerMultiplier = input(2, title="Bollinger Band Multiplier")
stopLossMultiplier = input(1, title="Stop Loss Multiplier")

// Calculate EMAs
fastEMA = ta.ema(close, fastLength)
slowEMA = ta.ema(close, slowLength)

// Calculate Bollinger Bands
basis = ta.sma(close, bollingerLength)
upperBand = basis + bollingerMultiplier * ta.stdev(close, bollingerLength)
lowerBand = basis - bollingerMultiplier * ta.stdev(close, bollingerLength)

// Buy condition
buyCondition = ta.crossover(fastEMA, slowEMA) and (close <= upperBand or close <= basis)

// Sell condition
sellCondition = ta.crossunder(fastEMA, slowEMA) and (close >= lowerBand or close >= basis)

// Calculate stop loss level
stopLossLevel = ta.lowest(low, 2)[1] - stopLossMultiplier * ta.atr(14)

// Plot EMAs
plot(fastEMA, color=color.rgb(0, 156, 21), title="Fast EMA")
plot(slowEMA, color=color.rgb(255, 0, 0), title="Slow EMA")

// Plot Bollinger Bands
plot(upperBand, color=color.new(#000000, 0), title="Upper Bollinger Band")
plot(lowerBand, color=color.new(#1b007e, 0), title="Lower Bollinger Band")

// Plot Buy and Sell signals
plotshape(series=buyCondition, title="Buy Signal", color=color.green, style=shape.labelup, location=location.belowbar)
plotshape(series=sellCondition, title="Sell Signal", color=color.red, style=shape.labeldown, location=location.abovebar)

// Plot Stop Loss level
plot(stopLossLevel, color=color.orange, title="Stop Loss Level")

// Strategy logic
strategy.entry("Buy", strategy.long, when = buyCondition)
strategy.exit("Stop Loss/Close", from_entry="Buy", loss=stopLossLevel)
strategy.close("Sell", when = sellCondition)


Mehr