Stratégie de convergence intrajournalière des limites du ratio MACD et R:R

MACD
Date de création: 2024-06-03 16:47:56 Dernière modification: 2024-06-03 16:47:56
Copier: 3 Nombre de clics: 611
1
Suivre
1617
Abonnés

Stratégie de convergence intrajournalière des limites du ratio MACD et R:R

Aperçu

La stratégie décide des signaux de négociation en fonction de la convergence et de la dispersion de l’indicateur MACD. Elle génère des signaux de plus et de moins lorsque les lignes MACD se croisent et que la valeur de la ligne MACD est supérieure à 1,5 ou inférieure à 1,5. En outre, la stratégie définit un point d’arrêt fixe et introduit le concept de rapport de retour sur risque (R: R).

Principe de stratégie

  1. Calculer les lignes MACD et les lignes de signal de l’indicateur MACD.
  2. Jugez l’intersection de la ligne MACD avec la ligne de signal, en tenant compte du fait que la valeur de la ligne MACD dépasse un certain seuil ((1,5 et -1,5)).
  3. Lorsqu’un signal de prise de plus apparaît, ouvrez une position de prise de plus, en réglant le prix d’arrêt sur le prix maximum actuel + 600 unités de moindre variation, et le prix d’arrêt sur le prix minimum actuel - 100 unités de moindre variation.
  4. Lorsqu’un signal de prise de risque apparaît, ouvrez une position de prise de risque, en définissant le prix d’arrêt comme étant le prix le plus bas actuel - 600 unités de moindre variation, et le prix d’arrêt comme étant le prix le plus élevé actuel + 100 unités de moindre variation.
  5. Introduction d’une logique de stop-loss mobile, lorsque le prix est supérieur à 300 unités de variation minimale par rapport au prix d’ouverture de la position, le prix de stop-loss est déplacé vers le prix d’ouverture de la position + le prix de clôture de la position - le prix d’ouverture de la position - 300) ou le prix d’ouverture de la position - le prix d’ouverture de la position - le prix de clôture de la position - 300).
  6. Définissez une limite de perte maximale et de profit maximal pour la journée, et effacez toutes les positions lorsque la perte atteint 600 unités minimales de variation ou que le profit atteint 1800 unités minimales de variation.

Analyse des avantages

  1. Combinant l’indicateur MACD avec les conditions de dépréciation des prix, il filtre efficacement certains signaux de bruit.
  2. Le ratio de risque/rendement est fixe (R:R) et le risque/rendement par transaction est maîtrisé.
  3. La logique de stop loss mobile protège les bénéfices après la formation d’une tendance et réduit les retraits.
  4. Les limites de pertes et de bénéfices maximaux au jour contribuent à contrôler l’ouverture de risque au jour le jour et à éviter les pertes ou les bénéfices excessifs.

Analyse des risques

  1. Le MACD est en retard et peut être retardé ou faussé.
  2. Les points de stop-loss fixes peuvent ne pas s’adapter aux différentes conditions du marché et peuvent souvent déclencher des stop-loss dans des conditions de choc.
  3. La logique de stop-loss mobile peut ne pas être en mesure d’arrêter la perte en temps opportun lorsque la tendance est inversée, entraînant un retour de profit.
  4. La limitation des pertes maximales et des bénéfices au cours d’une journée peut entraîner une stratégie de liquidation prématurée et la perte de bénéfices potentiels lorsque la tendance du marché d’une journée est claire.

Direction d’optimisation

  1. Considérez l’utilisation d’indicateurs MACD sur plusieurs périodes pour confirmer le signal et améliorer l’exactitude du signal.
  2. Adapter le point d’arrêt en fonction de la dynamique de la volatilité du marché pour s’adapter aux différentes conditions du marché.
  3. Optimisation de la logique de stop mobile, comme la définition d’une distance de stop mobile en fonction de l’indicateur ATR, pour mieux s’adapter aux fluctuations des prix.
  4. Optimiser les paramètres de la limite maximale de perte et de profit au cours d’une journée, trouver les valeurs de limite appropriées, capturer les tendances tout en contrôlant les risques.

Résumer

La stratégie juge les signaux de négociation par le convergence et la dispersion des indicateurs MACD, et introduit des mesures de contrôle des risques telles que le ratio de rendement des risques, les arrêts mobiles et les limites journalières. Bien que la stratégie soit capable de capturer les tendances et de contrôler les risques dans une certaine mesure, il reste encore de la place pour l’optimisation et l’amélioration.

Code source de la stratégie
/*backtest
start: 2023-05-28 00:00:00
end: 2024-06-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © DD173838

//@version=5
strategy("MACD Convergence Strategy with R:R, Daily Limits, and Tighter Stop Loss", overlay=true, default_qty_type=strategy.fixed, default_qty_value=1)

// MACD settings
fastLength = input.int(12, title="Fast Length", minval=1)
slowLength = input.int(26, title="Slow Length", minval=1)
signalSmoothing = input.int(9, title="Signal Smoothing", minval=1)
source = input(close, title="Source")

// Calculate MACD
[macdLine, signalLine, _] = ta.macd(source, fastLength, slowLength, signalSmoothing)

// Plot MACD and signal line
plot(macdLine, title="MACD Line", color=color.blue)
plot(signalLine, title="Signal Line", color=color.red)

// Define convergence conditions
macdConvergenceUp = ta.crossover(macdLine, signalLine) and macdLine > 1.5
macdConvergenceDown = ta.crossunder(macdLine, signalLine) and macdLine < -1.5

// Define take profit and stop loss

        
    
takeProfit = 600
stopLoss = 100

// Plot buy and sell signals on the chart
plotshape(series=macdConvergenceDown, title="Short Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SHORT")
plotshape(series=macdConvergenceUp, title="Long Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="LONG")

// Execute short and long orders with defined take profit and stop loss
if (macdConvergenceDown)
    strategy.entry("Short", strategy.short, qty=1, stop=high + (stopLoss / syminfo.mintick), limit=low - (takeProfit / syminfo.mintick))

if (macdConvergenceUp)
    strategy.entry("Long", strategy.long, qty=1, stop=low - (stopLoss / syminfo.mintick), limit=high + (takeProfit / syminfo.mintick))

// Trailing stop logic
var float entryPrice = na
var float trailingStopPrice = na

if (strategy.position_size != 0)
    entryPrice := strategy.opentrades.entry_price(0)

if (strategy.position_size > 0)  // For long positions
    if (close - entryPrice > 300)
        trailingStopPrice := entryPrice + (close - entryPrice - 300)

if (strategy.position_size < 0)  // For short positions
    if (entryPrice - close > 300)
        trailingStopPrice := entryPrice - (entryPrice - close - 300)

if (strategy.position_size > 0 and not na(trailingStopPrice) and close < trailingStopPrice)
    strategy.close("Long", comment="Trailing Stop")

if (strategy.position_size < 0 and not na(trailingStopPrice) and close > trailingStopPrice)
    strategy.close("Short", comment="Trailing Stop")

// Daily drawdown and profit limits
var float startOfDayEquity = na
if (na(startOfDayEquity) or ta.change(time('D')) != 0)
    startOfDayEquity := strategy.equity

maxDailyLoss = 600
maxDailyProfit = 1800
currentDailyPL = strategy.equity - startOfDayEquity

if (currentDailyPL <= -maxDailyLoss)
    strategy.close_all(comment="Max Daily Loss Reached")

if (currentDailyPL >= maxDailyProfit)
    strategy.close_all(comment="Max Daily Profit Reached")