Il s'agit d'un système de stratégie de trading basé sur une moyenne mobile simple à quatre périodes, intégré à des mécanismes de gestion dynamiques de stop-loss et de take-profit. La stratégie capture les points tournants de la tendance du marché en surveillant les croisements de prix avec les moyennes mobiles à court terme et implémente des niveaux de stop-loss et de take-profit basés sur le pourcentage pour la gestion des risques.
La stratégie fonctionne sur la logique de base suivante: Premièrement, elle calcule une moyenne mobile simple (SMA) de 4 périodes comme indicateur principal. Lorsque le prix dépasse la SMA, le système le reconnaît comme un signal haussier et entre dans une position longue; lorsque le prix dépasse la SMA, il identifie un signal baissier et entre dans une position courte. Chaque transaction est définie avec des points de prise de profit et de stop-loss dynamiques basés sur le prix d'entrée, avec des valeurs par défaut de 2% pour la prise de profit et de 1% pour le stop-loss. Cette configuration garantit un rapport récompense/risque de 2: 1, en adhérant aux principes de gestion de l'argent professionnelle.
Il s'agit d'une stratégie de trading quantitative bien structurée avec une logique claire. Elle capture l'élan du marché à travers des moyennes mobiles à court terme, complétée par des mécanismes de contrôle des risques stricts, adaptés aux traders recherchant des rendements stables. Bien qu'il y ait place à l'optimisation, le cadre de base de la stratégie offre une bonne évolutivité et, grâce à une amélioration et à un ajustement continus, elle a le potentiel d'obtenir de meilleurs résultats commerciaux.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-28 00:00:00 period: 2d basePeriod: 2d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("4SMA Strategy with Targets and Stop Loss", overlay=true) // Input parameters for SMA smaLength = input.int(4, title="SMA Length", minval=1) // Input parameters for stop loss and take profit takeProfitPercent = input.float(2.0, title="Take Profit (%)", step=0.1) // Default: 2% stopLossPercent = input.float(1.0, title="Stop Loss (%)", step=0.1) // Default: 1% // Calculate 4-period SMA sma = ta.sma(close, smaLength) // Plot SMA plot(sma, color=color.blue, title="4SMA Line") // Entry Conditions longCondition = ta.crossover(close, sma) // Price crosses above SMA (bullish signal) shortCondition = ta.crossunder(close, sma) // Price crosses below SMA (bearish signal) // Strategy Logic if (longCondition) strategy.entry("Long", strategy.long) // Enter long position if (shortCondition) strategy.entry("Short", strategy.short) // Enter short position // Calculate Take Profit and Stop Loss longTakeProfit = strategy.position_avg_price * (1 + takeProfitPercent / 100) // TP for long longStopLoss = strategy.position_avg_price * (1 - stopLossPercent / 100) // SL for long shortTakeProfit = strategy.position_avg_price * (1 - takeProfitPercent / 100) // TP for short shortStopLoss = strategy.position_avg_price * (1 + stopLossPercent / 100) // SL for short // Exit for Long if (strategy.position_size > 0) // If in a long position strategy.exit("Long TP/SL", from_entry="Long", limit=longTakeProfit, stop=longStopLoss) // Exit for Short if (strategy.position_size < 0) // If in a short position strategy.exit("Short TP/SL", from_entry="Short", limit=shortTakeProfit, stop=shortStopLoss)