La stratégie du crocodile de Williams

Auteur:ChaoZhang est là., Date: le 13 novembre 2023 à 10h58
Les étiquettes:

img

Résumé

La stratégie Williams Alligator est une stratégie de suivi de tendance qui utilise trois lignes moyennes mobiles de différentes périodes pour former des mâchoires d'alligator pour déterminer la direction de la tendance. Lorsque la ligne rapide est au-dessus de la ligne moyenne et que la ligne moyenne est au-dessus de la ligne lente, une bouche d'alligator de tendance ascendante est formée pour aller long. Lorsque la ligne rapide est au-dessous de la ligne moyenne et que la ligne moyenne est au-dessous de la ligne lente, une bouche d'alligator de tendance descendante est formée pour aller court. Elle a été inventée par Bill Williams et combine la capacité de jugement de tendance des moyennes mobiles pour capturer efficacement les tendances du marché.

Comment fonctionne- t- il?

La stratégie utilise trois SMA de longueurs de période différentes - la ligne rapide sma1, la ligne moyenne sma2 et la ligne lente sma3, où sma1 a la période la plus courte et sma3 a la plus longue.

Lorsque sma1 dépasse sma2 et sma2 dépasse sma3, cela indique que le marché est dans une tendance à la hausse et forme une bouche d'alligator à la hausse.

À l'inverse, lorsque sma1 passe sous sma2 et sma2 passe sous sma3, cela indique que le marché est dans une tendance à la baisse et forme une bouche d'alligator à la baisse.

La condition de sortie est lorsque les trois lignes se réalignent, la ligne rapide étant au-dessous de la ligne moyenne ou la ligne moyenne au-dessous de la ligne lente.

La stratégie dessine également des couleurs de fond pour identifier la direction de la tendance - vert pour la tendance haussière et rouge pour la tendance baissière.

En résumé, la stratégie utilise les forces des moyennes mobiles et des modèles de bouche d'alligator pour déterminer la direction de la tendance et le commerce en conséquence.

Analyse des avantages

  • La bouche d'un alligator détermine efficacement la direction de la tendance.
  • La combinaison de différentes lignes périodiques améliore l'exactitude des modèles.
  • Le trading avec la tendance s'aligne sur la théorie du trading de tendance.
  • Les couleurs d'arrière-plan aident le jugement visuel.
  • Une logique simple et claire, facile à mettre en œuvre.

Analyse des risques

  • Des risques multiples sur différents marchés.
  • Risque élevé lorsque les lignes sont réalignées pour fermer les positions.
  • Incapacité de déterminer la force de la tendance, éventuellement entrée incorrectement dans les tendances.
  • Pas de stop loss, risque de retrait élevé.
  • Les périodes fixes ne peuvent pas s'adapter aux évolutions du marché.

Pour lutter contre les risques, les améliorations suivantes peuvent être apportées:

  1. Ajoutez un filtre de tendance pour éviter les fléchettes sur les marchés à variation.

  2. Optimiser les conditions de sortie en utilisant des indicateurs de tendance.

  3. Ajoutez une stratégie de stop loss pour contrôler les pertes d'une seule transaction.

  4. Utilisez des moyennes mobiles adaptatives afin que les périodes s'ajustent dynamiquement.

Directions d'amélioration

La stratégie peut être encore optimisée dans les aspects suivants:

  1. Ajoutez un filtre de force de tendance pour éviter une entrée prématurée dans les tendances faibles.

  2. Optimiser les périodes moyennes mobiles pour trouver les meilleures combinaisons grâce au backtesting.

  3. Utiliser des moyennes mobiles adaptatives afin que les périodes s'adaptent en fonction de la dynamique du marché.

  4. Ajoutez des stratégies de stop loss comme le stop loss de suivi, le stop loss du solde du compte pour contrôler les risques.

  5. Améliorer les conditions d'entrée en utilisant le volume, les bandes de Bollinger, etc. pour augmenter la précision.

  6. Améliorer les conditions de sortie en évaluant la probabilité d'inversion de tendance avec des indicateurs lorsque les lignes se croisent.

Conclusion

La stratégie Williams Alligator est une stratégie typique de suivi des tendances. Elle utilise la bouche d'alligator formée par trois moyennes mobiles pour déterminer la tendance et le commerce en conséquence. Les avantages sont sa logique simple et claire. Les inconvénients sont une précision de tendance et un contrôle des risques plus faibles. Des améliorations futures peuvent être apportées en incorporant des indicateurs supplémentaires, en optimisant les paramètres, en ajoutant un stop loss pour le rendre plus robuste pour des conditions de marché complexes.


/*backtest
start: 2023-10-13 00:00:00
end: 2023-11-12 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2019

//@version=3
strategy(title = "Noro's Alligator Strategy by Bill Williams", shorttitle = "Alligator", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot")
len1 = input(50, defval = 50, minval = 1, title = "MA 1 Length")
len2 = input(100, defval = 100, minval = 1, title = "MA 2 Length")
len3 = input(200, defval = 200, minval = 1, title = "MA 3 Length")
src = input(close, title = "Source")
showbg = input(false, title = "Show Background")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//MAs
sma1 = sma(src, len1)
sma2 = sma(src, len2)
sma3 = sma(src, len3)
plot(sma1, color = lime, linewidth = 2)
plot(sma2, color = blue, linewidth = 2)
plot(sma3, color = red, linewidth = 2)

//Signals
up = sma1 > sma2 and sma2 > sma3
dn = sma1 < sma2 and sma2 < sma3

//Background
trend = 0
trend := up ? 1 : dn ? -1 : trend[1]
col = showbg == false ? na : trend == 1 ? lime : red
bgcolor(col)

//Trading
size = strategy.position_size
lot = 0.0
lot := size != size[1] ? strategy.equity / close * capital / 100 : lot[1]
if up
    strategy.entry("Long", strategy.long, needlong ? lot : 0, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if dn
    strategy.entry("Short", strategy.short, needshort ? lot : 0, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))

if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()

Plus de