Fortgeschrittene MACD-Strategie basierend auf begrenztem Martingal

MACD MA
Erstellungsdatum: 2024-05-11 17:24:43 zuletzt geändert: 2024-05-11 17:24:43
Kopie: 0 Klicks: 442
1
konzentrieren Sie sich auf
1222
Anhänger

Fortgeschrittene MACD-Strategie basierend auf begrenztem Martingal

Überblick

Die Strategie kombiniert MACD-Indikatoren und eine begrenzte Martingale-Finanzmanagement-Methode, um die Handelschancen bei Veränderungen der Markttrends zu erfassen. Es gibt ein Kaufsignal bei der Aufnahme von MACD-Schnelllinien und -Langlinien und ein Verkaufssignal bei der Aufnahme von Deadlines. Die Strategie verwendet auch eine begrenzte Martingale-Methode, um Rücktritte zu kontrollieren, mit maximal drei Positionen.

Strategieprinzip

  1. Berechnen Sie die schnellen, langsamen und Signalleitungen des MACD-Indikators.
  2. Die Schnell- und Langstrecken-Kreuzung, die Überschneidung der Gold- und die Überschneidung der Todesstrecke.
  3. Setzen Sie eine feste Einzeltransaktionsmenge ((0.01) )
  4. Die Nettoerträge eines Geschäfts werden aufgezeichnet.
  5. Wenn der aktuelle Nettoertrag kleiner ist als der der letzten Transaktion und die Anzahl der Auflagen weniger als 3 ist, wird die Menge der nächsten Transaktion verdoppelt, die Anzahl der Auflagen plus 1; andernfalls werden die Menge der Transaktionen und die Anzahl der Auflagen neu gesetzt.
  6. Für jede Überschreibung wird bei einem Preisanstieg von 1% ein Stop-Loss und bei einem Preisrückgang von 1% ein Stop-Loss getätigt; bei einer leeren Bestellung umgekehrt.
  7. Markieren Sie die Kauf- und Verkaufspunkte auf der Grafik.

Strategische Vorteile

  1. In Kombination mit dem Trend-Tracking-Indikator MACD und der Martingale-Finanzverwaltung ist es möglich, Trends besser zu verstehen.
  2. Die Einrichtung eines festen Stop-Loss-Systems kontrolliert das Risiko eines einzelnen Handels.
  3. Mit begrenzten Martingale-Aufschlägen kann man höhere Gewinne erzielen, wenn sich der Trend fortsetzt.
  4. Das Risiko eines Ausbruchs durch übermäßige Anlagerung wird dadurch vermieden.
  5. Die Diagramme markieren die Kauf- und Verkaufssignale, um die Effektivität der Strategie zu beobachten.

Strategisches Risiko

  1. Der MACD-Indikator kann sich von den Preisen ablenken, was zu Fehleinschätzungen führt.
  2. Ein fester Stop-Loss-Anteil kann zu einem größeren Gewinnraum führen oder zu größeren Verlusten führen.
  3. Die Martingale-Positionen sind zwar auf maximal drei Aufschläge beschränkt, aber es besteht die Gefahr, dass sie bei einem Erschütterungsschub ausbrechen.
  4. Die Strategie berücksichtigt nicht die ungewöhnlichen Marktschwankungen, wie z. B. die augenblicklichen Sprünge, die dazu führen können, dass der Handel nicht wie erwartet abläuft.

Richtung der Strategieoptimierung

  1. Es kann in Betracht gezogen werden, Trendbestätigungsindikatoren wie MA einzuführen, um MACD-Signale zu filtern.
  2. Optimierung der Stop-Loss-Einstellungen, z. B. mit ATR oder Prozentsatz als dynamischer Stop.
  3. Optimierung der Anzahl und des Anteils der Einlagen zur Kontrolle des Rücknahmerisikos.
  4. Es gibt eine Reihe von Maßnahmen, um auf außergewöhnliche Ereignisse zu reagieren, wie z. B. die Aussetzung des Handels, wenn die Preise springen.
  5. Erwägen Sie die Einführung eines Positionsmanagements, um die Positionen dynamisch an die Marktfluktuation anzupassen.

Zusammenfassen

Die Strategie kann Trends durch MACD-Indikatoren erfassen und mit begrenzten Martingale-Kontrollrückgängen in Trendschlägen gute Ergebnisse erzielen. Die Strategie birgt jedoch bestimmte Risiken, wie z. B. Signalfehler, feste Stop-Losses. Die Robustheit und Ertragsfähigkeit der Strategie können durch die Einführung anderer Indikatoren, optimierte Parameter-Einstellungen und Positionsmanagement weiter verbessert werden.

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

//@version=5
strategy("Advanced MACD Strategy with Limited Martingale", overlay=true, initial_capital=100)

// MACD 설정
fastLength = 15
slowLength = 30
signalSmoothing = 9
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSmoothing)

// 계약수 및 이전 거래 결과 기록
var float contractSize = 0.01
var int martingaleCount = 0 // 마틴게일 카운트
var float lastTradeResult = 0

// 매수 및 매도 조건
longCondition = ta.crossover(macdLine, signalLine)
shortCondition = ta.crossunder(macdLine, signalLine)

// 매수 신호
if (longCondition)
    strategy.entry("Long", strategy.long, qty=contractSize)
    lastTradeResult := strategy.netprofit

// 매도 신호
if (shortCondition)
    strategy.entry("Short", strategy.short, qty=contractSize)
    lastTradeResult := strategy.netprofit

// 익절 및 손절 조건
strategy.close("Long", when=(close / strategy.position_avg_price >= 1.01))
strategy.close("Short", when=(strategy.position_avg_price / close >= 1.01))
strategy.close("Long", when=(close / strategy.position_avg_price <= 0.99))
strategy.close("Short", when=(strategy.position_avg_price / close <= 0.99))

// 마틴게일 전략 적용
if (strategy.netprofit < lastTradeResult)
    if (martingaleCount < 3)
        contractSize := contractSize * 2
        martingaleCount := martingaleCount + 1
    else
        contractSize := 0.01
        martingaleCount := 0
else
    contractSize := 0.01
    martingaleCount := 0

// 매수, 매도 포인트 화살표로 표시
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="Buy")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell")