Die Double Gap-Strategie ist eine quantitative Strategie, die für den kurzfristigen Handel mit Bitcoin und Gold verwendet wird.
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.
Die Strategie der Doppellücke kann in folgenden Aspekten optimiert werden:
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)