La stratégie du double SMA Crossover génère des signaux de trading en calculant le croisement de deux lignes SMA avec des paramètres différents. Lorsque la ligne SMA plus rapide traverse au-dessus de la ligne SMA plus lente, un signal d'achat est généré. Lorsque la ligne SMA plus lente traverse au-dessous de la ligne SMA plus rapide, un signal de vente est généré. La stratégie utilise deux ensembles de paramètres SMA en même temps, l'un pour déterminer les points d'entrée, et l'autre pour déterminer les points de sortie.
Cette stratégie utilise deux ensembles de paramètres SMA,smaB1
, smaB2
pour les signaux d'achat, etsmaS1
, smaS2
Pour les signaux de vente, qui représentent respectivement des moyennes mobiles plus lentes et plus rapides.smaB1
croix au dessussmaB2
, un signal d'achat est généré.smaS2
croix en dessoussmaS1
, un signal de vente est généré, ce qui permet un ajustement flexible des conditions d'entrée et de sortie pour s'adapter à l'évolution des conditions du marché.
Plus précisément, cette stratégie surveille les situations de croisement entre les deux lignes SMA calculées à partir du prix de clôture pour déterminer le moment de l'achat et de la vente. Lorsque la ligne SMA plus rapide traverse au-dessus de la ligne SMA plus lente, il est jugé que la tendance de prix est à la hausse, donc allez long à ce moment-là. Et lorsque la ligne SMA plus lente traverse au-dessous de la ligne SMA plus rapide, la tendance de prix se retourne vers le bas, donc sortez des positions longues.
Les principaux avantages de cette stratégie sont les suivants:
Il existe également certains risques associés à cette stratégie:
Pour contrôler les risques ci-dessus, des méthodes telles que l'optimisation des paramètres SMA, le stop loss dynamique pour verrouiller les bénéfices, etc., peuvent être utilisées pour améliorer la stratégie.
Quelques orientations d'optimisation pour cette stratégie:
La stratégie de croisement SMA génère des signaux de trading simples et efficaces en calculant les situations de croisement entre deux lignes SMA. La flexibilité d'ajustement des paramètres rend cette stratégie adaptable à différents produits, et c'est une stratégie couramment utilisée.
/*backtest start: 2023-11-15 00:00:00 end: 2023-11-22 00:00:00 period: 5m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © melihtuna //@version=4 strategy("SMA Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=10000, currency=currency.USD, commission_value=0.1, commission_type=strategy.commission.percent) smaB1 = input(title="smaB1",defval=377) smaB2 = input(title="smaB2",defval=200) smaS1 = input(title="smaS1",defval=377) smaS2 = input(title="smaS2",defval=200) smawidth = 2 plot(sma(close, smaB1), color = #EFB819, linewidth=smawidth, title='smaB1') plot(sma(close, smaB2), color = #FF23FD, linewidth=smawidth, title='smaB2') plot(sma(close, smaS1), color = #000000, linewidth=smawidth, title='smaS1') plot(sma(close, smaS2), color = #c48dba, linewidth=smawidth, title='smaS2') // === INPUT BACKTEST RANGE === FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) FromYear = input(defval = 2020, title = "From Year", minval = 2017) ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) ToYear = input(defval = 9999, title = "To Year", minval = 2017) // === FUNCTION EXAMPLE === start = timestamp(FromYear, FromMonth, FromDay, 00, 00) finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) window() => time >= start and time <= finish ? true : false longCondition = crossover(sma(close, smaB1),sma(close, smaB2)) if (window() and longCondition) strategy.entry("BUY", strategy.long) shortCondition = crossover(sma(close, smaS2),sma(close, smaS1)) if (window() and shortCondition) strategy.entry("SELL", strategy.short)