Stratégie de grille longue basée sur le drawdown et le profit cible

GRID DCA TP SL ROI
Date de création: 2025-01-06 16:29:17 Dernière modification: 2025-01-06 16:29:17
Copier: 0 Nombre de clics: 507
1
Suivre
1617
Abonnés

Stratégie de grille longue basée sur le drawdown et le profit cible

Aperçu

Cette stratégie est une stratégie de trading en grille qui augmente les positions en fonction de l’ampleur de la baisse des prix et ferme les positions lorsqu’un objectif de profit fixe est atteint. La logique principale de la stratégie est d’acheter lorsque le marché tombe dans une fourchette prédéfinie, et de fermer la position globale lorsque le prix rebondit pour atteindre le profit cible, et de réaliser des bénéfices en répétant constamment ce processus. Cette stratégie est particulièrement adaptée pour saisir les opportunités de rebond à court terme sur des marchés volatils.

Principe de stratégie

La stratégie utilise un mécanisme composite de trading en grille et de prise de bénéfices directionnelle :

  1. Ouverture de position initiale : Après l’heure de début définie, le système ouvrira une position pour la première fois au prix actuel lors de son premier déclenchement.
  2. Mécanisme d’ajout de position : lorsque le prix baisse de plus que la baisse prédéfinie (par défaut 5 %) par rapport au prix d’ouverture de la position initiale, des achats supplémentaires seront effectués.
  3. Mécanisme de clôture : lorsque le prix augmente de plus que l’objectif de profit prédéfini (par défaut 5 %) par rapport au prix d’ouverture initial, le système fermera toutes les positions.
  4. Suivi statistique : Le système comptera le nombre de transactions et les bénéfices accumulés en temps réel et les affichera de manière dynamique sur le graphique.

Avantages stratégiques

  1. Haut degré d’automatisation : la stratégie est entièrement systématisée, ne nécessite aucune intervention humaine et peut fonctionner en continu 24 heures sur 24.
  2. Diversification des risques : en construisant des positions par lots, le risque de construire une position à la fois peut être efficacement réduit.
  3. Arrêt clair des bénéfices : définissez un objectif de bénéfice fixe et encaissez immédiatement une fois l’objectif atteint.
  4. Forte adaptabilité : grâce au réglage des paramètres, il peut s’adapter à différents environnements de marché et produits de trading.
  5. Forte capacité d’exécution : la logique de la stratégie est claire et n’est pas affectée par les émotions subjectives.

Risque stratégique

  1. Risque de tendance : dans un marché en baisse continue, les positions peuvent continuer à augmenter, entraînant des pertes plus importantes.
  2. Risque de gestion des fonds : si un contrôle raisonnable des positions n’est pas mis en place, une occupation excessive du capital peut se produire en raison d’une augmentation excessive des positions.
  3. Risque de dérapage : lorsque le marché fluctue violemment, un dérapage important peut se produire, affectant la performance de la stratégie.
  4. Sensibilité des paramètres : l’effet de la stratégie est sensible aux paramètres définis, et les paramètres doivent être ajustés en temps opportun dans différents environnements de marché.

Orientation de l’optimisation de la stratégie

  1. Stop loss dynamique : Il est recommandé d’ajouter un mécanisme de stop loss dynamique basé sur l’ATR ou la volatilité pour éviter une chute brutale.
  2. Gestion des positions : Une gestion dynamique des positions basée sur la valeur nette du compte peut être introduite pour garantir une utilisation plus raisonnable des fonds.
  3. Examen du marché : ajoutez des indicateurs de jugement de tendance et suspendez le fonctionnement de la stratégie sur les marchés présentant des tendances évidentes.
  4. Optimisation des objectifs de profit : vous pouvez concevoir des objectifs de profit dynamiques et les ajuster de manière adaptative en fonction des fluctuations du marché.
  5. Optimisation de l’ajout de positions : Vous pouvez concevoir un nombre progressif de positions d’ajout pour éviter les positions excessives au début.

Résumer

Il s’agit d’une stratégie de trading en grille simple mais pratique, qui crée des positions par lots en fonction de la plage de baisse prédéfinie et ferme toutes les positions lorsque le profit cible est atteint. L’avantage principal de la stratégie réside dans la certitude de son exécution et la diversification des risques, mais lors de son utilisation, il convient de prêter attention à la sélection de l’environnement de marché et à l’optimisation des paramètres. Il reste encore beaucoup de place pour optimiser la stratégie en ajoutant des stop loss dynamiques, en améliorant la gestion des positions, etc. Lors de son utilisation dans le cadre d’un trading réel, il est recommandé d’effectuer au préalable des backtests suffisants et d’ajuster les paramètres en fonction des conditions réelles du marché.

Code source de la stratégie
/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-04 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Buy Down 5%, Sell at 5% Profit", overlay=true, default_qty_type=strategy.fixed, default_qty_value=1)

// Inputs
initial_date = input(timestamp("2024-01-01 00:00:00"), title="Initial Purchase Date")
profit_target = input.float(5.0, title="Profit Target (%)", minval=0.1)   // Target profit percentage
rebuy_drop = input.float(5.0, title="Rebuy Drop (%)", minval=0.1)        // Drop percentage to rebuy

// Variables
var float initial_price = na             // Initial purchase price
var int entries = 0                      // Count of entries
var float total_profit = 0               // Cumulative profit
var bool active_trade = false            // Whether an active trade exists

// Entry Condition: Buy on or after the initial date
if not active_trade
    initial_price := close
    strategy.entry("Buy", strategy.long)
    entries += 1
    active_trade := true

// Rebuy Condition: Buy if price drops 5% or more from the initial price
rebuy_price = initial_price * (1 - rebuy_drop / 100)
if active_trade and close <= rebuy_price
    strategy.entry("Rebuy", strategy.long)
    entries += 1

// Exit Condition: Sell if the price gives a 5% profit on the initial investment
target_price = initial_price * (1 + profit_target / 100)
if active_trade and close >= target_price
    strategy.close_all(comment="Profit Target Hit")
    active_trade := false
    total_profit += profit_target

// Display information on the chart
plotshape(series=close >= target_price, title="Target Hit", style=shape.labelup, location=location.absolute, color=color.green, text="Sell")
plotshape(series=close <= rebuy_price, title="Rebuy", style=shape.labeldown, location=location.absolute, color=color.red, text="Rebuy")

// Draw statistics on the chart
var label stats_label = na
if (na(stats_label))
    stats_label := label.new(x=bar_index, y=close, text="", style=label.style_none, size=size.small)

label.set_xy(stats_label, bar_index, close)
label.set_text(stats_label, "Entries: " + str.tostring(entries) + "\nTotal Profit: " + str.tostring(total_profit, "#.##") + "%")