
Das Trading-System, genannt Dynamic Risk Adjusted Leverage Trading System, soll den Handel auf Basis der aktuellen Marktvolatilität im Verhältnis zu ihren historischen Durchschnittswerten verwalten. Das System berechnet die Anzahl der angestrebten Positionen auf Basis der ATR (Average True Range) und passt den Leverage entsprechend an. Das System verwendet eine Pyramiden-Positionserhöhung, die es erlaubt, mehrere Positionen gleichzeitig zu eröffnen.
Die Schritte sind wie folgt:
Berechnen Sie den ATR-Wert für einen 14-Tage-ATR-Zyklus und dividieren Sie ihn durch den aktuellen Schlusskurs.
Berechnen Sie einen standardisierten 100-Tage-Einfachen Moving Average des ATR (SMA).
Berechnen Sie den Verhältnis des standardisierten ATR zu seinem 100-Tage-SMA.
Das Ziel-Leverage wird anhand der Rückwärtsbewegung des Verhältnisses ((2 / Verhältnis) bestimmt.
Die Anzahl der angestrebten Positionen wird durch die Multiplikation des Ziel-Leverages mit 5 berechnet.
Graphische Darstellung der angestrebten und der aktuellen Anzahl von Positionen.
Überprüfen Sie, ob es eine Kaufchance gibt (wenn die aktuelle Anzahl der geöffneten Positionen weniger als die Zielzahl ist) oder eine Off-Positionschance (wenn die aktuelle Anzahl der geöffneten Positionen größer ist als die Zielzahl plus 1).
Wenn es eine Kaufgelegenheit gibt, erstellen Sie mehrere Aufträge und fügen Sie die Transaktionen zum OpenTrades-Array hinzu.
Wenn eine Plateau-Chance besteht und ein Handel in der OpenTrades-Array vorhanden ist, werden die neuesten Geschäfte ausgeglichen und aus der Array entfernt.
Das System wurde entwickelt, um Markttrends durch dynamische Anpassung der Anzahl der geöffneten Positionen und Leverage zu erfassen.
Diese Strategie hat folgende Vorteile:
Dynamische Anpassung der Anzahl der Leverage und Positionen, um die Risikogrenze an die Veränderungen der Marktfluktuation anzupassen. Erhöhen Sie die Anzahl der Leverage und Positionen, wenn die Volatilität niedrig ist, und reduzieren Sie die Anzahl der Leverage und Positionen, wenn die Volatilität hoch ist, um das Risiko effektiv zu kontrollieren.
Die Verwendung des ATR-Indikators zur Berechnung der Zielpositionsanzahl, der die Marktvolatilität widerspiegelt, ist eine vernünftige Wahl für die dynamische Anpassung der Positionen.
Mit einer Pyramiden-Positionierung können Sie mehrere Positionen gleichzeitig eröffnen, um in einem Trend zu profitieren.
Durch die Verwendung von Arrays, die jede Position aufzeichnen, können Sie die Platzierung einzelner Geschäfte eindeutig kontrollieren und unnötige Umkehrungen vermeiden.
Die Strategie hat weniger Parameter und ist einfach zu implementieren und zu bedienen.
Die Strategie ist klar und verständlich, die Code-Struktur ist vernünftig, leicht zu optimieren und zu erweitern.
Die Strategie birgt auch einige Risiken:
Der ATR-Indikator spiegelt nur die Volatilität der Vergangenheit wider, und zukünftige Volatilitätsänderungen sind nicht vorhersehbar und können zu einer unangemessenen Leverage-Anpassung führen.
Pyramiden-Aufschläge können zu Verlusten führen, wenn sich der Trend umkehrt.
Array-Records sind nur für einfache Positionsöffnungen geeignet. Komplexe Positionsöffnungslogiken erfordern kompliziertere Datenstrukturen.
Die Einstellung des Ziel-Leverages und der Anzahl der Positionen muss an die Eigenschaften der Sorte angepasst werden und sollte nicht auf ein bestimmtes festes Parameter beschränkt werden.
Ein einziger Indikator kann leicht irreführend sein, und es kann in Betracht gezogen werden, andere Indikatoren für die Volatilität oder Machine-Learning-Algorithmen zu verwenden, um die Stabilität zu verbessern.
Diese Strategie kann in folgenden Bereichen optimiert werden:
Steigerung der Stop-Loss-Strategie, indem die Verluste aktiv gestoppt werden, wenn sie den Stop-Loss-Punkt erreichen.
Optimierung der Indikatorparameter und Testen der Wirksamkeit verschiedener ATR-Zyklusparameter.
Versuchen Sie, verschiedene Strategien zu verwenden, um Ihre Position zu eröffnen, z. B. eine feste Anzahl von Positionen, um zu testen, ob sie funktionieren.
Hinzu kommen andere Indikatoren zur Messung der Volatilität, wie z. B. WIDTH, KD, RSI usw. in Kombination.
Die Schwankungsraten werden mit Hilfe von maschinellen Lernmethoden ermittelt, anstelle von Simplex Smoothing.
Optimierte Berechnungsmethoden für die Anzahl der geöffneten Positionen können beispielsweise mit dem ATR-Multiplikator oder der Volatilitätsrate-Funktion verwendet werden.
Aufzeichnen von weiteren Details zur Positioneröffnung, wie zum Beispiel der Preis und die Zeit der Positioneröffnung, für die Strategieanalyse und -optimierung.
Hinzugefügt wurde die Optimierung von Parametern, um automatisch die optimale Kombination von Parametern zu finden.
Diese Strategie basiert auf der ATR-dynamischen Anpassung der Leverage und der Anzahl der geöffneten Positionen, die in den Trends der Risikogruppe Anpassung, hat einige Vorteile. Es gibt jedoch auch Probleme mit der Parameter-Einstellung Schwierigkeiten, Indikator-Optimierung Raum, die weitere Optimierung wert.
/*backtest
start: 2022-10-09 00:00:00
end: 2023-10-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("I11L - Risk Adjusted Leveraging", overlay=false, pyramiding=25, default_qty_value=20, initial_capital=20000, default_qty_type=strategy.percent_of_equity,process_orders_on_close=false, calc_on_every_tick=false)
atr = ta.atr(14) / close
avg_atr = ta.sma(atr,100)
ratio = atr / avg_atr
targetLeverage = 2 / ratio
targetOpentrades = 5 * targetLeverage
plot(targetOpentrades)
plot(strategy.opentrades)
isBuy = strategy.opentrades < targetOpentrades
isClose = strategy.opentrades > targetOpentrades + 1
var string[] openTrades = array.new_string(0)
if(isBuy)
strategy.entry("Buy"+str.tostring(array.size(openTrades)),strategy.long)
array.push(openTrades, "Buy" + str.tostring(array.size(openTrades)))
if(isClose)
if array.size(openTrades) > 0
strategy.close(array.get(openTrades, array.size(openTrades) - 1))
array.pop(openTrades)