
Cette stratégie utilise la stratégie expliquée par Larry Williams dans son livre de trading secret à court terme à long terme, qui utilise deux moyennes mobiles à 3 périodes, l’une représentant les hauts et l’autre les bas. Lorsque le prix est inférieur à la moyenne mobile à 3 périodes de basses, nous avons un signal de position longue.
La logique centrale de la stratégie est de calculer une moyenne mobile en 3 phases pour les hauts et les bas. Plus précisément, elle utilise la fonction ta.ema pour calculer les moyennes mobiles des hauts et des bas des 3 dernières barres afin de produire des points de support et de résistance dynamiques. Lorsque le prix tombe au-dessous de la moyenne des hauts, cela indique qu’il est actuellement en baisse, ce qui nous permet de faire plus; lorsque le prix remonte au-dessus de la moyenne des hauts, cela indique que la tendance haussière est terminée et que nous devons nous désengager.
Le plus grand avantage de cette stratégie réside dans sa simplicité et sa dynamique. Par rapport aux moyennes à points hauts et bas traditionnelles à un certain laps de temps, cette stratégie utilise des moyennes mobiles à court terme calculées en continu, plus sensibles et plus en temps opportun pour capturer les variations de prix. Cela lui permet d’identifier rapidement les points de vente et d’achat, permettant ainsi d’entrer et de sortir du marché.
Le principal risque de cette stratégie est qu’elle réagit lentement aux événements inattendus tels que les événements de grande envergure. En raison de sa courte période de moyenne mobile, il faut un certain temps pour ajuster la position de la moyenne lorsque des fluctuations fortes se produisent. Cela peut entraîner des pertes ou des opportunités manquées.
Il y a encore beaucoup de place pour l’optimisation de cette stratégie. Premièrement, nous pouvons combiner d’autres indicateurs tels que l’indicateur de choc pour filtrer et rendre le signal plus fiable. Deuxièmement, nous pouvons également ajouter de la logique de stop-loss pour contrôler les risques.
Cette stratégie est très simple et pratique dans l’ensemble, permettant de juger de la tendance à travers la moyenne à court terme des hauts et des bas. Ses avantages sont sa dynamique, son faible volume de calcul, sa haute réactivité et sa convivialité pour les transactions fréquentes. Cependant, il existe également des problèmes d’insensibilité à la réaction aux événements soudains et d’un taux d’erreur de signal élevé.
/*backtest
start: 2023-11-26 00:00:00
end: 2023-12-03 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(
"Larry Williams 3 Period EMAs strategy",
overlay=true,
calc_on_every_tick=true,
currency=currency.USD
)
// Time range for backtesting
startDate = input.int(title="Start Date", defval=1, minval=1, maxval=31)
startMonth = input.int(title="Start Month", defval=1, minval=1, maxval=12)
startYear = input.int(title="Start Year", defval=2018, minval=1800, maxval=2100)
endDate = input.int(title="End Date", defval=31, minval=1, maxval=31)
endMonth = input.int(title="End Month", defval=12, minval=1, maxval=12)
endYear = input.int(title="End Year", defval=2041, minval=1800, maxval=2100)
inDateRange = (time >= timestamp(syminfo.timezone, startYear, startMonth, startDate, 0, 0)) and
(time < timestamp(syminfo.timezone, endYear, endMonth, endDate, 0, 0))
// EMA
period = 3
emaH = ta.ema(high, period)
emaL = ta.ema(low, period)
// PLOT:
// Draw the EMA lines on the chart
plot(series=emaH, color=color.green, linewidth=2)
plot(series=emaL, color=color.red, linewidth=2)
// Conditions
if(inDateRange and close < emaL)
strategy.entry("Long", strategy.long, comment="Long")
if(close > emaH)
strategy.close("Long", comment="Close Long")
// Uncomment to enable short entries
//if(inDateRange and close > emaH)
// strategy.entry("Short", strategy.short, comment="Short")
//if(close < emaL)
// strategy.close("Short", comment="Close Short")