
Il s’agit d’un système de stratégie de négociation basé sur une moyenne mobile simple à quatre périodes, intégrant un mécanisme de gestion dynamique des arrêts et des pertes. La stratégie capte les points de basculement des tendances du marché en surveillant les prix et la relation croisée avec la moyenne à court terme, et définit des arrêts et pertes en pourcentage pour la gestion des risques.
La stratégie est basée sur la logique de base suivante: on calcule d’abord la moyenne mobile simple à 4 cycles (SMA) comme indicateur principal, le système reconnaît le signal de prise et ouvre une position de prise lorsque le prix franchit la SMA à la hausse; le système reconnaît le signal de prise et ouvre une position de prise lorsque le prix franchit la SMA à la baisse. Chaque transaction est réglée sur un stop-loss dynamique basé sur le prix d’ouverture, le stop-loss est supposé être de 2% et le stop-loss est supposé être de 1%. Ce réglage garantit un ratio de profit / perte de 2: 1, conforme aux principes de gestion des fonds professionnels.
Il s’agit d’une stratégie de trading quantifiée, structurée et logiquement claire. Elle capte la dynamique du marché à travers la courbe de la moyenne à court terme, accompagnée d’un mécanisme de contrôle des risques strict, adapté aux traders qui recherchent des gains stables. Bien qu’il existe une certaine marge d’optimisation, le cadre de base de la stratégie a une bonne extensibilité, avec une optimisation et un ajustement continus.
/*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)