Les ressources ont été chargées... Je charge...

Stratégie MACD avancée avec Martingale limité

Auteur:ChaoZhang est là., Date: 2024-06-03 à 10h43
Les étiquettes:Le MACDATR

img

Résumé

Cette stratégie combine l'indicateur MACD et la méthode de gestion de l'argent Martingale pour capturer les mouvements de tendance du marché tout en contrôlant les risques. La stratégie utilise le croisement de la ligne rapide MACD et de la ligne lente comme signaux de trading, et adopte un nombre limité d'approches Martingale pour contrôler la taille de la position.

Principes de stratégie

  1. Utilisez le croisement de la ligne rapide du MACD (période par défaut de 12) et de la ligne lente (période par défaut de 26) comme signaux de trading.
  2. Le nombre initial de contrats est de 0,02. Lorsqu'une transaction perdante se produit, doublez le nombre de contrats pour la transaction suivante, jusqu'à un maximum de trois fois. Si la rentabilité n'est pas atteinte après trois doublons, réinitialisez le nombre de contrats à la valeur initiale de 0,02.
  3. Définir les conditions de prise de profit: pour les positions longues, fermer la position lorsque le prix augmente de 1,5% par rapport au prix d'entrée; pour les positions courtes, fermer la position lorsque le prix tombe de 1% en dessous du prix d'entrée.
  4. Définir les conditions de stop-loss: pour les positions longues, fermer la position lorsque le prix tombe de 1% sous le prix d'entrée; pour les positions courtes, fermer la position lorsque le prix augmente de 1% au-dessus du prix d'entrée.

Les avantages de la stratégie

  1. En combinant l'indicateur de suivi de tendance MACD et la méthode de gestion de l'argent Martingale, la stratégie peut tirer profit de la tendance des marchés tout en contrôlant les retraits.
  2. La stratégie utilise un nombre limité d'approches de Martingale, évitant ainsi le risque d'effet de levier illimité.
  3. Des conditions claires de prise de bénéfices et de stop-loss sont fixées, ce qui permet de contrôler davantage les risques.
  4. La logique du code est claire et facile à comprendre et à mettre en œuvre.

Risques stratégiques

  1. Bien que la méthode Martingale limite le nombre d'effet de levier, il existe toujours un risque d'effet de levier excessif, entraînant des pertes importantes.
  2. L'indicateur MACD peut dévier du prix, ce qui rend les signaux de négociation invalides.
  3. Les ratios fixes de prise de bénéfices et de cessation des pertes peuvent ne pas s'adapter aux différentes conditions du marché, ce qui entraîne une prise prématurée de bénéfices ou une cessation des pertes.

Directions d'optimisation de la stratégie

  1. Envisager d'ajuster dynamiquement le ratio d'effet de levier Martingale et le nombre de fois en fonction de la volatilité actuelle du marché et de la tolérance au risque du compte.
  2. Combinez d'autres indicateurs techniques tels que le RSI et les bandes de Bollinger avec les signaux MACD pour former des signaux de trading plus fiables.
  3. Adopter des méthodes adaptatives de prise de profit et de stop-loss, telles que la prise de profit et le stop-loss basés sur l'ATR, ou ajuster dynamiquement les ratios de prise de profit et de stop-loss en fonction des tendances et de la volatilité du marché.
  4. Mettre en place un module de gestion des positions permettant d'ajuster dynamiquement la taille des positions de chaque transaction en fonction de facteurs tels que le solde du compte et la tolérance au risque.

Résumé

En combinant l'indicateur MACD et la méthode de gestion de l'argent Martingale, cette stratégie cherche à tirer profit des marchés en tendance tout en contrôlant les risques. La logique de la stratégie est claire et facile à mettre en œuvre, mais il existe toujours des risques associés à l'effet de levier Martingale et des limitations des ratios fixes de prise de profit et de stop-loss.


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

Relationnée

Plus de