Stratégie de Larry Williams pour franchir les moyennes mobiles


Date de création: 2023-12-26 15:03:16 Dernière modification: 2023-12-26 15:03:16
Copier: 1 Nombre de clics: 1523
1
Suivre
1623
Abonnés

Stratégie de Larry Williams pour franchir les moyennes mobiles

Aperçu

Cette stratégie est une stratégie simple et classique de dépassement des moyennes mobiles, créée par le célèbre trader Larry Williams. La stratégie utilise la moyenne mobile simple du 9e jour comme ligne rapide et la moyenne mobile indicielle du 21e jour comme ligne lente.

Principe de stratégie

La stratégie est basée sur une croix d’or et une croix de mort sur une moyenne mobile pour juger des opportunités de faire des gains et des gains. Une telle rupture est faite lorsque la ligne rapide traverse la ligne lente en bas pour être dorée, indiquant que le marché est haussier; une telle rupture est faite lorsque la ligne rapide traverse la ligne lente en haut pour être morte, indiquant que le marché est baissier.

Afin d’éviter que les faux bris ne causent des pertes virtuelles, la stratégie a également introduit la ligne de 21 jours pour juger de la tendance majeure. Les actions de négociation ne sont prises que lorsque le prix franchit la ligne de 21 jours en même temps que la ligne rapide. Cela permet de filtrer efficacement de nombreux faux bris.

En particulier, le signal de faire plus est le suivant: la ligne rapide monte et franchit le sommet d’hier, tandis que la ligne rapide franchit la ligne 21 du jour, afin d’établir le sommet; le signal de faire vide est le suivant: la ligne rapide descend et franchit le sommet d’hier, tandis que la ligne rapide franchit la ligne 21 du jour, afin d’établir le sommet vide.

Analyse des avantages

Les principaux avantages de cette stratégie sont les suivants:

  1. Les stratégies sont simples, faciles à comprendre et à mettre en œuvre.
  2. La technologie des moyennes mobiles est mature et largement utilisée.
  3. L’introduction de la ligne de 21 jours a permis de filtrer efficacement les fausses brèches.
  4. Le but de la journée était de se débarrasser de son adversaire en utilisant les points extrêmes de la journée d’hier.
  5. Les paramètres de la stratégie sont robustes et ne s’adaptent pas facilement.

Analyse des risques

La stratégie présente principalement les risques suivants:

  1. En cas de forte volatilité, la moyenne mobile est retardée et peut manquer le meilleur point d’entrée.
  2. Les petites pertes sont fréquentes dans des situations de choc parallèle.
  3. L’incapacité à faire face efficacement aux changements majeurs de la situation provoqués par les événements imprévus.

Les risques mentionnés ci-dessus peuvent être optimisés et maîtrisés par les moyens suivants:

  1. L’introduction de l’indicateur MACD a aidé à la prise de décision et à obtenir plus de signaux en temps réel
  2. Augmentation des paramètres cycliques des moyennes mobiles pour réduire la fréquence des transactions.
  3. Il a ajouté: “Nous avons besoin d’une stratégie de réduction des pertes et d’une stratégie de contrôle des pertes”.

Direction d’optimisation

Cette stratégie peut être optimisée principalement dans les directions suivantes:

  1. L’optimisation des paramètres permet de tester les combinaisons de paramètres du cycle MA de manière plus systématique pour trouver des paramètres plus optimaux.

  2. Augmentation des arrêts. Mettre en place des arrêts mobiles raisonnables, des arrêts à l’échelle, etc. pour contrôler efficacement les pertes individuelles.

  3. En combinaison avec d’autres indicateurs. L’introduction de signaux d’autres indicateurs tels que MACD, ATR, KD, etc., permet d’obtenir une confirmation de plus de dimensions et améliore la stabilité de la stratégie.

  4. Optimisation des mécanismes d’évacuation. Étude des différents types de stratégies d’évacuation, telles que l’évacuation du signal de retour, l’évacuation de l’arrêt de mouvement et d’autres méthodes.

