
Cette stratégie est basée sur une simple moyenne mobile. Elle utilise une moyenne mobile simple de longueur 1 et de longueur 5. La stratégie est typique du suivi de la tendance, car les moyennes mobiles à courte période font plus quand elles traversent les moyennes mobiles à longue période par le bas et font moins quand elles traversent par le haut et le bas.
Cette stratégie est basée sur le calcul de la moyenne mobile simple d’un jour SMA1 et de la moyenne mobile simple d’un jour SMA5 pour le prix de clôture. L’entrée est plus grande lorsque SMA5 est portée au-dessus de SMA1 et plus petite lorsque SMA5 est portée au-dessous de SMA1. Le stop-loss est fixé à 5 \( en dessous du prix d'entrée et à 150 \) au-dessus du prix d’entrée.
Les directions d’optimisation
Cette stratégie est une stratégie simple et homogène, simple à utiliser et facile à mettre en œuvre, qui permet de vérifier rapidement les idées stratégiques. Cependant, sa capacité de tolérance et son espace de profit sont limités et nécessitent l’optimisation des paramètres et des conditions de filtrage pour l’adapter à un environnement de marché plus large. En tant que première stratégie de quantification pour les débutants, elle contient les éléments de base qui peuvent être améliorés de manière itérable en tant que cadre simple.
/*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)