Williams % R Indicador Estratégia de negociação

Autora:ChaoZhang, Data: 14 de setembro de 2023
Tags:

Estratégia lógica

A estratégia de negociação Williams %R gera sinais baseados no indicador Williams Percent Range, que mede a dinâmica do mercado comparando a corrente próxima da faixa alta-baixa ao longo de um período.

A estratégia é longa quando a linha %R cruza acima de sobrevendido, e vende quando a linha cruza abaixo de sobrecomprado.

  1. Calcular Williams %R durante um período de tempo (por exemplo, 14 períodos)

  2. Níveis definidos de sobrecompra (por exemplo -20) e sobrevenda (por exemplo -80)

  3. Vá longo quando a linha % R cruza a sobrevenda

  4. Fechar compras quando a linha %R atravessa para baixo através de sobrecompra

Isso permite que as entradas em torno de pontos de reversão potenciais capitalizem movimentos de curto prazo.

Vantagens

  • Parâmetros e regras simples

  • Identificação precoce de sobrecompra/supervenda

  • Negociação sistemática de breakout

Riscos

  • % R atrasado pode perder oportunidades

  • Requer otimização de entradas

  • Os níveis de sobrevenda/compra são indicadores aproximados

Resumo

A estratégia Williams %R visa capturar reversões através da negociação de regiões sobrecompradas/supervendidas. Com o tamanho e as paradas adequadas da posição, o risco pode ser controlado.


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


Mais.