Como o Ultimate Oscillator é calculado?
Resposta direta
O Ultimate Oscillator (frequentemente abreviado como “UO”) é calculado combinando três médias suavizadas de uma razão de pressão de compra calculada a partir da Máxima, Mínima e Fechamento de cada barra. As três médias usam diferentes comprimentos de retrospectiva (comumente 7, 14 e 28 períodos) e são combinadas com pesos (tipicamente 4, 2 e 1) para produzir um valor final entre 0 e 100.
Mecanismo e definição
1) Comece com “pressão de compra” e “true range”
Para cada barra i, defina:
- Pressão de Compra (BP) = Fechamentoᵢ − Mínimaᵢ
- True Range (TR) = máx(
- Máximaᵢ − Mínimaᵢ,
- |Máximaᵢ − Fechamentoᵢ₋₁|,
- |Mínimaᵢ − Fechamentoᵢ₋₁| )
Esses dois componentes são usados para formar uma razão de pressão de compra:
- BP/TR
Conceitualmente, o BP mede o quanto o Fechamento está posicionado em direção ao topo da barra (em relação à Mínima), enquanto o TR mede o tamanho do intervalo da barra, incluindo gaps em relação ao Fechamento anterior. A razão BP/TR expressa a pressão de compra em relação ao tamanho do movimento.
2) Suavize a razão em três janelas de retrospectiva
Escolha três comprimentos de retrospectiva:
- a (frequentemente 7)
- b (frequentemente 14)
- c (frequentemente 28)
Calcule três somas suavizadas (em cada janela terminando na barra i):
- Média₁ = soma(BP nas últimas a barras) / soma(TR nas últimas a barras)
- Média₂ = soma(BP nas últimas b barras) / soma(TR nas últimas b barras)
- Média₃ = soma(BP nas últimas c barras) / soma(TR nas últimas c barras)
Essa abordagem de “soma dos numeradores sobre soma dos denominadores” faz com que o UO dependa da pressão acumulada e do intervalo acumulado em cada janela, em vez de depender apenas do BP/TR da barra mais recente.
3) Combine as três médias com pesos e dimensione para 0–100
O Ultimate Oscillator é então calculado como uma combinação ponderada:
- UO = 100 × (4 × Média₁ + 2 × Média₂ + Média₃) / (4 + 2 + 1)
Como (4 + 2 + 1) = 7 no esquema de ponderação comum, isso simplifica para:
- UO = 100 × (4 × Média₁ + 2 × Média₂ + Média₃) / 7
O resultado é tipicamente interpretado em uma escala de 0–100.
Evidência ou um exemplo prático verificável (sem dados ao vivo)
Para verificar se você consegue reproduzir o cálculo, use um pequeno conjunto de dados hipotético.
Premissas:
- Use janelas padrão a=2, b=3, c=4 (encurtadas para que o exemplo seja compacto).
- Use três pesos 4, 2 e 1 (mesma abordagem usual).
Suponha que você tenha as barras 1–4 com Máxima, Mínima e Fechamento, e calcule o TR usando o Fechamento anterior (então o TR para a barra 1 exigiria uma barra 0 anterior; para simplificar, comece na barra 2).
Para cada barra i (começando em i=2):
- BPᵢ = Fechamentoᵢ − Mínimaᵢ
- TRᵢ = máx(Máximaᵢ − Mínimaᵢ, |Máximaᵢ − Fechamentoᵢ₋₁|, |Mínimaᵢ − Fechamentoᵢ₋₁|)
- Em seguida, acumule em cada janela:
- somaBP(a) = BP nas últimas a barras
- somaTR(a) = TR nas últimas a barras
- Média₁ = somaBP(a) / somaTR(a)
- repita para b e c.
- Finalmente:
- UO = 100 × (4×Média₁ + 2×Média₂ + Média₃)/7
O que você deve observar ao recalcular cuidadosamente:
- Se o Fechamento repetidamente se posiciona perto das mínimas, o BP se torna pequeno, diminuindo as Médias₁/₂/₃ e puxando o UO para baixo.
- Se as barras forem largas (TR grande), mas os fechamentos não estiverem perto das máximas, a razão ainda pode permanecer moderada, impedindo que o UO dispare apenas por causa do alto intervalo.
Mesmo sem números exatos mostrados aqui, as etapas de cálculo são totalmente determinísticas, dados Máxima/Mínima/Fechamento (e pelo menos um Fechamento anterior para o TR).
Limitações e riscos (modos de falha materiais)
1) O alinhamento dos dados é importante
O UO requer uma definição consistente de barra. Se sua série de Máxima/Mínima/Fechamento estiver em um período de tempo, mas você aplicar parâmetros em outro, seu BP e TR calculados não corresponderão às mesmas “barras”, produzindo valores que diferem dos resultados esperados.
2) “Barras suficientes” são necessárias
Como o UO usa três janelas (a, b, c), você não pode calcular um valor totalmente formado até ter pelo menos c barras (mais o Fechamento anterior extra necessário para o TR no primeiro cálculo de TR). Os valores iniciais podem estar ausentes ou parciais em diferentes implementações.
3) Divisão por zero ou TR próximo de zero
A razão Média = soma(BP)/soma(TR) assume que soma(TR) é diferente de zero. Em dados de mercado típicos, o TR raramente é exatamente zero, mas com conjuntos de dados muito pequenos ou sintéticos, soma(TR) pode ser extremamente pequena. Isso pode tornar a razão instável.
4) Softwares diferentes podem usar convenções ligeiramente diferentes
Algumas plataformas usam padrões comuns (a=7, b=14, c=28 e pesos 4/2/1), mas podem implementar:
- tratamento diferente da(s) primeira(s) barra(s) onde Fechamentoᵢ₋₁ não está disponível,
- precisão numérica diferente,
- ou interpretação de período diferente (especialmente para espaçamento de barras não padrão). Portanto, a verificação independente deve incluir a checagem de como os primeiros valores de TR são calculados e como os valores iniciais de UO são tratados.
5) A interpretação não é a mesma que um sinal independente
O UO é um oscilador de estilo momentum derivado de razões de componentes de movimento de preço. Como a maioria dos osciladores, pode ser sensível a mudanças de regime, agrupamento de volatilidade e escolha do período de tempo. Deve ser visto como uma saída de medição, não como uma regra de decisão garantida.
Verificação e próxima pergunta
Para verificar independentemente o cálculo:
- Escolha parâmetros explícitos (seus a, b, c escolhidos e os pesos 4,2,1).
- Para cada barra, calcule BP = Fechamento − Mínima.
- Para cada barra, calcule TR = máx(Máxima−Mínima, |Máxima−FechamentoAnterior|, |Mínima−FechamentoAnterior|).
- Calcule três razões de janela usando soma(BP)/soma(TR).
- Combine-as no UO usando UO = 100 × (4×Média₁ + 2×Média₂ + Média₃)/7.
Se quiser, você também pode comparar seu UO calculado com o que uma ferramenta de gráficos mostra, mas certifique-se de corresponder ao período de tempo, à convenção de fechamento de barra e à definição exata de TR usada por essa ferramenta.
Você também pode querer verificar como o UO se compara a osciladores de momentum relacionados e como alterar as configurações (a, b, c) muda a suavização e a capacidade de resposta em horizontes mais curtos versus mais longos.