
La stratégie d’investissement à quota fixe intelligente est un système de négociation de positions longues basé sur la méthode des moyennes de coût en dollars (DCA) qui optimise le processus d’accumulation d’actifs en définissant une combinaison d’ordres de base et d’ordres de sécurité. La stratégie augmente automatiquement l’entrée de la commande lorsque le marché baisse, est complètement liquide lorsque l’objectif de profit prévu est atteint et génère des gains périodiques. La conception centrale de la stratégie comprend l’entrée initiale de montants fixes, les ordres de sécurité à plusieurs niveaux, le calcul du coût moyen de la compensation de la position et un mécanisme d’arrêt de sortie précis, particulièrement adapté à l’accumulation d’actifs à long terme sur des marchés volatiles.
La stratégie est basée sur la logique de base de la loi du coût-équivalent, mais elle est considérablement améliorée par un mécanisme de commande sécurisé à plusieurs niveaux. Le processus d’exécution de la stratégie est le suivant:
Commande de base: Lorsqu’aucune position n’est détenue, le système achète à un montant fixe en dollars par défaut (baseOrderSize) au prix actuel et enregistre le prix d’entrée et la quantité.
Le déclencheur de la commande de sécurité: Pendant la période de détention, si le prix baisse au-delà du pourcentage de déviation prévu (priceDeviation) et que le nombre maximal d’ordres de sécurité n’a pas encore été atteint, le système déclenche une reprise de position.
Adaptation dynamique de la taille de la commandeLa taille de chaque ordre de sécurité est dynamiquement augmentée en multipliant l’ordreSizeMultiplier. La formule de calcul est: baseOrderSize * orderSizeMultiplier^(safetyOrderCount+1) 。
Calcul du coût moyen: Le système suit en temps réel le coût total et le nombre total et calcule le prix d’entrée moyen en divisant le coût total par le nombre total.
Mécanisme d’arrêt et de sortie: Lorsque le prix du marché atteint le coût moyen plus le pourcentage de l’objectif de profit prédéfini, le système nettoie automatiquement tous les dépôts, complétant ainsi un cycle complet de négociation.
La stratégie est conçue de manière cyclique, avec tous les compteurs et les variables de suivi réinitialisés après chaque clôture de position, pour préparer le prochain cycle de négociation.
Maximiser le coût moyenLe système augmente automatiquement les achats en cas de baisse des prix, réduisant considérablement le coût moyen de détention et augmentant la marge de profit future.
Automatisation du contrôle des risques: Grâce à un mécanisme d’ordre de sécurité prédéfini, la stratégie est capable de remplir les positions selon un plan prédéfini en cas de baisse du marché, évitant ainsi les décisions émotionnelles.
Optimisation de l’efficacité de l’utilisation des fondsLa stratégie permet d’investir davantage lorsque les prix baissent et d’accumuler plus d’actifs à des points de prix plus favorables.
Gestion précise des objectifs de profit: un mécanisme d’arrêt dynamique basé sur le prix d’entrée moyen, qui assure que chaque cycle de négociation peut être verrouillé à la réalisation de l’objectif de profit prédéfini.
Haute personnalisation: L’utilisateur peut ajuster la taille de la commande de base, le pourcentage de variation, le nombre maximal de commandes de sécurité, le multiplicateur de la taille de la commande et les objectifs de profit en fonction des différentes conditions du marché et des préférences de risque personnelles.
Références de transaction visualiséesLa stratégie fournit une visualisation en temps réel du prix moyen d’entrée, du prix cible d’arrêt et du prix de déclenchement des ordres de sécurité pour faciliter les décisions de négociation.
Baisse de la consommation des capitaux du marché: Dans un marché en perpétuelle baisse, les stratégies peuvent rapidement épuiser les fonds disponibles, en particulier lorsque la taille des ordres élevés est multipliée. La solution est de fixer raisonnablement le nombre maximal d’ordres sûrs et d’ajuster la taille des ordres de base en fonction des cycles du marché.
Le mécanisme sans dommagesIl n’y a pas de mécanisme de stop loss dans la conception de la stratégie actuelle, ce qui peut entraîner des pertes importantes dans des conditions de marché extrêmes. Il est recommandé d’introduire des stop loss conditionnels ou basés sur le temps pour limiter les pertes potentielles.
Paramètre Sensibilité: La performance de la stratégie dépend fortement de la configuration des paramètres, et une combinaison inappropriée de paramètres peut entraîner une mauvaise efficacité. Il est recommandé de trouver la combinaison optimale de paramètres en relançant les données historiques.
Aucune tendance de marché: la stratégie ne contient pas de mécanisme d’identification des tendances, l’entrée prématurée dans une forte tendance baissière est possible. L’intégration d’un simple indicateur de tendance peut être considérée comme une condition de filtrage d’entrée.
Risques liés à la liquidité: Dans les marchés à faible liquidité, les ordres de sécurité à grande échelle peuvent être confrontés à des points de glissement ou à des difficultés de transaction. Il est recommandé d’appliquer ou d’ajouter un mécanisme de vérification de la liquidité dans les marchés à forte liquidité.
Intégration des filtres de tendance: intégrer des indicateurs de reconnaissance de tendance simples (tels que la croisée des moyennes mobiles ou l’indice de force relative) dans la logique d’entrée, afin d’éviter de prendre des positions prématurément dans une tendance à la baisse forte. Une telle optimisation peut considérablement améliorer le retour sur investissement ajusté au risque de la stratégie.
Pourcentage d’écart dynamique: pourcentage d’écart de déclenchement des ordres de sécurité ajusté en fonction de la dynamique de la volatilité du marché, avec un écart plus grand dans les marchés à forte volatilité et un écart plus petit dans les marchés à faible volatilité, pour s’adapter à différentes conditions de marché.
Système de freinage partielIntroduction d’un mécanisme de stop-loss par tranches permettant une liquidation partielle, plutôt qu’une sortie complète, à certains niveaux de profit, afin de bloquer une partie des bénéfices tout en conservant une ouverture partielle sur le marché.
Amélioration de la gestion des risques: ajout d’un stop conditionnel basé sur le temps ou le prix, ainsi que d’une limite de perte maximale pour éviter des pertes excessives dans des conditions de marché extrêmes.
Optimisation de la gestion des fonds: mise en œuvre d’algorithmes de gestion de fonds plus sophistiqués, adaptant la taille des commandes en fonction de la taille des comptes, de la volatilité du marché et de la dynamique de la situation actuelle de la faillite, plutôt que d’utiliser simplement un multiplicateur fixe.
Retour au contrôle: ajout d’un mécanisme d’ajustement des paramètres d’adaptation basé sur l’analyse des retraits historiques, réduisant automatiquement la taille des commandes ou augmentant le pourcentage de déviation en cas de détection de retraits importants, afin d’atténuer la pression sur les fonds dans les marchés baissiers.
La stratégie d’investissement à quota fixe intelligente offre une approche systématique pour l’accumulation d’actifs à long terme en combinant l’entrée de commandes de base et le mécanisme de remboursement des commandes sécurisées à plusieurs niveaux. Cette stratégie est particulièrement adaptée aux marchés avec des fluctuations cycliques, permettant d’accumuler plus d’actifs en utilisant efficacement les retours de prix et de verrouiller les bénéfices lors d’un rebond.
Les principaux avantages de la stratégie résident dans son mécanisme de maximisation du coût moyen simple et puissant et sa gestion claire des objectifs de profit, mais elle est également confrontée à des risques tels que la dépréciation des fonds sur le marché en baisse et l’absence de mécanisme de stop-loss. En intégrant des filtres de tendance, des ajustements de paramètres dynamiques et des fonctions de gestion des risques améliorées, la stratégie peut être optimisée davantage pour améliorer son adaptabilité et ses performances dans différents environnements de marché.
Pour les investisseurs qui recherchent des méthodes systématiques pour accumuler des actifs et gérer les risques dans des marchés volatiles, cette stratégie DCA renforcée offre un cadre fiable et personnalisable, particulièrement adapté aux périodes d’investissement à moyen et long terme.
/*backtest
start: 2025-06-13 00:00:00
end: 2025-07-13 00:00:00
period: 15m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":200000}]
*/
//@version=5
strategy("Simple DCA Strategy", overlay=true)
// --- Strategy Inputs ---
baseOrderSize = input.float(10, "Base Order Size (USD/Quote Currency)", minval=0.01)
priceDeviation = input.float(1.0, "Price Deviation for Safety Order (%)", minval=0.1) / 100
maxSafetyOrders = input.int(5, "Maximum Safety Orders", minval=0)
takeProfit = input.float(1.0, "Take Profit (%)", minval=0.1) / 100
orderSizeMultiplier = input.float(1.5, "Order Size Multiplier", minval=1.0)
// --- Internal Variables ---
var float lastEntryPrice = na
var int safetyOrderCount = 0
var float totalQuantity = 0.0
var float totalCost = 0.0
var float averageEntryPrice = na
// --- Reset Logic for New Cycles ---
// Reset variables when no open positions (or when strategy is initialized)
if strategy.position_size == 0
lastEntryPrice := na
safetyOrderCount := 0
totalQuantity := 0.0
totalCost := 0.0
averageEntryPrice := na
// --- Entry Logic (Base Order and Safety Orders) ---
// Base Order
if strategy.position_size == 0
// Enter a long position with the base order size
strategy.entry("Base Order", strategy.long, qty=baseOrderSize / close) // Convert USD/Quote Currency to quantity
lastEntryPrice := close
totalQuantity := baseOrderSize / close
totalCost := baseOrderSize
averageEntryPrice := close
safetyOrderCount := 0
else
// Safety Order Logic
// Check if price has deviated enough and we haven't reached max safety orders
if low < lastEntryPrice * (1 - priceDeviation) and safetyOrderCount < maxSafetyOrders
currentOrderSize = baseOrderSize * math.pow(orderSizeMultiplier, safetyOrderCount + 1) // Calculate next order size
strategy.entry("SO " + str.tostring(safetyOrderCount + 1), strategy.long, qty=currentOrderSize / close)
// Update tracking variables
lastEntryPrice := close
totalQuantity := totalQuantity + (currentOrderSize / close)
totalCost := totalCost + currentOrderSize
averageEntryPrice := totalCost / totalQuantity // Recalculate average entry price
safetyOrderCount := safetyOrderCount + 1
// --- Exit Logic (Take Profit) ---
if strategy.position_size > 0
// Calculate the target price for take profit
targetPrice = averageEntryPrice * (1 + takeProfit)
// Close the position if the current price reaches the target price
if high >= targetPrice
strategy.close_all()
// --- Plotting for Visualization ---
plot(averageEntryPrice, "Average Entry Price", color=color.blue, style=plot.style_linebr)
plot(strategy.position_size > 0 ? averageEntryPrice * (1 + takeProfit) : na, "Take Profit Target", color=color.green, style=plot.style_linebr)
plot(strategy.position_size > 0 ? lastEntryPrice * (1 - priceDeviation) : na, "saftyorder", color=color.rgb(175, 91, 76), style=plot.style_linebr)