
Die Bollinger Bands-Schock-Trading-Strategie ist eine Handelsstrategie, die verwendet wird, wenn der Markt in einem Schockzustand ist. Die Strategie nutzt die Bollinger Bands-Indikatoren, um den Marktschock zu beurteilen, und sendet ein Handelssignal aus, wenn der Preis die Bollinger Band berührt und nach unten geht.
Die Strategie basiert hauptsächlich auf dem Brin-Band-Indikator. Der Brin-Band besteht aus einer mittleren, einer oberen und einer unteren Bahn. Wenn der Preis nahe der oberen oder unteren Bahn ist, bedeutet dies, dass der Markt übermäßig bullish oder bullish ist, und es besteht eine größere Wahrscheinlichkeit für eine Umkehr.
Die Strategie nutzt zunächst die DMI-Indikatoren, um zu beurteilen, ob ein Markt in einem Zustand der Erschütterung ist. Wenn die Differenz zwischen + DMI und -DMI kleiner als 20 ist, wird der Markt als horizontal erschüttert betrachtet. In diesem Fall wird der Markt als horizontal erschüttert betrachtet, wenn der Preis auf dem Weg nach unten ist, und als frei, wenn der Preis unterhalb der Bahn ist.
Die Strategie ist besser geeignet für eine marktübergreifende Trendbewegung als eine Trendfolge-Strategie, da sie keine Zinsverluste durch die Verfolgung von Trends verursacht. Im Vergleich zu herkömmlichen Trendbewegungen kann die Strategie die Brin-Band-Indikatoren verwenden, um die Überkauf-Überverkaufssituation des Marktes genauer zu bestimmen und die Wahrscheinlichkeit eines Eintritts zu erhöhen.
Die Strategie beruht hauptsächlich auf Bollinger Bands, die auf Marktschwankungen und Überkauf-Überverkäufe abzielen, was zu falschen Signalen führt, wenn die Bollinger Bands sich ausbreiten oder unregelmäßig zusammenziehen. Darüber hinaus ist der Stop-Loss nahe und ein einzelner Stop-Loss kann größer sein.
Es kann in Kombination mit anderen Indikatoren geprüft werden, um Eintrittssignale zu filtern, z. B. ein Shock-Indikator wie der RSI, um die Eintrittsgenauigkeit zu verbessern. Darüber hinaus ist es wichtig, die Stop-Loss-Strategie zu optimieren, um größere Einzelschläge zu vermeiden. Es kann auch eine Handelsvariante gewählt werden, die besser für diese Strategie geeignet ist, z. B. eine niedrig markierte Währung.
Die Strategie ist insgesamt für die bewegten Märkte geeignet und kann verwendet werden, wenn die Trendstrategie fehlschlägt. Es gibt jedoch noch Spielraum für die Optimierung der Wirksamkeit, die auf die Indikatoren beruht, um die Marktsituation zu beurteilen. Wir können die Strategie durch eine Kombination von mehreren Indikatoren, Kapitalmanagement usw. weiter verbessern, um ihre Wirkung stabiler und besser zu machen.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(shorttitle='Sideways Strategy DMI + Bollinger Bands',title='Sideways Strategy DMI + Bollinger Bands (by Coinrule)', overlay=true, initial_capital = 100, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, commission_type=strategy.commission.percent, commission_value=0.1)
// Works on ETHUSD 3h, 1h, 2h, 4h
//Backtest dates
fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12)
fromDay = input(defval = 1, title = "From Day", type = input.integer, minval = 1, maxval = 31)
fromYear = input(defval = 2021, title = "From Year", type = input.integer, minval = 1970)
thruMonth = input(defval = 12, title = "Thru Month", type = input.integer, minval = 1, maxval = 12)
thruDay = input(defval = 31, title = "Thru Day", type = input.integer, minval = 1, maxval = 31)
thruYear = input(defval = 2022, title = "Thru Year", type = input.integer, minval = 1970)
showDate = input(defval = true, title = "Show Date Range", type = input.bool)
start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window
finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window
window() => true
[pos_dm, neg_dm, adx] = dmi(14, 14)
lengthBB = input(20, minval=1)
src = input(close, title="Source")
mult = input(2.0, minval=0.001, maxval=50, title="StdDev")
basis = sma(src, lengthBB)
dev = mult * stdev(src, lengthBB)
upper = basis + dev
lower = basis - dev
offset = input(0, "Offset", type = input.integer, minval = -500, maxval = 500)
sideways = (abs(pos_dm - neg_dm) < 20)
//Stop_loss= ((input (3))/100)
//Take_profit= ((input (2))/100)
//longStopPrice = strategy.position_avg_price * (1 - Stop_loss)
//longTakeProfit = strategy.position_avg_price * (1 + Take_profit)
//closeLong = close < longStopPrice or close > longTakeProfit or StopRSI
//Entry
strategy.entry(id="long", long = true, when = sideways and (crossover(close, lower)) and window())
//Exit
strategy.close("long", when = (crossunder(close, upper)))