Stratégie de négociation de l'indicateur Williams %R

Auteur:ChaoZhang est là., Date: 14 septembre 2023 à 15h38
Les étiquettes:

La logique de la stratégie

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.

  1. Calculer le Williams %R sur une période (par exemple 14 périodes)

  2. Niveaux définis de surachat (par exemple -20) et de survente (par exemple -80)

  3. Passez long lorsque la ligne %R traverse la survente

  4. 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.

Les avantages

  • Paramètres et règles simples

  • Identification précoce de la surachat/survente

  • Opérations de rupture systématique

Les risques

  • 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

Résumé

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")


Plus de