Cette stratégie est une stratégie de suivi de tendance à long terme basée sur le croisement des moyennes mobiles simples (SMA). Elle génère des signaux d'achat lorsque la SMA de courte durée traverse la SMA de longue durée et suit la tendance haussière.
La stratégie utilise principalement les signaux de croisement
En outre, la stratégie définit également dynamiquement le profit et le stop-loss en fonction de 1,5% et 1% du prix d'entrée. Cela signifie que le profit sera de 1,5% au-dessus du prix d'entrée et le stop-loss sera de 1% en dessous.
Il s'agit d'une tendance à moyen et long terme suivant une stratégie basée sur le croisement SMA. Il identifie les tendances avec SMA et contrôle les risques en définissant le profit et le stop loss. L'avantage est qu'il est simple et facile à mettre en œuvre, adapté aux débutants dans le trading quantitatif.
/*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)