Stratégie de croisement de moyennes mobiles


Date de création: 2024-01-12 14:04:37 Dernière modification: 2024-01-12 14:04:37
Copier: 0 Nombre de clics: 615
1
Suivre
1617
Abonnés

Stratégie de croisement de moyennes mobiles

Le croisement des moyennes mobiles est un signal de trading courant. Cette stratégie utilise le croisement des moyennes mobiles rapides et des moyennes mobiles lentes comme signal de trading. Plus précisément, lorsque la moyenne mobile rapide traverse la moyenne mobile lente par le bas, faites plus; lorsque la moyenne mobile rapide traverse la moyenne mobile lente par le haut et par le bas, faites moins.

Cette stratégie utilise une moyenne mobile exponentielle (EMA) de 20 jours comme moyenne mobile rapide, une EMA de 50 jours comme moyenne rapide et une EMA de 200 jours comme moyenne mobile lente. Faites plus lorsque l’EMA de 20 jours et l’EMA de 50 jours traversent simultanément l’EMA de 200 jours et faites moins lorsque l’EMA de 20 jours et l’EMA de 50 jours traversent simultanément l’EMA de 200 jours.

Avantages stratégiques

  1. La stratégie des moyennes mobiles est simple, facile à comprendre et à mettre en œuvre
  2. Les combinaisons de moyennes mobiles permettent de filtrer les faux signaux.
  3. Les conditions d’espace libre sont claires et il est facile de déterminer le moment de l’entrée et de la sortie.

Risque stratégique

  1. Les signaux de fausse couche sont plus faciles à détecter.
  2. Les moyennes mobiles sont laxistes et ne peuvent pas saisir les variations de prix en temps opportun.
  3. Les bénéfices de la révolution ne sont pas exploités efficacement

Optimiser les idées

  1. Optimiser les paramètres de cycle des moyennes mobiles pour les variétés et les cycles
    1. Ajouter des signaux de filtrage d’autres indicateurs, tels que le volume des transactions, les bandes de Brin, etc.
  2. Combinaison de tendances et de stratégies de retournement, suivi dans la tendance et attente d’occasions dans la consolidation

Résumer

Le concept de la stratégie de croisement des moyennes mobiles est simple, facile à maîtriser et constitue l’une des stratégies de base de la négociation quantifiée. Cette stratégie a une bonne valeur de référence comme apprentissage d’introduction. Cependant, dans le combat réel, il est toujours nécessaire d’optimiser les paramètres pour les variétés et les cycles, et de filtrer les signaux avec d’autres indicateurs techniques plus complexes, afin d’améliorer l’efficacité de la stratégie.

Code source de la stratégie
/*backtest
start: 2023-01-05 00:00:00
end: 2024-01-11 00:00:00
period: 1d
basePeriod: 1h
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/
// © rt-maax

//@version=5

strategy(title = "rt maax EMA cross strategy", shorttitle = "rt maax ema ", overlay = true, precision = 8, max_bars_back = 200, pyramiding = 0, initial_capital = 100000, 
     currency = currency.USD, default_qty_type = strategy.cash, default_qty_value = 100000, commission_type = "percent", commission_value = 0.27)
fastema = ta.ema (close , 50)
fema=ta.ema(close,20)
slowema= ta.ema(close,200)
price = close

// === INPUT BACKTEST RANGE ===
fromMonth = input.int(defval = 1,    title = "From Month",  minval = 1, maxval = 12)
fromDay   = input.int(defval = 1,    title = "From Day",    minval = 1, maxval = 31)
fromYear  = input.int(defval = 2021, title = "From Year",   minval = 1970)
thruMonth = input.int(defval = 10,    title = "Thru Month",  minval = 1, maxval = 12)
thruDay   = input.int(defval = 25,    title = "Thru Day",    minval = 1, maxval = 31)
thruYear  = input.int(defval = 2112, title = "Thru Year",   minval = 1970)

// === INPUT SHOW PLOT ===
showDate  = input(defval = true, title = "Show Date Range")

// === FUNCTION EXAMPLE ===



longCondition1= ta.crossover (fema , fastema) 
longcondition2= fema> slowema
longcondition3=fastema>slowema


if (longCondition1 and longcondition2 and longcondition3 )
    stoploss=low*0.97
    takeprofit=high*1.12
    strategy.entry("Long Entry", strategy.long)
    strategy.exit ("exit","long",stop=stoploss,limit=takeprofit)
   


shortCondition1 = ta.crossunder (fema , fastema )
shortcondition2= fastema< slowema
shortcondition3= fema< slowema

if (shortCondition1 and shortcondition2 and shortcondition3 )
    stoploss=low*0.97 
    takeprofit=high*1.5
    strategy.entry("Short Entry", strategy.short)
    strategy.exit("exit","short",stop=stoploss,limit=takeprofit)