Cette stratégie est une stratégie de trading simple basée sur des croisements de moyennes mobiles à court et à long terme. Elle utilise des moyennes mobiles de 34 périodes et de 89 périodes pour observer leurs croisements pendant la session du matin en tant que signaux d'achat et de vente.
La logique de base de cette stratégie est basée sur les croisements entre les moyennes mobiles à court et à long terme comme signaux de trading. Plus précisément, la stratégie définit des moyennes mobiles simples à court et à long terme (SMA) à 34 périodes et 89 périodes. Elle observe uniquement les croisements entre ces deux SMA pendant la session du matin (08:00 - 10:00). Lorsque la SMA à court terme traverse au-dessus de la SMA à long terme depuis le bas, le marché est considéré comme ayant une tendance à la hausse, générant ainsi un signal d'achat. Lorsque la SMA à court terme traverse au-dessous de la SMA à long terme depuis le haut, le marché est considéré comme ayant une tendance à la baisse, générant ainsi un signal de vente.
Lorsqu'il reçoit un signal d'achat ou de vente, la stratégie entre dans une position et définit une condition pour quitter la position, qui est de réaliser un profit après avoir détenu un nombre spécifié de bougies (par défaut, 3 bougies) depuis l'entrée.
Il convient de noter que la stratégie n'identifie que les signaux croisés pendant la session du matin. Cela est dû au fait que ce délai a des volumes de négociation plus élevés et que les signaux de changement de tendance sont plus fiables. D'autres délais ont de plus grandes fluctuations de prix et sont plus faciles à générer de faux signaux.
La stratégie présente les avantages suivants:
Utilisation de règles simples et universelles de croisement des moyennes mobiles, faciles à comprendre, adaptées aux débutants
Identifier uniquement les signaux pendant la séance matinale où les signaux de qualité sont abondants, ce qui filtre les faux signaux pendant les autres périodes
A des conditions d'arrêt des pertes qui permettent un arrêt des pertes en temps opportun, le verrouillage des bénéfices partiels et la réduction du risque de perte
De nombreux paramètres personnalisables pouvant être ajustés en fonction des conditions du marché et du style de trading personnel
Facilement extensible pour être combinée avec d'autres indicateurs pour concevoir des stratégies plus complexes
La stratégie comporte également certains risques, principalement liés aux aspects suivants:
Les moyennes mobiles elles-mêmes ont des attributs de retard plus importants, peuvent manquer des points d'inversion de prix à court terme
S'appuie uniquement sur des indicateurs simples, susceptibles d'échouer dans certains environnements de marché (chocs de tendance, limite de gamme, etc.)
Une position stop-loss incorrecte peut entraîner des pertes inutiles
Des paramètres incorrects (périodes de moyenne mobile, périodes de détention, etc.) peuvent également affecter les performances de la stratégie.
Solution correspondante:
Incorporer d'autres indicateurs clés pour améliorer la sensibilité aux changements à court terme
Ajouter des conditions de filtrage pour éviter d'être affecté par de faux signaux pendant les chocs et les marchés à fourchette
Optimiser la logique de stop loss et ajuster dynamiquement la plage de stop loss en fonction de la volatilité du marché
Optimisation multi-paramètres pour trouver les paramètres optimaux
La stratégie présente également un grand potentiel d'optimisation, principalement en ce qui concerne les aspects suivants:
Ajouter d'autres conditions de filtrage pour éviter de faux signaux lors de chocs et de marchés à fourchette
Incorporer des indicateurs de dynamique pour identifier les signaux de rupture les plus forts
Optimiser les paramètres de la moyenne mobile pour trouver la meilleure combinaison de paramètres
Optimiser automatiquement la plage de stop loss en fonction de la volatilité du marché
Essayer d'optimiser automatiquement toute la stratégie basée sur des techniques d'apprentissage automatique
tenter de combiner avec d'autres stratégies des systèmes multi-stratégies plus complexes
En général, cette stratégie est relativement simple et pratique, adaptée aux débutants. Elle incarne le modèle typique des stratégies de croisement de moyennes mobiles et utilise des arrêts pour contrôler les risques. Cependant, d'autres optimisations peuvent être apportées pour améliorer les performances pour plus de conditions de marché. Les investisseurs peuvent tirer parti de ce cadre de base pour concevoir des stratégies de trading quantitatives plus avancées.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("34 89 SMA Crossover Strategy", overlay=true) // Define the length for the SMAs short_length = input(34, title="Short SMA Length") long_length = input(89, title="Long SMA Length") exit_candles = input(3, title="Exit after how many candles?") exit_at_open = input(true, title="Exit at Open?") // Define morning session morning_session = input("0800-1000", "Morning Session") // Calculate SMAs short_sma = ta.sma(close, short_length) long_sma = ta.sma(close, long_length) // Function to check if current time is within specified session in_session(session) => session_start = na(time(timeframe.period, "0800-1000")) ? na : true session_start // Condition for buy signal (short SMA crosses over long SMA) within specified trading hours buy_signal = ta.crossover(short_sma, long_sma) // Condition for sell signal (short SMA crosses under long SMA) within specified trading hours sell_signal = ta.crossunder(short_sma, long_sma) // Function to exit the trade after specified number of candles var int trade_entry_bar = na var int trade_exit_bar = na if (buy_signal or sell_signal) trade_entry_bar := bar_index if (not na(trade_entry_bar)) trade_exit_bar := trade_entry_bar + exit_candles // Exit condition exit_condition = (not na(trade_exit_bar) and (exit_at_open ? bar_index + 1 >= trade_exit_bar : bar_index >= trade_exit_bar)) // Execute trades if (buy_signal) strategy.entry("Buy", strategy.long) if (sell_signal) strategy.entry("Sell", strategy.short) if (exit_condition) strategy.close("Buy") strategy.close("Sell") // Plot SMAs on the chart plot(short_sma, color=color.blue, linewidth=1) plot(long_sma, color=color.red, linewidth=1)