
La stratégie utilise les forks dorés et morts des lignes rapides et lentes EMA pour déterminer la tendance et, combinée à un ratio de stop-loss prédéfini, pour réaliser des transactions de suivi de tendance. La stratégie s’applique à des périodes de temps arbitraires et permet de capturer les tendances des indices et des actions.
La stratégie utilise des lignes EMA de 3 et 30 de long comme signal de négociation. Lorsque le 3 EMA est franchi, le prix commence à monter, ce qui correspond à une condition d’achat; lorsque le 3 EMA est franchi, le prix commence à baisser, ce qui correspond à une condition de vente.
En même temps, la stratégie définit également des conditions d’arrêt. Lorsque la hausse des prix atteint le prix d’entrée de la stratégie selon le pourcentage d’arrêt défini, EXIT. Cela permet de verrouiller plus de bénéfices et de réaliser des transactions de suivi de tendance.
Cette stratégie est une stratégie de suivi de tendance très pratique dans l’ensemble. Elle utilise des indicateurs EMA simples pour déterminer la direction de la tendance, définit des règles de freinage raisonnables, permet de contrôler efficacement les risques et convient aux actions et aux indices qui suivent le long terme.
/*backtest
start: 2023-02-12 00:00:00
end: 2024-02-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA Crossover Strategy with Target", shorttitle="EMACross", overlay=true)
// Define input parameters
fastLength = input(3, title="Fast EMA Length")
slowLength = input(30, title="Slow EMA Length")
profitPercentage = input(100.0, title="Profit Percentage")
// Calculate EMAs
fastEMA = ta.ema(close, fastLength)
slowEMA = ta.ema(close, slowLength)
// Plot EMAs on the chart
plot(fastEMA, color=color.blue, title="Fast EMA")
plot(slowEMA, color=color.red, title="Slow EMA")
// Buy condition: 3EMA crosses above 30EMA
buyCondition = ta.crossover(fastEMA, slowEMA)
// Sell condition: 3EMA crosses below 30EMA or profit target is reached
sellCondition = ta.crossunder(fastEMA, slowEMA) or close >= (strategy.position_avg_price * (1 + profitPercentage / 100))
// Target condition: 50 points profit
//targetCondition = close >= (strategy.position_avg_price + 50)
// Execute orders
// strategy.entry("Buy", strategy.long, when=buyCondition)
// strategy.close("Buy", when=sellCondition )
if (buyCondition)
strategy.entry("Buy", strategy.long)
if (sellCondition)
strategy.close("Buy")
// // Execute sell orders
// strategy.entry("Sell", strategy.short, when=sellCondition)
// strategy.close("Sell", when=buyCondition)
// Plot buy and sell signals on the chart
plotshape(series=buyCondition, title="Buy Signal", color=color.green, style=shape.labelup, location=location.belowbar)
plotshape(series=sellCondition, title="Sell Signal", color=color.red, style=shape.labeldown, location=location.abovebar)