Résumer

La stratégie de croisement des moyennes mobiles est une stratégie de suivi de tendance très typique et pratique dans l’ensemble. Elle présente des avantages en ce qu’elle est facile à comprendre et à mettre en œuvre, mais il y a aussi de la place pour l’amélioration.

Code source de la stratégie
// @_benac
//@version=5
strategy('Larry', overlay=true , initial_capital=1000 )


////////////////////////////////////////////////////////
//                                                    //
//                                                    //
//                 Codigo Operacional                 //
//                                                    //
//                                                    //
////////////////////////////////////////////////////////

// Usage for Stocks , or Criptos with value bigger then 1, cuz of 0.01 ´pip.
// Daily timeframe
//Observation Point
start     = timestamp(2020, 00, 00, 00, 00)         // backtest start window
finish    = timestamp(2022, 01, 07, 23, 59)        // backtest finish window
window()  => true // create function "within window of time"  

if time < start 
    strategy.close_all("Closing All")

// Take infos from inputs. 
inp_mmshort = input.int(defval = 9, title = "Media Curta"  )
inp_mminter = input.int(defval = 21, title = "Media Curta"  )

// Risk Manager, here define max and min 
inp_max = input.int(defval = 15, title = "Percentual Ganho"  )
inp_min = input.int(defval = 5, title = "Percental  Perda"  )

// Converting the input to % 
pmax = (inp_max / 100 )
pmin =  (inp_min / 100)

// Infos From Moving Average
mm_short = ta.sma(close , inp_mmshort)
mm_inter = ta.ema(close , inp_mminter)


// Trend Logic
//Long Condition 

//Setup do Larry Willians Bem Simples , media virou para cima e rompeu a maxima de referencia, compra. 
tendencia_alta = mm_short[2] > mm_short[1] and mm_short > mm_short[1] and close > high[1] and close > mm_short and mm_short > mm_inter
tendencia_baixa = mm_short[2] < mm_short[1] and mm_short < mm_short[1] and close > low[1] and close < mm_short and mm_short < mm_inter

// Creating the entry
if tendencia_alta 
    strategy.entry("Compra" , strategy.long , stop = low - 0.01  )
    stop_inst = low - 0.01 
if tendencia_baixa 
    strategy.entry("Venda" , strategy.short , stop= high + 0.01  )
    stop_inst = high + 0.01


// TrailingStop Creation

// Sell Position
if strategy.position_size < 0 
    gain_p = strategy.opentrades.entry_price(0) - (strategy.opentrades.entry_price(0) * pmax) 
    stop_p = strategy.opentrades.entry_price(0) + (strategy.opentrades.entry_price(0) * pmin) 
    // Managing the position
    if close < gain_p 
        strategy.close_all(comment = " 1 - Ganho : " + str.tostring( gain_p) + " Perda : " + str.tostring( stop_p)  )
    if close > stop_p 
        strategy.close_all(comment = " 2 - Ganho : " + str.tostring( gain_p) + " Perda : " + str.tostring( stop_p)  )
    
    if  high > mm_short[1]
        strategy.close_all(comment = " 3 - Ganho : " + str.tostring( gain_p) + " Perda : " + str.tostring( stop_p)  )
      

// Buy Position    
if strategy.position_size > 0
    gain_p = strategy.opentrades.entry_price(0) + (strategy.opentrades.entry_price(0) * pmax) 
    stop_p = strategy.opentrades.entry_price(0) - (strategy.opentrades.entry_price(0) * pmin) 
    // Managing the position
    if close > gain_p 
        strategy.close_all(comment = " 1- Ganho : " + str.tostring( gain_p) + " Perda : " + str.tostring( stop_p)  )
    if close < stop_p 
        strategy.close_all(comment = " 2 -Ganho : " + str.tostring( gain_p) + " Perda : " + str.tostring( stop_p)  )
    if low < mm_short[1]
        strategy.close_all(comment = " 3 -Ganho : " + str.tostring( gain_p) + " Perda : " + str.tostring( stop_p)  )