Mehrschichtige Volatilitätsband-Handelsstrategie

SMA EMA SMMA WMA VWMA ATR
Erstellungsdatum: 2024-07-31 14:08:36 zuletzt geändert: 2024-07-31 14:08:36
Kopie: 1 Klicks: 583
1
konzentrieren Sie sich auf
1617
Anhänger

Mehrschichtige Volatilitätsband-Handelsstrategie

Überblick

Die Multi-Layer Band Trading Strategie ist eine quantitative Handelsmethode, die auf Preisvolatilität basiert. Die Strategie nutzt mehrere Schwankungen, um überkaufte und überverkaufte Bereiche des Marktes zu identifizieren und zu handeln, wenn die Preise diese Bereiche berühren. Die Kernidee der Strategie besteht darin, Positionen zu erstellen, wenn die Preise vom Mittelwert abweichen, und zu profitieren, wenn sie zurückkehren.

Strategieprinzip

  1. Mittellinienberechnung: Die Strategie berechnet die Referenzlinie mit einem beliebigen Mittellinientyp (SMA, EMA, SMMA, WMA, VWMA).

  2. Bandset: Ein Multilevel-Bandset mit Standarddifferenz multipliziert mit einer Multilevel-Bandset auf Basis einer Basislinie.

  3. Fibonacci-Levels: Fibonacci-Rücktritts-Levels ((23.6%, 38.2%, 50%, 61.8%) werden genutzt, um die Bandbreite zu segmentieren und mehr Handelsmöglichkeiten zu schaffen.

  4. Dynamische Anpassung: Die Dynamische Multiplikatoren können optional verwendet werden, um die Bandbreite automatisch an die ATR (Average True Range) anzupassen.

  5. Eintrittslogik: Wenn der Preis eine Bandbreite berührt oder überschreitet, wird eine Position in diese Richtung eingerichtet.

  6. Gewinnaufstockung: Die Strategie erhöht die Position in den weiteren Bandbreiten, wenn der Preis sich weiter in eine ungünstige Richtung bewegt, was die Martingale Strategie widerspiegelt.

  7. Exit-Logik: Sie können einen Ausgleichsgewinn auswählen, wenn der Preis zur Basislinie zurückkehrt. Sie können auch einen Ausgleichsgewinn auswählen, wenn der Preis die Basislinie überschreitet.

Strategische Vorteile

  1. Multi-Level-Entry: Die Strategie bietet mehr Handelsmöglichkeiten, indem sie mehrere Bandbreiten und Fibonacci-Levels anbietet, um die Marktschwankungen bei verschiedenen Preisniveaus zu erfassen.

  2. Flexibilität: Die Strategie erlaubt dem Benutzer, verschiedene Linienarten, Perioden und Parameter zu wählen, um sich an verschiedene Marktumgebungen und Handelsarten anzupassen.

  3. Dynamische Anpassung: Die optional verfügbare Dynamische Multiplikator-Funktion ermöglicht die automatische Anpassung der Strategie an die Marktschwankungen und erhöht die Anpassung der Strategie.

  4. Risikomanagement: Die Strategie versucht, den durchschnittlichen Einstiegspreis zu senken, um die Wahrscheinlichkeit eines endgültigen Gewinns zu erhöhen, indem Positionen in einem ungünstigen Trend erhöht werden.

  5. Die Strategie basiert auf der Idee, dass der Preis letztendlich zum Mittelwert zurückkehrt, was in vielen Märkten und Zeitrahmen gut funktioniert.

  6. Anpassbarkeit: Benutzer können Parameter wie Anzahl der Aktien, Fibonacci-Gleichgewicht anpassen, um ihre Risikopräferenzen und ihren Handelsstil anzupassen.

Strategisches Risiko

  1. Risiken von anhaltenden Verlusten: In einem stark trendigen Markt können die Preise mehrere Schwankungsbereiche durchbrechen, was zu anhaltenden Anlagerungen und großen Verlusten führt.

  2. Der Druck auf die Vermögensverwaltung: Die Martin-Engels-Strategie könnte zu einem starken Anstieg der Geldnachfrage führen, der über die Ertragskraft des Kontos hinausgeht.

  3. Übertriebenheit: Die Vielschichtbandbreite kann zu viele Handelssignale in einem schwankenden Markt erzeugen, was zu höheren Handelskosten führt.

  4. Parameter-Sensitivität: Strategie-Performance hängt stark von den Parameter-Einstellungen ab, und falsche Parameter können zu einer schlechten Strategie-Performance führen.

  5. Schlupfpunkte und Liquiditätsrisiken: Es kann zu schweren Schlupfpunkten kommen, besonders wenn die Marktschwankungen stark sind.

  6. Rücknahme-Risiken: Während die Strategie darauf abzielt, die durchschnittlichen Kosten durch die Verlagerung zu senken, kann es unter extremen Marktbedingungen zu starken Rücknahmen kommen.

Richtung der Strategieoptimierung

  1. Einführung eines Trendfilters: Sie können einen langfristigen Trendindikator hinzufügen, nur in Richtung der Tendenz zu handeln und vermeiden Sie häufige Gegenhandelsgeschäfte in starken Trends.

  2. Dynamische Positionsverwaltung: Die Anzahl der Aktien pro Handel wird entsprechend der Größe des Kontos und der dynamischen Marktschwankungen angepasst, um das Risiko besser zu kontrollieren.

  3. Optimierte Ausstiegsmechanismen: Ein Trailing Stop oder ein dynamischer Stop, der auf Volatilität basiert, kann in Betracht gezogen werden, um die Gewinne besser zu sichern und das Risiko zu kontrollieren.

  4. Erhöhung der Zeitfilterung: Hinzufügen von Zeitfensterbeschränkungen für den Handel, um Zeiten mit hoher oder geringer Volatilität zu vermeiden.

  5. Integration von Marktstimmungskennzahlen: Kombination von Volatilitätsindikatoren wie VIX, um Strategieparameter während hoher Volatilität anzupassen oder den Handel auszusetzen.

  6. Einführung von maschinellem Lernen: Dynamische Optimierung von Parametern mit maschinellen Lernalgorithmen zur Verbesserung der Anpassungsfähigkeit von Strategien an Marktveränderungen.

  7. Erhöhung der Fundamentaldaten-Filterung: In Kombination mit den Fundamentaldaten werden nur bestimmte Fundamentaldaten zugelassen, um die Qualität der Transaktionen zu verbessern.

Zusammenfassen

Die Multi-Level Band-Trading-Strategie ist ein komplexes Handelssystem, das technische Analyse, Wahrscheinlichkeitstheorie und Risikomanagement kombiniert. Es versucht, Gewinne aus Preisschwankungen durch mehrere Eingangspunkte und eine Martin-Engels-Methode zu erfassen. Die Vorteile der Strategie liegen in ihrer Flexibilität und der Nutzung von Rückläufen auf den Durchschnittswert, aber gleichzeitig mit Risiken in einem stark trendigen Markt.

Um diese Strategie erfolgreich anzuwenden, benötigt der Händler ein tiefes Verständnis für die Merkmale des Marktes, sorgfältige Einstellung der Parameter und strenge Risikomanagement. Durch kontinuierliche Optimierung und Rückmeldung, kombiniert mit Einsichten in den Markt, hat diese Strategie das Potenzial, ein wirksames Handelsinstrument zu werden.

Insgesamt bietet die Multi-Layer Band Trading Strategie einen interessanten und herausfordernden Rahmen für quantitative Trader, deren erfolgreiche Anwendung technische Analysefähigkeiten, Risikomanagement-Fähigkeiten und kontinuierliche Strategieoptimierung erfordert.

Strategiequellcode
/*backtest
start: 2024-06-30 00:00:00
end: 2024-07-30 00:00:00
period: 2h
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/
// © abtov

//@version=5
strategy("Spider Strategy", overlay=true)

ma(source, length, type) =>
    switch type
        "SMA" => ta.sma(source, length)
        "Bollinger Bands" => ta.sma(source, length)
        "EMA" => ta.ema(source, length)
        "SMMA (RMA)" => ta.rma(source, length)
        "WMA" => ta.wma(source, length)
        "VWMA" => ta.vwma(source, length)

stdev = input.int(56, "STDEV", group="Stdev")
mult = input.float(2.3, "Multiplier", group="Stdev")
ma_len = input.int(230, "Basis Length", group="Stdev")
ma_type = input.string("SMA", title="MA Type", options=["SMA", "Bollinger Bands", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="Stdev")
auto_mult = input.bool(true, "Dynamic Mult.", group="Stdev")
basis_exit = input.bool(false, "Basis Exit", group="Stdev")

col_int = input.int(12, "Collective Value", group="Collective")
col_input = input.bool(true, "Collective Input", group="Collective")


fib1 = input.float(0.236, "Fibonacci Level 1", group = "Fibonacci")
fib2 = input.float(0.382, "Fibonacci Level 2", group = "Fibonacci")
fib3 = input.float(0.5, "Fibonacci Level 3", group = "Fibonacci")
fib4 = input.float(0.618, "Fibonacci Level 4", group = "Fibonacci")

atr_len = input.int(30, "ATR", group="ATR")
atr_bias = input.float(0.72, "Bias", group="ATR")

shares = input.int(1, "Shares Amount", group="Strategy")

if(col_input == true)
    stdev := col_int
    ma_len := col_int
    atr_len := col_int

if(auto_mult == true)
    mult := ma(ta.tr(true), atr_len, ma_type) * atr_bias


basis = ma(close, ma_len, ma_type)
lower = basis - stdev * mult
upper = basis + stdev * mult

lower2 = basis - stdev * mult * fib1
upper2 = basis + stdev * mult * fib1

lower3 = basis - stdev * mult * fib2
upper3 = basis + stdev * mult * fib2

lower4 = basis - stdev * mult * fib3
upper4 = basis + stdev * mult * fib3

lower5 = basis - stdev * mult * fib4
upper5 = basis + stdev * mult * fib4


var lowerAct = false
var lower2Act = false
var lower3Act = false
var lower4Act = false
var lower5Act = false

var upperAct = false
var upper2Act = false
var upper3Act = false
var upper4Act = false
var upper5Act = false


plot(upper, "limit short", color.red)
plot(upper2, "limit 1 short", color.red)
plot(upper3, "limit 2 short", color.red)
plot(upper4, "limit 3 short", color.red)
plot(upper5, "limit 4 short", color.red)
plot(basis, "basis", color.white)
plot(lower, "limit long", color.green)
plot(lower2, "limit 1 long", color.green)
plot(lower3, "limit 2 long", color.green)
plot(lower4, "limit 3 long", color.green)
plot(lower5, "limit 4 long", color.green)


if(lowerAct == false)
    if(close < lower)
        strategy.entry("long", strategy.long, shares)
        lowerAct := true
else
    if(low > basis)
        lowerAct := false


if(lower2Act == false)
    if(close < lower2)
        strategy.entry("long", strategy.long, shares)
        lower2Act := true
else
    if(low > basis)
        lower2Act := false


if(lower3Act == false)
    if(close < lower3)
        strategy.entry("long", strategy.long, shares)
        lower3Act := true
else
    if(low > basis)
        lower3Act := false


if(lower4Act == false)
    if(close < lower4)
        strategy.entry("long", strategy.long, shares)
        lower4Act := true
else
    if(low > basis)
        lower4Act := false


if(lower5Act == false)
    if(close < lower5)
        strategy.entry("long", strategy.long, shares)
        lower5Act := true
else
    if(low > basis)
        lower5Act := false





if(upperAct == false)
    if(close > upper)
        strategy.entry("short", strategy.short, shares)
        upperAct := true
else
    if(high < basis)
        upperAct := false


if(upper2Act == false)
    if(close > upper2)
        strategy.entry("short", strategy.short, shares)
        upper2Act := true
else
    if(high < basis)
        upper2Act := false


if(upper3Act == false)
    if(close > upper3)
        strategy.entry("short", strategy.short, shares)
        upper3Act := true
else
    if(high < basis)
        upper3Act := false


if(upper4Act == false)
    if(close > upper4)
        strategy.entry("short", strategy.short, shares)
        upper4Act := true
else
    if(high < basis)
        upper4Act := false


if(upper5Act == false)
    if(close > upper5)
        strategy.entry("short", strategy.short, shares)
        upper5Act := true
else
    if(high < basis)
        upper5Act := false


if((ta.crossover(close, basis) and basis_exit == true))
    strategy.close("short")
    strategy.close("long")