La stratégie de négociation Williams %R génère des signaux basés sur l'indicateur Williams Percent Range, qui mesure l'élan du marché en comparant le courant proche de la fourchette haute-basse sur une période.
La stratégie est longue lorsque la ligne %R traverse au-dessus de la survente, et vend lorsque la ligne traverse au-dessous de la surachat.
Calculer le Williams %R sur une période (par exemple 14 périodes)
Niveaux définis de surachat (par exemple -20) et de survente (par exemple -80)
Passez long lorsque la ligne %R traverse la survente
Fermer les positions longues lorsque la ligne %R traverse la ligne de surachat
Cela permet aux entrées autour de points de renversement potentiels de capitaliser sur les mouvements à court terme.
Paramètres et règles simples
Identification précoce de la surachat/survente
Opérations de rupture systématique
Un retard de %R peut vous faire rater des opportunités
Requiert une optimisation des entrées
Les niveaux de survente/achat sont des indications approximatives
La stratégie Williams %R vise à capturer les revers en négociant des régions surachetées/survendues. Avec une taille de position et des arrêts appropriés, le risque peut être contrôlé. Mais le retard est une limitation clé nécessitant des outils supplémentaires de validation et de prudence dans l'utilisation.
/*backtest start: 2023-01-01 00:00:00 end: 2023-09-13 00:00:00 period: 12h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // © Julien_Eche //@version=5 strategy("Williams %R Strategy", overlay=true, initial_capital=100000, shorttitle="W%R Strategy") // Paramètres length = input(14, "Length") overboughtLevel = input(-20, "Overbought Level") oversoldLevel = input(-80, "Oversold Level") // Calcul du Williams %R williamsR = -100 * (ta.highest(high, length) - close) / (ta.highest(high, length) - ta.lowest(low, length)) // Conditions d'achat et de vente buySignal = ta.crossover(williamsR, oversoldLevel) sellSignal = ta.crossunder(williamsR, overboughtLevel) // Entrée en position longue if buySignal strategy.entry("Buy", strategy.long) // Sortie de la position longue if sellSignal strategy.close("Buy")