Kombinations-Handelsstrategie aus Triple-BB-Bändern, die einen Durchbruch schließen, und RSI-Indikator


Erstellungsdatum: 2024-02-29 14:57:49 zuletzt geändert: 2024-02-29 14:57:49
Kopie: 1 Klicks: 627
1
konzentrieren Sie sich auf
1617
Anhänger

Kombinations-Handelsstrategie aus Triple-BB-Bändern, die einen Durchbruch schließen, und RSI-Indikator

Überblick

Die Strategie erzeugt Handelssignale durch die Kombination der Verwendung des Brin-Band-Indikators und des relativ starken Index-RSI-Indikators. Sie überwacht, ob der Schlusskurs der drei K-Linien gleichzeitig auf- oder abgleitet, und bestätigt die Handelssignale in Kombination mit dem Turnblocks-Indikator und dem RSI-Indikator.

Strategieprinzip

Die Strategie basiert auf folgenden Prinzipien:

  1. Die Verwendung von Brin-Bändern mit einer Länge von 20, um ein Handelssignal zu erwägen, wenn der Kurs einen Auf- oder Abbruch durchläuft
  2. Die drei K-Linien müssen gleichzeitig brechen, um falsche Durchbrüche zu vermeiden.
  3. In Kombination mit den Turbinen-Indikatoren, VIP bei starkem Überkauf> 1.25, VIM bei starkem Überverkauf> 1.25, Filtersignal
  4. In Kombination mit dem RSI-Indikator, um zu überkaufen oder zu verkaufen, über 70 über RSI, um kurz zu sein, über 30 über RSI, um zu sein
  5. Wenn die oben genannten Bedingungen erfüllt sind, erzeugt ein Über- oder Unterlaufsignal

Analyse der Stärken

Diese Strategie hat folgende Vorteile:

  1. Dreifache BB-Bands filtern falsche Durchbrüche, um die Zuverlässigkeit der Durchbrüche sicherzustellen
  2. Der Turning-Index beurteilt die Marktstärke und verhindert unfairen Handel.
  3. Der RSI beurteilt die überkaufte und überverkaufte Zone, kombiniert mit dem Bollinger Bands Index
  4. Vielfältige Indikator-Kombination, umfassende Einschätzung der Marktsituation, hohe Signalsicherheit

Risikoanalyse

Die Strategie birgt auch einige Risiken:

  1. Die Brin-Band-Indikatoren sind parametersensibel und erfordern eine Optimierung der Länge und der StdDev-Multiplikation.
  2. Die Gearing-Indikatoren sind ebenfalls sehr zyklisch empfindlich und müssen sich an unterschiedliche Märkte anpassen.
  3. Der RSI kann leicht abweichen oder Trends verpassen
  4. Wenn man sich in den drei Kriterien nicht einig ist, kann man nicht aufgenommen werden und verpasst so einige Chancen.

Risikokontrollmaßnahmen umfassen:

  1. Optimierungsparameter mit der höchsten Gewinnrate
  2. In Kombination mit anderen Indikatoren, z. B. Filter für die Transaktionsvolumen
  3. Die Logik der Indikatoren sollte angemessen gelockert werden, um Verfehlungen vorzubeugen.

Optimierungsrichtung

Die Strategie kann in folgenden Bereichen optimiert werden:

  1. Optimierung der Längen und StdDev-Multiplikatoren für die Brin-Band-Indikatoren, um die optimalen Parameter zu finden
  2. Optimierung der Kreisläufe der Turbinen-Indikatoren, um sie besser an unterschiedliche Märkte anzupassen
  3. Hinzufügen von anderen Indikatoren, z. B. Handelsvolumen, macd, etc., um ein reichhaltiges Diversitätssignal zu erhalten
  4. Anpassung der Logik der Indikatoren, um zu verhindern, dass ein Widerspruch in den Indikatoren zur Unzulässigkeit führt
  5. Erhöhung der Stop-Loss-Strategie, um den maximalen Verlust eines einzelnen Handels zu kontrollieren

Zusammenfassen

Die Strategie nutzt verschiedene Indikatoren zur Beurteilung und stellt sicher, dass die Signalzuverlässigkeit gewährleistet ist. Die Strategie kann durch Parameteroptimierung, Anreicherung der Signalquelle, Anpassung der Beurteilungslogik und Stop-Loss-Methoden die Stabilität und Profitabilität der Strategie weiter verbessern.

Strategiequellcode
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Noway0utstorm

//@version=5
strategy(title='RSI + BB  over 3 bar+--- vortex0.71.3  ', shorttitle='NoWaytruongphuthinh', format=format.price, precision=4,overlay = true)

length = input(20, title="Length")
mult = input(2.0, title="Multiplier")
source = close

basis = ta.sma(source, length)
dev = mult * ta.stdev(source, length)

upperBand = basis + dev
lowerBand = basis - dev

isClosedBar = ta.change(time("15"))

var bool closeAboveUpperBand = false
var bool closeBelowLowerBand = false


// Vortex Indicator Settings
period_ = input.int(14, title='Period', minval=2)

VMP = math.sum(math.abs(high - low[1]), period_)
VMM = math.sum(math.abs(low - high[1]), period_)
STR = math.sum(ta.atr(1), period_)
VIP = VMP / STR
VIM = VMM / STR

//
lengthrsi = input(14, title="RSI Length")
overboughtLevel = input(70, title="Overbought Level")
oversoldLevel = input(30, title="Oversold Level")

sourcersi = close
rsiValue = ta.rsi(sourcersi, lengthrsi)

shouldShort = rsiValue > overboughtLevel
shouldLong = rsiValue < oversoldLevel




if bool(isClosedBar[1]) and bool(isClosedBar[2]) and bool(isClosedBar[3])

    if close[1] > upperBand[1] and close[2] > upperBand[2] and close[3] > upperBand[3] and VIP > 1.25 and VIM < 0.7 and rsiValue > overboughtLevel
        strategy.entry("Short", strategy.short)
        closeAboveUpperBand := false  // Reset the condition when entering a new Short position
    if close[1] < lowerBand[1] and close[2] < lowerBand[2] and close[3] < lowerBand[3] and VIP < 0.7 and VIM > 1.25 and rsiValue < oversoldLevel
        strategy.entry("Long", strategy.long)
        closeBelowLowerBand := false  // Reset the condition when entering a new Long position



if strategy.position_size > 0  // Check if there is an open Long position
    closeAboveUpperBand := close > upperBand  // Update the condition based on close price
    if closeAboveUpperBand
        strategy.close("Long",disable_alert=true)  // Close the Long position if close price is above upper band

if strategy.position_size < 0  // Check if there is an open Short position
    closeBelowLowerBand := close < lowerBand  // Update the condition based on close price
    if closeBelowLowerBand
        strategy.close("Short",disable_alert=true)  // Close the Short position if close price is below lower band

// Plots
plot(basis, color=color.orange, title="Basis")
p1 = plot(upperBand, color=color.blue, title="Upper Band")
p2 = plot(lowerBand, color=color.blue, title="Lower Band")
fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))