La stratégie de pyramide dynamique vise à réduire le coût moyen de détention en pyramideant des positions supplémentaires lorsque le prix chute. Elle peut aider à atténuer les pertes et à gagner des bénéfices supplémentaires lorsque le prix rebondit. La stratégie ouvrira des positions supplémentaires avec une certaine quantité et un intervalle lorsque les conditions de pyramide sont déclenchées. Pendant ce temps, le nombre maximum de pyramides est réglé pour limiter le risque.
La logique de base de cette stratégie comprend:
Position ouverte: position longue ouverte à un prix spécifié si la position actuelle est égale à 0.
Condition de pyramide: pyramide de déclenchement si le temps de pyramide actuel est inférieur à la valeur maximale et que le prix tombe en dessous du dernier prix d'entrée à un pourcentage prédéfini.
Méthode pyramidale: Augmenter la quantité pyramidale à un facteur de mise à l'échelle du précédent et réduire l'intervalle à un facteur de mise à l'échelle.
Condition de prise de profit: Fermer toutes les positions si l'objectif de profit basé sur le prix moyen de détention est déclenché.
Cette stratégie permet de réduire le coût moyen de manière dynamique, en réduisant les pertes de manière efficace et en laissant plus de marge de profit lorsque la tendance s'inverse.
L'avantage majeur de cette stratégie est d'obtenir un plus grand potentiel de profit avec des pertes acceptables en réduisant le coût moyen de détention en utilisant la pyramide.
En ajoutant des ordres d'achat supplémentaires à des prix inférieurs lorsque le retrait se produit, la stratégie
Si le prix rebondit, le potentiel de profit s'élargit et ouvre la voie à la prise de profit.
Personnalisation flexible pour la logique pyramidale en définissant des paramètres connexes sur l'incrément, la quantité et l'intervalle, etc.
Un risque contrôlable en limitant le temps maximum de pyramide.
Bien que la stratégie permette un potentiel de profit plus élevé avec la pyramide, certains risques nécessitent une attention:
Risque de perte - La prémisse est d'assumer certaines pertes de la pyramide.
Risque de plongée dans une falaise - Dans les cas extrêmes comme la plongée dans une falaise, les pertes peuvent dépasser la plage acceptable.
Prise de profit tardive ou manquante - Le rebond des prix peut ne pas toujours déclencher la condition de prise de profit, ce qui est l'inconvénient de la stratégie.
Risque d'ajustement des paramètres - Des paramètres tels que le coefficient de pyramide et le pourcentage de prise de bénéfice peuvent être désactivés en cas de défaillance.
Les mesures suivantes peuvent aider à atténuer les risques:
Échelle d'augmentation plus faible pour contrôler le montant de la perte à entrée unique.
Réduire l'intervalle entre les pyramides pour réduire les coûts plus rapidement.
Réglez le point d'arrêt de perte de manière appropriée plutôt que trop lâche.
Compte tenu de la nature de l'obtention d'un potentiel de profit plus élevé grâce à la pyramide, les orientations d'optimisation se concentrent principalement sur un meilleur contrôle des risques et l'amélioration de la rentabilité:
Améliorer la logique pyramidale pour rendre les entrées plus intelligentes et adaptables aux conditions du marché.
Optimiser les mécanismes de prise de bénéfices pour une plus grande efficacité, tels que la prise de bénéfices à la traîne, la fermeture partielle, etc., afin de réduire les risques de rebond des prix.
Introduire des algorithmes d'apprentissage automatique pour permettre le réglage automatique des paramètres.
Ajouter un mécanisme de stop loss pour limiter les pertes maximales, comme les ordres de stop loss et de stop profit.
La stratégie pyramidale dynamique réduit le coût moyen de détention par des entrées supplémentaires, permettant un potentiel de profit plus élevé étant donné une tolérance acceptable aux pertes.
/*backtest start: 2023-12-14 00:00:00 end: 2023-12-18 19:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("DCA Bot Emulator", overlay=true, pyramiding=99, default_qty_type=strategy.cash, commission_value = 0.02) // Date Ranges from_month = input(defval = 1, title = "From Month", minval = 1, maxval = 12) from_day = input(defval = 1, title = "From Day", minval = 1, maxval = 31) from_year = input(defval = 2021, title = "From Year") to_month = input(defval = 1, title = "To Month", minval = 1, maxval = 12) to_day = input(defval = 1, title = "To Day", minval = 1, maxval = 31) to_year = input(defval = 9999, title = "To Year") start = timestamp(from_year, from_month, from_day, 00, 00) // backtest start window finish = timestamp(to_year, to_month, to_day, 23, 59) // backtest finish window window = time >= start and time <= finish ? true : false // create function "within window of time" // Strategy Inputs price_deviation = input(2, title='Price deviation to open safety orders', maxval=0)/100 take_profit = input(1.5, title='Target Take Profit', minval=0)/100 // base order base_order = input(100000, title='base order') safe_order = input(200, title='safe order') safe_order_volume_scale = input(2, title='Safety order volume scale') safe_order_step_scale = input(1, title='Safety order step scale') max_safe_order = input(10, title='max safe order') var current_so = 1 var initial_order = 0.0 // Calculate our key levels pnl = (close - strategy.position_avg_price) / strategy.position_avg_price take_profit_level = strategy.position_avg_price * (1 + take_profit) // First Position if(strategy.position_size == 0 and window) strategy.entry("Long", strategy.long, qty = base_order/close) initial_order := close current_so := 1 // Average Down! if current_so > 0 and close < initial_order * (1 - price_deviation * current_so * safe_order_step_scale) and current_so <= max_safe_order so_name = "SO " + tostring(current_so) strategy.entry(so_name, long=strategy.long , qty = safe_order * safe_order_volume_scale /close) current_so := current_so + 1 // Take Profit! strategy.close_all(when=take_profit_level <= close and strategy.position_size > 0)