Il s'agit d'une stratégie d'inversion basée sur le croisement de la moyenne mobile simple. Elle utilise des moyennes mobiles simples de 1 jour et de 5 jours. Lorsque la SMA plus courte traverse au-dessus de la SMA plus longue, elle devient longue. Lorsque la SMA plus courte traverse au-dessous de la SMA plus longue, elle devient courte.
La stratégie calcule la SMA de 1 jour (sma1) et la SMA de 5 jours (sma5) du prix de clôture. Lorsque sma1 dépasse sma5, il entre dans une position longue. Lorsque sma1 dépasse sma5, il entre dans une position courte. Après avoir ouvert une position longue, le stop loss est fixé à 5 USD en dessous du prix d'entrée et le profit est fixé à 150 USD au-dessus. Pour les positions courtes, le stop loss est de 5 USD au-dessus de l'entrée et le profit est de 150 USD en dessous.
Cette simple stratégie double SMA est facile à comprendre et à mettre en œuvre pour une vérification rapide de la stratégie. Mais elle a une tolérance au risque et un potentiel de profit limités. Des optimisations supplémentaires sont nécessaires dans les paramètres et les filtres pour adapter davantage les conditions du marché.
/*backtest start: 2023-02-19 00:00:00 end: 2024-02-19 00:00:00 period: 2d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Valeria 181 Bot Strategy Mejorado 2.21", overlay=true, margin_long=100, margin_short=100) var float lastLongOrderPrice = na var float lastShortOrderPrice = na longCondition = ta.crossover(ta.sma(close, 1), ta.sma(close, 5)) if (longCondition) strategy.entry("Long Entry", strategy.long) // Enter long shortCondition = ta.crossunder(ta.sma(close, 1), ta.sma(close, 5)) if (shortCondition) strategy.entry("Short Entry", strategy.short) // Enter short if (longCondition) lastLongOrderPrice := close if (shortCondition) lastShortOrderPrice := close // Calculate stop loss and take profit based on the last executed order's price stopLossLong = lastLongOrderPrice - 5 // 10 USDT lower than the last long order price takeProfitLong = lastLongOrderPrice + 151 // 100 USDT higher than the last long order price stopLossShort = lastShortOrderPrice + 5 // 10 USDT higher than the last short order price takeProfitShort = lastShortOrderPrice - 150 // 100 USDT lower than the last short order price // Apply stop loss and take profit to long positions strategy.exit("Long Exit", from_entry="Long Entry", stop=stopLossLong, limit=takeProfitLong) // Apply stop loss and take profit to short positions strategy.exit("Short Exit", from_entry="Short Entry", stop=stopLossShort, limit=takeProfitShort)