Breitband-Schwingungsverriegelungsstrategie


Erstellungsdatum: 2024-02-22 13:43:14 zuletzt geändert: 2024-02-22 13:43:14
Kopie: 0 Klicks: 777
1
konzentrieren Sie sich auf
1617
Anhänger

Breitband-Schwingungsverriegelungsstrategie

Überblick

Die Breitbandschwingungssperrstrategie ist eine langfristige Durchbruchstrategie, die auf der Grundlage der Brin-Band-Indikatoren beurteilt, ob die Marktvolatilität zurückgegangen ist. Wenn der Markt in die Schwingungsbereinigungsphase eintritt, tritt die Brin-Band-Absenkung ein, und wir beurteilen dies als eine Gelegenheit, in den Markt einzutreten. Gleichzeitig werden die Indikatoren für die durchschnittliche tatsächliche Schwingungsbreite verwendet, um die Verringerung der Preisvolatilität zu bestätigen.

Strategieprinzip

Die Strategie beruht hauptsächlich auf dem Brin-Band-Indikator, um zu bestimmen, ob die Preise in die Obergrenze der niedrigen Schwankungen eingetreten sind. Die Brin-Band-Mitte ist der bewegliche Durchschnitt des Schlusskurses, wobei die oberen und unteren Bahnen jeweils zwei Standarddifferenzen auf die mittlere Bahn hinab und her bewegen.

Um den Rückgang der Volatilität weiter zu bestätigen, untersuchen wir, ob der ATR-Wert im Moving Average eine Abwärtstrend aufweist. Der Rückgang des ATR-Wertes ist ein Seitenbeweis dafür, dass die Volatilität abnimmt. Wenn die beiden oben genannten Bedingungen erfüllt sind, beurteilen wir, dass die Brin-Band bereits eine deutliche Annäherung aufweist, was ein hervorragender Kaufzeitpunkt ist.

Nach dem Kauf aktivieren wir die mobile Stop-Loss-Strategie mit dem doppelten ATR-Wert als Stop-Loss-Distanz.

Analyse der Stärken

Der größte Vorteil dieser Strategie besteht darin, dass sie die Schokkorrekturphase, in der der Markt in eine Phase mit geringer Volatilität eintritt, genau bestimmen kann, um den optimalen Kaufzeitpunkt zu bestimmen. Im Vergleich zu anderen Long-Line-Strategien hat die Breitband-Schock-Lock-Strategie eine höhere Gewinnwahrscheinlichkeit.

Zweitens nutzt die Strategie mobile Stop-Losses, um Risiken aktiv zu kontrollieren. Dies ermöglicht die Maximierung von Verlusten, auch wenn die Situation ungünstig ist.

Risikoanalyse

Das Hauptrisiko der Strategie besteht darin, dass der Bollinger Bands-Indikator keine hundertprozentige Genauigkeit bei der Bestimmung von Veränderungen in der Preisvolatilität aufweist. Wenn die Bollinger Bands-Fehler die Volatilität verringern, kann der Zeitpunkt für den Kauf ungünstig sein.

Außerdem beeinflussen die Einstellungen der verschiedenen Parameter in der Strategie die Ergebnisse. Wir müssen die Optimierungsparameter durch eine große Rückmessung optimieren, um die Strategie stabiler zu machen.

Optimierungsrichtung

Wir können in Betracht ziehen, andere Indikatoren hinzuzufügen, um zu bestätigen, dass ein Trendindikator auch Anzeichen für eine Umkehrung zeigt. Zum Beispiel, wenn ein Burin-Begrenzung ein Burin-Begrenzung ist, wird gleichzeitig verlangt, dass die MACD-Differenz durch einen positiven Negativwechsel oder den RSI durch eine Überkaufzone erfasst wurde. Dies kann die Genauigkeit der Kaufzeit weiter verbessern.

Die andere Richtung ist, die Auswirkungen verschiedener Parameter auf das Ergebnis zu testen, z. B. Einstellungen für die Brin-Band-Periode, die ATR-Periode und die mobile Stop-Loss-Multiplier. Wir müssen die optimale Kombination von Parametern mit Schritt-zu-Schritt-Optimierung finden.

