
Cette stratégie est basée sur une simple moyenne mobile (SMA) croisée. Elle génère des signaux d’achat en calculant des SMA de différentes périodes, et effectue des opérations de retracement en portant des SMA de longue durée sur des SMA de courte durée. En même temps, elle établit des stop-loss et gère le risque de la position en fonction d’une proportion du prix d’entrée.
La stratégie est principalement basée sur les signaux de croisement de la fourchette d’or de l’indicateur SMA pour déterminer le moment d’entrée en bourse. Plus précisément, elle calcule les SMA de deux périodes différentes, la ligne 9 et la ligne 21.
En outre, la stratégie définit dynamiquement les positions stop et stop loss en fonction des proportions de 1,5% et 1% du prix d’entrée. C’est-à-dire que la position stop est supérieure à 1,5% du prix d’entrée et la position stop est inférieure à 1% du prix d’entrée.
Cette stratégie est une stratégie de suivi des lignes moyennes et longues basée sur le croisement des SMA. Elle utilise les indicateurs SMA pour juger de la tendance du marché et définir les risques de contrôle des stop-loss.
/*backtest
start: 2023-01-28 00:00:00
end: 2024-02-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Masterdata
//@version=5
strategy("Simple MA Crossover Long Strategy v5", overlay=true)
// Define the short and long moving averages
shortMa = ta.sma(close, 9)
longMa = ta.sma(close, 21)
// Plot the moving averages on the chart
plot(shortMa, color=color.green)
plot(longMa, color=color.orange)
// Generate a long entry signal when the short MA crosses over the long MA
longCondition = ta.crossover(shortMa, longMa)
if (longCondition)
strategy.entry("Long", strategy.long)
// Define the take profit and stop loss as a percentage of the entry price
takeProfitPerc = 1.5 / 100 // Take profit at 1.5% above entry price
stopLossPerc = 1.0 / 100 // Stop loss at 1.0% below entry price
// Calculate the take profit and stop loss price levels dynamically
takeProfitLevel = strategy.position_avg_price * (1 + takeProfitPerc)
stopLossLevel = strategy.position_avg_price * (1 - stopLossPerc)
// Set the take profit and stop loss for the trade
if (longCondition)
strategy.exit("Take Profit/Stop Loss", "Long", limit=takeProfitLevel, stop=stopLossLevel)