Die Ressourcen sind geladen. Beförderung...

Erweiterte MACD-Strategie mit begrenztem Martingale

Schriftsteller:ChaoZhang, Datum: 2024-05-11 17:24:43
Tags:MACD- Nein.

img

Übersicht

Diese Strategie kombiniert den MACD-Indikator mit einer begrenzten Martingale-Money-Management-Methode, um Handelschancen zu erfassen, wenn sich die Markttrends ändern. Ein Kaufsignal wird erzeugt, wenn die MACD-Schnelllinie über die langsame Linie überschreitet, und ein Verkaufssignal wird erzeugt, wenn die schnelle Linie unter die langsame Linie überschreitet. Gleichzeitig verwendet die Strategie eine begrenzte Martingale-Methode, um Drawdowns zu kontrollieren, mit maximal 3 zusätzlichen Positionen. Die Strategie setzt einen festen Take-Profit und einen Stop-Loss von 1% für jeden Trade fest.

Strategieprinzipien

  1. Berechnen Sie die schnelle Linie, die langsame Linie und die Signallinie des MACD-Indikators.
  2. Ermitteln Sie die Kreuzung der schnellen und langsamen Linien, wobei bei einem bullischen Kreuzung lang und bei einem bärischen Kreuzung kurz gehen.
  3. Festlegen eines festen Handelsvolumens (0,01) für jeden Handel.
  4. Der Nettogewinn des vorangegangenen Handels wird erfasst.
  5. Wenn der aktuelle Nettogewinn geringer ist als der vorherige Handel und die Anzahl der zusätzlichen Positionen kleiner als 3 ist, verdoppeln Sie das nächste Handelsvolumen und erhöhen Sie die Anzahl der zusätzlichen Positionen um 1; andernfalls setzen Sie das Handelsvolumen und die Anzahl der zusätzlichen Positionen zurück.
  6. Für jede Long-Position werden Gewinne erzielt, wenn der Kurs um 1% steigt, und Stop-Loss, wenn er um 1% sinkt; umgekehrt für Short-Positionen.
  7. Markieren Sie Kauf- und Verkaufspunkte auf dem Diagramm.

Strategische Vorteile

  1. Kombiniert den MACD-Trendindikator mit dem Martingale-Geldmanagement, mit dem sich Trends besser erfassen lassen.
  2. Festgesetzte Gewinn- und Stop-Loss-Niveaus zur Kontrolle des individuellen Handelsrisikos.
  3. Verwendet eine begrenzte Martingale-Positionsgröße, um höhere Renditen zu erzielen, wenn sich Trends fortsetzen.
  4. Beschränkt die maximale Anzahl der zusätzlichen Positionen auf 3, wodurch das Risiko einer übermäßigen Positionsgröße, die zu Kontoausbrüchen führt, vermieden wird.
  5. Marken kaufen und verkaufen Signale auf dem Chart für eine einfache Beobachtung der Strategieleistung.

Strategische Risiken

  1. Der MACD-Indikator kann zwischen Signalen und Preis abweichen, was zu Fehleinschätzungen führen kann.
  2. Bei festen Take-Profit- und Stop-Loss-Verhältnissen können größere Gewinnchancen verpasst oder größere Verluste entstehen.
  3. Obwohl die Martingale-Positionsgröße auf 3 Mal beschränkt ist, besteht bei aufeinanderfolgenden Verlusten auf unruhigen Märkten immer noch die Gefahr von Kontoausbrüchen.
  4. Die Strategie berücksichtigt keine abnormalen Marktschwankungen, wie plötzliche Lücken, die zu einer Unfähigkeit zur Erfüllung der Erwartungen führen können.

Strategieoptimierungsrichtlinien

  1. Es sollte in Erwägung gezogen werden, Trendbestätigungsindikatoren wie MA einzuführen, um MACD-Signale zu filtern.
  2. Optimieren Sie die Einstellungen für Take Profit und Stop Loss, z. B. ATR oder Prozentsätze für dynamische Stop Loss.
  3. Optimierung der Anzahl und des Verhältnisses von zusätzlichen Positionen zur Kontrolle des Zugriffsrisikos.
  4. Einrichtung von Mechanismen zur Bewältigung von abnormalen Marktbedingungen, z. B. Aussetzung des Handels bei Preisunterschieden.
  5. Es sollte in Erwägung gezogen werden, eine Positionsgröße einzuführen, um Positionen dynamisch anhand der Marktvolatilität anzupassen.

Zusammenfassung

Diese Strategie erfasst Trends durch den MACD-Indikator, während begrenzte Martingale zur Steuerung von Drawdowns verwendet werden, die gute Ergebnisse in Trendmärkten erzielen können. Die Strategie birgt jedoch auch bestimmte Risiken wie Signalversagen und feste Stop-Losses. Durch die Einführung anderer Indikatoren, die Optimierung von Parameter-Einstellungen, Positionsgrößen und andere Methoden können die Robustheit und Rentabilität dieser Strategie weiter verbessert werden.


/*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")

Verwandt

Mehr