Cette stratégie est une stratégie de trading quantitative basée sur le principe du double croisement des moyennes mobiles. La stratégie génère des signaux d'achat lorsque la SMA à court terme dépasse la SMA à long terme, et génère des signaux de vente lorsque la SMA à court terme dépasse la SMA à long terme.
Le principe de base de cette stratégie est de capturer les changements dans les tendances des prix en utilisant la relation croisée entre les moyennes mobiles de différentes périodes. La moyenne mobile est un indicateur technique couramment utilisé qui filtre les fluctuations à court terme et reflète la tendance globale des prix en faisant la moyenne des prix sur une période passée. Lorsque la moyenne mobile à court terme franchit le seuil de la moyenne mobile à long terme, cela indique que le prix peut commencer une tendance à la hausse, générant un signal d'achat; inversement, lorsque la moyenne mobile à court terme franchit le seuil de la moyenne mobile à long terme, cela indique que le prix peut commencer une tendance à la baisse, générant un signal de vente.
La stratégie de croisement des moyennes mobiles doubles SMA est une stratégie de trading quantitative simple, facile à comprendre et hautement adaptable. En utilisant la relation de croisement des moyennes mobiles avec différentes périodes, la stratégie peut capturer efficacement les changements dans les tendances des prix et fournir des signaux d'achat et de vente pour les traders. Cependant, la performance de la stratégie peut être sensible à la sélection des paramètres, et elle peut générer des effets de trading et de retard fréquents lorsque le marché est très volatil. Pour optimiser davantage la stratégie, des mesures telles que l'introduction d'autres indicateurs techniques, l'optimisation de la sélection des paramètres, l'ajout de conditions de filtrage, l'ajustement dynamique des paramètres et l'intégration de la gestion des risques peuvent être envisagées.
/*backtest start: 2023-06-01 00:00:00 end: 2024-06-06 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("SMA Crossover Strategy with Date Range and Timeframe", overlay=true, default_qty_type=strategy.fixed, default_qty_value=1, initial_capital=1000, currency=currency.USD, pyramiding=0, commission_type=strategy.commission.percent, commission_value=0) // Define the lengths for the short and long SMAs shortSMA_length = input.int(50, title="Short SMA Length", minval=1) longSMA_length = input.int(200, title="Long SMA Length", minval=1) // Define the start and end dates for the backtest startDate = input(timestamp("2024-06-01 00:00"), title="Start Date") endDate = input(timestamp("2024-06-05 00:00"), title="End Date") // Define the timeframe for the SMAs smaTimeframe = input.timeframe("D", title="SMA Timeframe") // Request the short and long SMAs from the selected timeframe dailyShortSMA = request.security(syminfo.tickerid, smaTimeframe, ta.sma(close, shortSMA_length)) dailyLongSMA = request.security(syminfo.tickerid, smaTimeframe, ta.sma(close, longSMA_length)) // Plot the SMAs on the chart plot(dailyShortSMA, color=color.blue, title="Short SMA") plot(dailyLongSMA, color=color.red, title="Long SMA") // Define the crossover conditions based on the selected timeframe SMAs buyCondition = ta.crossover(dailyShortSMA, dailyLongSMA) sellCondition = ta.crossunder(dailyShortSMA, dailyLongSMA) // Generate buy and sell signals only if the current time is within the date range if (buyCondition) strategy.entry("Buy", strategy.long) if (sellCondition) strategy.close("Buy") // Optional: Add visual buy/sell markers on the chart plotshape(series=buyCondition and (time >= startDate and time <= endDate), title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") plotshape(series=sellCondition and (time >= startDate and time <= endDate), title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")