Die Ressourcen sind geladen. Beförderung...

Erweiterte MACD-Strategie mit begrenztem Martingale

Schriftsteller:ChaoZhang, Datum: 2024-06-03 10:43:00 Uhr
Tags:MACDATR

img

Übersicht

Diese Strategie kombiniert den MACD-Indikator und die Martingale-Money-Management-Methode, um trendige Marktbewegungen zu erfassen und gleichzeitig Risiken zu kontrollieren. Die Strategie verwendet die Überschneidung der MACD-Schnelllinie und der langsamen Linie als Handelssignale und nimmt eine begrenzte Anzahl von Martingale-Ansätzen zur Kontrolle der Positionsgröße an.

Strategieprinzipien

  1. Verwenden Sie die Überschneidung der MACD-Schnelllinie (Standardperiode von 12) und der langsamen Linie (Standardperiode von 26) als Handelssignale.
  2. Die ursprüngliche Anzahl der Verträge beträgt 0,02. Wenn ein Verlusthandel auftritt, verdoppeln Sie die Anzahl der Verträge für den nächsten Handel, bis maximal dreimal. Wenn nach drei Verdoppelungen keine Rentabilität erzielt wird, setzen Sie die Anzahl der Verträge auf den ursprünglichen Wert von 0,02 zurück.
  3. Festlegen von Take-Profit-Bedingungen: Bei Long-Positionen schließen Sie die Position, wenn der Kurs um 1,5% über den Einstiegspreis steigt; bei Short-Positionen schließen Sie die Position, wenn der Preis um 1% unter den Einstiegspreis fällt.
  4. Festlegen von Stop-Loss-Bedingungen: Bei Long-Positionen schließt man die Position, wenn der Preis 1% unter den Einstiegspreis fällt; bei Short-Positionen schließt man die Position, wenn der Preis 1% über den Einstiegspreis steigt.

Strategische Vorteile

  1. Durch die Kombination des MACD-Trendindikators und der Martingale-Money-Management-Methode kann die Strategie von Trending-Märkten profitieren und gleichzeitig Abzüge kontrollieren.
  2. Die Strategie verwendet eine begrenzte Anzahl von Martingale-Ansätzen, wodurch das Risiko einer unbegrenzten Hebelwirkung vermieden wird.
  3. Es werden klare Bedingungen für die Gewinn- und Stop-Loss-Verteilung festgelegt, um die Risiken weiter zu kontrollieren.
  4. Die Code-Logik ist klar und leicht zu verstehen und umzusetzen.

Strategische Risiken

  1. Obwohl die Martingale-Methode die Anzahl der Verschuldungen begrenzt, besteht immer noch die Gefahr einer Überschuldung, die zu großen Verlusten führt.
  2. Der MACD-Indikator kann von dem Preis abweichen, wodurch Handelssignale ungültig werden.
  3. Festgelegte Take-Profit- und Stop-Loss-Verhältnisse können sich möglicherweise nicht an unterschiedliche Marktbedingungen anpassen, was zu einer vorzeitigen Gewinnaufnahme oder einem Stopp der Verluste führt.

Strategieoptimierungsrichtlinien

  1. Überlegen Sie, ob die Martingale-Leverage-Ratio und die Anzahl der Anpassungen dynamisch anhand der aktuellen Marktvolatilität und der Risikotoleranz des Kontos angepasst werden können.
  2. Kombination anderer technischer Indikatoren wie RSI und Bollinger Bands mit MACD-Signalen zur Bildung zuverlässigerer Handelssignale.
  3. Anpassung von Adaptiv-Take-Profit- und Stop-Loss-Methoden wie ATR-basierte Take-Profit- und Stop-Loss-Methoden oder dynamische Anpassung der Take-Profit- und Stop-Loss-Kennzahlen basierend auf Markttrends und Volatilität.
  4. Einführung eines Positionsmanagementmoduls zur dynamischen Anpassung der Positionsgröße jedes Handels anhand von Faktoren wie Kontobilanz und Risikotoleranz.

Zusammenfassung

Durch die Kombination des MACD-Indikators und der Martingale-Geldverwaltungsmethode versucht diese Strategie, von den Trendmärkten zu profitieren und gleichzeitig Risiken zu kontrollieren. Die Strategie-Logik ist klar und einfach umzusetzen, aber es gibt immer noch Risiken im Zusammenhang mit Martingale-Leveraging und Einschränkungen von festen Take-Profit- und Stop-Loss-Verhältnissen. In Zukunft kann die Strategie optimiert werden, indem der Hebelansatz dynamisch angepasst, Handelssignale optimiert, adaptive Take-Profit- und Stop-Loss-Methoden angenommen und Positionsmanagement implementiert wird, um die Robustheit und Rentabilität der Strategie zu verbessern.


/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 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=500)

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

// 계약수 및 이전 거래 결과 기록
var float contractSize = 0.02 // 계약 수를 0.05로 시작
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.015))
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.02 // 리셋 할 때 0.05로 리셋
        martingaleCount := 0
else
    contractSize := 0.02 // 초기화
    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