Stratégie de croisement de moyenne mobile maximale suivant la tendance


Date de création: 2023-10-17 13:05:29 Dernière modification: 2023-10-17 13:05:29
Copier: 1 Nombre de clics: 657
1
Suivre
1617
Abonnés

Stratégie de croisement de moyenne mobile maximale suivant la tendance

Aperçu

Cette stratégie utilise des croisements de moyennes mobiles de deux périodes différentes pour effectuer des transactions. Elle appartient à la catégorie des stratégies de suivi de tendance. La stratégie utilise des signaux d’achat et de vente croisés de moyennes mobiles à court et à long terme pour effectuer des transactions dans une tendance.

Principe de stratégie

La stratégie utilise une moyenne mobile à court terme de 9 cycles SMA et une moyenne mobile à long terme de 50 cycles LMA. Un signal d’achat est généré lorsque la moyenne mobile à court terme traverse la moyenne mobile à long terme par le bas; un signal de vente est généré lorsque la moyenne mobile à court terme traverse la moyenne mobile à long terme par le haut.

Dans le même temps, la stratégie introduit l’indicateur RSI pour juger de la force de la tendance. Un signal de transaction n’est généré que lorsque le RSI est supérieur à la limite définie (la valeur par défaut de 55). Cela évite un signal erroné lorsque le RSI est dans la zone de survente.

Stratégie: chaque transaction représente 30% du capital total, et chaque fois qu’une seule commande est passée, 0.1% des frais de transaction sont pris en compte.

Analyse des avantages

  • Cette stratégie utilise les signaux de tendance créés par les croisements de moyennes mobiles pour suivre efficacement les tendances.
  • L’introduction de l’indicateur RSI pour déterminer la force de la tendance peut éviter de produire de faux signaux lorsque la tendance est bloquée.
  • Les paramètres par défaut ont été optimisés pour obtenir des rendements plus stables sur plusieurs marchés.
  • La gestion des fonds est rationnelle et permet d’éviter les pertes individuelles.

Analyse des risques

  • Cette stratégie est susceptible de générer de faux signaux et de ne pas générer de bénéfices lorsque le marché est en phase de choc.
  • Les stratégies de suivi des tendances ne permettent pas d’obtenir des bénéfices sans une tendance claire.
  • Une mauvaise configuration des paramètres peut entraîner des transactions fréquentes et des frais de transaction supplémentaires.
  • L’incapacité à prendre en compte les effets d’un événement imprévu peut entraîner une perte de temps.

Il est possible de réduire le risque en optimisant les paramètres, en combinant d’autres indicateurs pour déterminer les opportunités de profit, en gérant strictement les fonds et en mettant en place des arrêts de perte.

Direction d’optimisation

  • Il est possible de tester différentes combinaisons de moyennes mobiles pour trouver le paramètre optimal.
  • D’autres indicateurs peuvent être utilisés pour évaluer les tendances, comme le MACD.
  • Il est possible de régler le stop-loss dynamique pour contrôler les pertes individuelles.
  • Le ratio de gestion des fonds peut être adapté en fonction des marchés.
  • La force de la tendance peut être mesurée en fonction du volume des transactions.

Résumer

La stratégie capte les opportunités de tendance grâce à un simple système de croisement des moyennes mobiles. Les paramètres par défaut sont optimisés, les gains sont stables et conviennent à la négociation automatisée. La stabilité et les gains de la stratégie peuvent être encore améliorés par l’introduction d’autres indicateurs auxiliaires, des paramètres d’optimisation et l’amélioration des arrêts de perte.

Code source de la stratégie
/*backtest
start: 2023-09-16 00:00:00
end: 2023-10-16 00:00:00
period: 2h
basePeriod: 15m
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/
// © relevantLeader16058

//@version=4
strategy(shorttitle='Maximized Moving Average Crossing ',title='Maximized Moving Average Crossing (by Coinrule)', overlay=true, initial_capital=1000,  default_qty_type = strategy.percent_of_equity, default_qty_value = 30, commission_type=strategy.commission.percent, commission_value=0.1)

//Backtest dates
fromMonth = input(defval = 1,    title = "From Month",      type = input.integer, minval = 1, maxval = 12)
fromDay   = input(defval = 1,    title = "From Day",        type = input.integer, minval = 1, maxval = 31)
fromYear  = input(defval = 2020, title = "From Year",       type = input.integer, minval = 1970)
thruMonth = input(defval = 1,    title = "Thru Month",      type = input.integer, minval = 1, maxval = 12)
thruDay   = input(defval = 1,    title = "Thru Day",        type = input.integer, minval = 1, maxval = 31)
thruYear  = input(defval = 2112, title = "Thru Year",       type = input.integer, minval = 1970)

showDate  = input(defval = true, title = "Show Date Range", type = input.bool)

start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false       // create function "within window of time"

//MA inputs and calculations
inlong=input(50, title='MA long period')
inshort=input(9, title='MA short period')

MAlong = sma(close, inlong)
MAshort= sma(close, inshort)

// RSI inputs and calculations
lengthRSI = (14)

RSI = rsi(close, lengthRSI)
RSI_Signal = input(55, title = 'RSI Trigger', minval=1)

//Entry and Exit
bullish = crossover(MAshort, MAlong)
bearish = crossunder(MAshort, MAlong)

strategy.entry(id="long", long = true, when = bullish and RSI > RSI_Signal and window())
strategy.close(id="long", when = bearish and window())

 
plot(MAshort, color=color.purple, linewidth=2)
plot(MAlong, color=color.red, linewidth=2)