MCL-YG Volatilitäts-Breakout-Handelsstrategie


Erstellungsdatum: 2023-11-14 13:49:12 zuletzt geändert: 2023-11-14 13:49:12
Kopie: 0 Klicks: 673
1
konzentrieren Sie sich auf
1617
Anhänger

MCL-YG Volatilitäts-Breakout-Handelsstrategie

Überblick

Die Strategie nutzt Bollinger Bandbrechungen, um Handelssignale zu erkennen, und ermöglicht einen Pairing-Handel mit zwei positiven Verwandten: MCL und YG. Wenn der MCL-Preis die Bollinger Bands berührt, wird ein Plus-MCL und ein Minus-YG getätigt.

Strategieprinzip

Zuerst berechnet die Strategie die SMA-Mittellinie und die Standardabweichung StdDev auf der Grundlage der Schlusskosten in einem bestimmten Zeitraum. Dann wird jeweils eine Abweichung auf der SMA-Mittellinie hinzugefügt, um eine Oberbahn und eine Unterbahn des Brin-Bandes zu bilden.

Die Strategie verwendet die Brin-Band-Breakthrough-Trading-Strategie, bei der der Preis bei einem Aufbruch hoch und bei einem Abbruch leer ist. Die Brin-Band passt sich an Marktveränderungen an, indem sie die Kanalbreite dynamisch anpasst.

Pairing von zwei positiven Vermögenswerten, MCL und YG. Wenn MCL einen Aufschwung erzielt, zeigt dies an, dass der Preis von MCL in einem Aufwärtstrend ist. Dies bedeutet, dass mehr MCL getätigt wird, während YG ausgeschaltet wird, d. h. dass ein stärkerer Vermögenswert gekauft und ein schwächerer Vermögenswert verkauft wird, um von der Erweiterung der Preisunterschiede zwischen den beiden Vermögenswerten zu profitieren.

Strategische Vorteile

  1. Ein Brin-Band-basierter Durchbruch, der Marktlärm filtert und Trends identifiziert
  2. Mit einem Pairing von Relevant Assets kann ein positiver Alpha-Gewinn aus der Preisdifferenz der Relevant Assets erzielt werden
  3. Dynamische Anpassung der Positionsgröße zur effektiven Risikokontrolle einzelner Geschäfte
  4. Standardisierte Durchbruch-Ein- und Regression-Achs-Aus-Logik, Strategie-Logik einfach und klar

Strategisches Risiko

  1. Die falsche Einstellung der Brin-Band-Parameter kann zu einer zu hohen Handelsfrequenz oder unsichtbaren Signal führen
  2. Verringerte Korrelation zwischen den relevanten Vermögenswerten führt zu einem Rückgang der Paare, die Alpha-Einnahmen erzielen
  3. Breakouts sind leicht zu betrügen durch falsche Breakouts in schwankenden Märkten, was zu Verlusten führt.
  4. Unschadensverluste, die zu einer Vergrößerung der Einzelschäden führen können

Risiken können durch Optimierung von Parametern, die Auswahl relevanterer und liquiderer Handelspartner und die Einrichtung einer angemessenen Stop-Loss-Position verringert werden.

Strategieoptimierung

  1. Optimierung von Brin-Band-Parametern, um die beste Kombination zu finden
  2. Testen Sie mehr relevante Vermögenswerte als Gegenstand des Handels und wählen Sie eine Kombination mit höherer Relevanz
  3. Erhöhung der Stop-Loss-Logik und Begrenzung der Einzelschäden
  4. Mehr Filterbedingungen, um zu verhindern, dass man von falschen Durchbrüchen betrogen wird
  5. In Kombination mit anderen Indikatoren, wie der Bestätigung der Transaktionsmenge, wurde der Wechsel in die Timing-Plattform vorgenommen.

Zusammenfassen

Die Strategie ist insgesamt relativ einfach und direkt, um Trends durch Brin-Band zu erfassen und Paare zu kaufen, um Alpha-Gewinn zu erzielen. Es gibt jedoch Optimierungsmöglichkeiten wie Parameteroptimierung, Stop-Loss und Paarewahl. Durch das Testen verschiedener Parameter, Handelsobjekte und die richtige Einführung von Trendfiltern und anderen Methoden können bessere Strategieeffekte erzielt werden.

Strategiequellcode
/*backtest
start: 2022-11-07 00:00:00
end: 2023-11-13 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/
// © shark792

//@version=5

// 1. Define strategy settings
strategy(title="MCL-YG Pair Trading Strategy", overlay=true,
     pyramiding=0, initial_capital=10000,
     commission_type=strategy.commission.cash_per_order,
     commission_value=4, slippage=2)

smaLength = input.int(title="SMA Length", defval=20)
stdLength = input.int(title="StdDev Length", defval=20)

ubOffset = input.float(title="Upper Band Offset", defval=1, step=0.5)
lbOffset = input.float(title="Lower Band Offset", defval=1, step=0.5)

usePosSize = input.bool(title="Use Position Sizing?", defval=true)
riskPerc   = input.float(title="Risk %", defval=0.5, step=0.25)


// 2. Calculate strategy values
smaValue = ta.sma(close, smaLength)
stdDev   = ta.stdev(close, stdLength)

upperBand = smaValue + (stdDev * ubOffset)
lowerBand = smaValue - (stdDev * lbOffset)

riskEquity  = (riskPerc / 100) * strategy.equity
atrCurrency = (ta.atr(20) * syminfo.pointvalue)
posSize     = usePosSize ? math.floor(riskEquity / atrCurrency) : 1


// 3. Output strategy data
plot(series=smaValue, title="SMA", color=color.teal)

plot(series=upperBand, title="UB", color=color.green,
     linewidth=2)
plot(series=lowerBand, title="LB", color=color.red,
     linewidth=2)


// 4. Determine long trading conditions
enterLong = ta.crossover(close, upperBand)
exitLong  = ta.crossunder(close, smaValue)


// 5. Code short trading conditions
enterShort = ta.crossunder(close, lowerBand)
exitShort  = ta.crossover(close, smaValue)


// 6. Submit entry orders
if enterLong
    strategy.entry(id="EL", direction=strategy.long, qty=posSize)

if enterShort
    strategy.entry(id="ES", direction=strategy.short, qty=posSize)


// 7. Submit exit orders
strategy.close(id="EL", when=exitLong)
strategy.close(id="ES", when=exitShort)