Cette stratégie est un système de trading basé sur une moyenne mobile exponentielle (EMA), qui implémente des ordres d'achat limités au niveau de l'EMA20. Elle utilise une approche de gestion d'argent conservatrice, utilisant seulement 10% du capital du compte par transaction et incorporant des niveaux de prise de profit et de stop-loss pour la gestion des risques.
La logique de base de la stratégie repose sur plusieurs éléments clés: 1. Utilise l'EMA300 comme filtre de tendance, ne prenant en considération les positions longues que lorsque le prix est supérieur à l'EMA300, en veillant à ce que la direction du commerce s'aligne sur la tendance principale. 2. Les places limitent les ordres d'achat au niveau de l'EMA20 lorsque les conditions de tendance sont remplies, ce qui permet des entrées à des prix relativement inférieurs lors de retraits vers le support moyen mobile. 3. Mettre en œuvre des niveaux fixes de prise de profit et de stop-loss basés sur des pourcentages, en défaut à 10% pour les objectifs de profit et à 5% pour les stop-loss, en maintenant un ratio risque-rendement supérieur à 2: 1. 4. Utilise une taille de position à 10% du capital du compte, réduisant efficacement l'exposition au risque par transaction grâce à une gestion conservatrice de l'argent.
Cette stratégie combine un système de moyenne mobile avec des règles strictes de contrôle des risques pour créer un système de trading relativement robuste. Ses principales forces résident dans ses caractéristiques de suivi des tendances et ses mécanismes complets de gestion des risques, en optimisant les prix d'entrée par des ordres limites tout en maintenant une gestion de l'argent conservatrice. Bien que la stratégie puisse sous-performer sur les différents marchés, les directions d'optimisation suggérées peuvent encore améliorer sa stabilité et sa rentabilité.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-09 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Limit Buy at EMA20 (Last 30 Days)", overlay=true) // Inputs for EMAs ema20Length = input.int(30, title="EMA 20 Length") ema300Length = input.int(300, title="EMA 300 Length") tpPercentage = input.float(10.0, title="Take Profit (%)", step=0.1) / 100 slPercentage = input.float(5.0, title="Stop Loss (%)", step=0.1) / 100 // Stop loss at 15% // Calculate EMAs ema20 = ta.ema(close, ema20Length) ema300 = ta.ema(close, ema300Length) // Plot EMAs plot(ema20, color=color.blue, title="EMA 20") plot(ema300, color=color.red, title="EMA 300") // Limit backtesting to the last 30 days startTime = timestamp(year(timenow), month(timenow), dayofmonth(timenow) - 30, 0, 0) if (time < startTime) strategy.close_all() strategy.cancel_all() // Entry Condition: Price above EMA300 longCondition = close > ema300 and time >= startTime // Calculate position size (10% of equity) positionSize = strategy.equity * 0.10 / ema20 // Use EMA20 as the limit price // Place a limit buy order at EMA20 if (longCondition) strategy.order("Limit Buy", strategy.long, qty=positionSize, limit=ema20) // Calculate TP and SL levels tpPrice = ema20 * (1 + tpPercentage) slPrice = ema20 * (1 - slPercentage) // Set take profit and stop loss if (strategy.position_size > 0) strategy.exit("Take Profit/Stop Loss", "Limit Buy", stop=slPrice, limit=tpPrice)