// ======================================== // STRATEGIE DCA (DOLLAR COST AVERAGING) // ======================================== DEFPARAM CumulateOrders = true // Pas de cumul des positions // --- PARAMETRES DE LA STRATEGIE --- DCAInterval = 20 // Nombre de barres entre chaque achat DCA InvestAmount = 1000 // Montant en cash à investir à chaque fois MaxPositions = 10 // Nombre maximum de positions simultanées StopLossPct = 15 // Stop loss en pourcentage (15 = -15%) TakeProfitPct = 20 // Take profit en pourcentage (20 = +20%) // --- VARIABLES --- ONCE BarsSinceLastBuy = 0 ONCE TotalPositions = 0 ONCE TotalInvestment = 0 ONCE AveragePrice = 0 // --- COMPTEUR DE BARRES --- BarsSinceLastBuy = BarsSinceLastBuy + 1 // --- CONDITION D'ACHAT DCA --- // Acheter tous les X barres si on n'a pas atteint le maximum de positions IF BarsSinceLastBuy >DCAInterval AND TotalPositions < MaxPositions THEN BUY InvestAmount CASH AT MARKET BarsSinceLastBuy = 0 TotalPositions = TotalPositions + 1 TotalInvestment = TotalInvestment + InvestAmount IF COUNTOFLONGSHARES > 0 THEN AveragePrice = TotalInvestment / COUNTOFLONGSHARES ENDIF endif // --- CONDITIONS DE SORTIE --- // Stop Loss : Vendre si le prix descend sous le seuil défini IF LONGONMARKET AND Close <= AveragePrice * (1 - StopLossPct/100) THEN SELL AT MARKET // Réinitialiser les variables TotalPositions = 0 TotalInvestment = 0 AveragePrice = 0 BarsSinceLastBuy = 0 ENDIF // Take Profit : Vendre si le prix monte au-dessus du seuil défini IF LONGONMARKET AND Close >= AveragePrice * (1 + TakeProfitPct/100) THEN SELL AT MARKET // Réinitialiser les variables TotalPositions = 0 TotalInvestment = 0 AveragePrice = 0 BarsSinceLastBuy = 0 ENDIF // --- VERSION ALTERNATIVE AVEC MOYENNES MOBILES --- // Décommentez ces lignes pour ajouter un filtre de tendance // MM20 = AVERAGE[20](CLOSE) // MM50 = AVERAGE[50](CLOSE) // Condition d'achat DCA améliorée avec filtre de tendance // IF BarsSinceLastBuy >= DCAInterval AND TotalPositions < MaxPositions AND MM20 > MM50 THEN // BUY InvestAmount CASH AT MARKET // BarsSinceLastBuy = 0 // TotalPositions = TotalPositions + 1 // TotalInvestment = TotalInvestment + InvestAmount // IF COUNTOFLONGSHARES > 0 THEN // AveragePrice = TotalInvestment / COUNTOFLONGSHARES // ENDIF // ENDIF // ======================================== // PARAMETRES DE BACKTEST RECOMMANDES // ======================================== // // 1. Capital initial : 50 000 € (pour permettre 10 achats de 1000€) // 2. Spread : Selon l'instrument (ex: 2 points pour CAC40) // 3. Commission : Selon votre courtier // 4. Période de test : Au moins 2-3 ans pour évaluer la robustesse // 5. Timeframe : H1 ou D1 pour éviter le bruit // // METRIQUES A ANALYSER : // - Gain total et pourcentage // - Maximum Drawdown // - Ratio gain/perte // - Nombre de trades gagnants/perdants // - Profit Factor // - Sharpe Ratio (si disponible) // ======================================== // VARIANTES A TESTER // ======================================== // // 1. DCA avec RSI : Acheter seulement si RSI < 70 // 2. DCA avec support/résistance // 3. DCA pyramidal : Augmenter la taille lors des baisses // 4. DCA avec stop time : Arrêter après X mois // 5. DCA adaptatif : Modifier l'intervalle selon la volatilité