Zusammenfassen

Die Breitband-Sturm-Lock-Strategie ist eine relativ stabile Long-Line-Breakout-Strategie, bei der die Brin-Band-Indikatoren verwendet werden, um die Zeit für die Verringerung der Preisvolatilität zu bestimmen, und die Risiken mit mobilen Stop-Losses wirksam zu steuern. Wir müssen noch weitere Optimierungen der Parameter und Kombinationen anderer Indikatoren vornehmen, um die Stabilität der Strategie zu verbessern.

Strategiequellcode
/*backtest
start: 2023-02-15 00:00:00
end: 2024-02-21 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/
// © DojiEmoji

//@version=4
strategy("[KL] Bollinger Bands Consolidation Strategy",overlay=true,pyramiding=1)

// Timeframe {
backtest_timeframe_start = input(defval = timestamp("01 Apr 2016 13:30 +0000"), title = "Backtest Start Time", type = input.time)
USE_ENDTIME = input(false,title="Define backtest end-time (If false, will test up to most recent candle)")
backtest_timeframe_end = input(defval = timestamp("19 Apr 2021 19:30 +0000"), title = "Backtest End Time (if checked above)", type = input.time)
within_timeframe = true
// }

// Indicator: BOLL bands {
BOLL_length = 20//input(20,title="Periods to lookback for BOLL and ATR calc. (default 20)")
BOLL_src = close
BOLL_center = sma(BOLL_src, BOLL_length)
BOLL_sDEV_x2 = 2 * stdev(BOLL_src, BOLL_length)
BOLL_upper = BOLL_center + BOLL_sDEV_x2
BOLL_lower = BOLL_center - BOLL_sDEV_x2
plot(BOLL_center, "Basis", color=#872323, offset = 0)
BOLL_p1 = plot(BOLL_upper, "Upper", color=color.navy, offset = 0, transp=50)
BOLL_p2 = plot(BOLL_lower, "Lower", color=color.navy, offset = 0, transp=50)
fill(BOLL_p1, BOLL_p2, title = "Background", color=#198787, transp=85)
// }
// ATR and volatility Indicator {
ATR_x2 = atr(BOLL_length) * 2 // multiplier aligns with BOLL
avg_volat = sma(ATR_x2, BOLL_length)
//}

// Trailing stop loss {
var entry_price = float(0)
var trailing_SL_buffer = float(0)
var stop_loss_price = float(0)
trail_profit_line_color = color.green
UPDATE_ATR_TSL = false
if strategy.position_size == 0 or not within_timeframe // make TSL line less visible
    trail_profit_line_color := color.black
    stop_loss_price := close - trailing_SL_buffer
else if strategy.position_size > 0
    if UPDATE_ATR_TSL and ATR_x2 < trailing_SL_buffer
        trailing_SL_buffer := ATR_x2
    stop_loss_price := max(stop_loss_price, close[1] - trailing_SL_buffer)
plot(stop_loss_price,color=trail_profit_line_color)
// }


IGNORE_BOLL_SHAPE = false//input(false,title="Ignore BOLL (vs ATR) during entry (experimental)")
IGNORE_VOLATILITY = false///input(false,title="Ignore average ATR during entry (experimental)")
// Main:
if within_timeframe
    // ENTRY:
    if (ATR_x2 > BOLL_sDEV_x2 or IGNORE_BOLL_SHAPE) and (avg_volat < avg_volat[1] or IGNORE_VOLATILITY)
        if strategy.position_size == 0
            entry_price := close
            trailing_SL_buffer := ATR_x2
            stop_loss_price := close - ATR_x2
            strategy.entry("Long",strategy.long, comment="enter")
        if strategy.position_size > 0
            strategy.entry("Long",strategy.long, comment="+")

    // EXIT:
    if strategy.position_size > 0
        if low <= stop_loss_price
            if close > entry_price
                strategy.close("Long", comment="take profit")
            else if low <= entry_price
                strategy.close("Long", comment="stop loss")
    
            if strategy.position_size == 0
                entry_price := 0