Oscillator Regime Suite
- Indicadores
-
Narayanan Mohanan Mohanan Krishnan
Desenvolvedor MT5/MQL5 especializado na criação de Expert Advisors, indicadores personalizados e ferramentas de backtesting e validação. Meu foco é desenvolver código limpo, bem documentado e sem repaint, utilizando lógica baseada em candles fechados, buffers validados e gerenciamento adequado de - Versão: 1.0
- Ativações: 10
Este indicador aplica a construção de convergência/divergência — média móvel rápida menos lenta, com uma linha de sinal — a uma série derivada do volume, e não ao preço. Há três fontes selecionáveis: Delta de Volume Acumulado, Índice de Força e On Balance Volume.
Sobre o resultado são traçadas bandas de volatilidade adaptativas, e cada barra fechada é classificada em um de cinco estados de regime. Esse estado é exposto como um buffer numérico, de modo que um Expert Advisor pode lê-lo diretamente.
Por que a fonte importa
Um MACD padrão mede o momento do preço, que em boa parte já é visível nos candles acima. Estas três fontes medem outra coisa: se o volume estava sendo acumulado ou distribuído enquanto aquele movimento de preço acontecia.
As três não são intercambiáveis, e uma das capturas mostra as três no mesmo gráfico com configurações idênticas, para que as diferenças fiquem visíveis lado a lado.
- Delta de Volume Acumulado — volume com sinal acumulado, reancorado no início de cada dia, semana ou mês. É a ancoragem que o torna uma medida de sessão, e não de todo o histórico.
- Índice de Força — a variação de preço da barra multiplicada pelo seu volume, depois suavizada. Uma grandeza distinta das outras duas.
- On Balance Volume — volume com sinal acumulado de forma contínua desde o início do histórico, sem reinícios.
O delta de volume e o OBV compartilham a mesma base — volume com sinal acumulado — e diferem apenas pela ancoragem. Definindo o delta como contínuo, ambos produzem a mesma série, o que serve como uma verificação útil de que os dois caminhos de cálculo concordam.
Os cinco estados de regime
Cada barra fechada é classificada pela posição do histograma em relação às bandas e por estar ou não ainda em expansão:
- Fortemente altista — acima da banda superior e ainda em expansão. Valor do buffer +2
- Levemente altista — acima da banda superior, mas perdendo força. Valor do buffer +1
- Neutro — dentro das bandas. Valor do buffer 0
- Levemente baixista — abaixo da banda inferior, mas arrefecendo. Valor do buffer −1
- Fortemente baixista — abaixo da banda inferior e ainda em expansão. Valor do buffer −2
O rompimento de uma banda, por si só, não diz se um movimento ainda tem força. O que distingue um movimento que continua se formando de outro que já começou a se esgotar é a direção do histograma, e é exatamente isso que os cinco estados codificam.
Ajustando o quanto a classificação é seletiva
As bandas são um desvio padrão em torno de uma média móvel, portanto se alargam quando a atividade aumenta e se contraem quando ela diminui. Dois parâmetros controlam a frequência com que os estados mudam.
O período das bandas define a janela. Aplicar bandas à linha de sinal determina se elas são medidas sobre o sinal ou sobre o próprio histograma. Duas capturas mostram a diferença: nos valores padrão os estados se alternam ao longo de um movimento, ao passo que, com as bandas tomadas sobre o histograma em um período mais longo, o histograma permanece dentro delas a maior parte do tempo e só é colorido em rompimentos claros.
Nenhuma das duas configurações é a correta. Depende de você querer que a classificação acompanhe cada oscilação ou que marque apenas os extremos.
Leitura a partir de um Expert Advisor
O viés de regime é o buffer 6, não o buffer 5. O buffer 1 guarda o índice de cor do histograma e o buffer 5 sustenta um plot oculto, de modo que os buffers de dados não são numerados consecutivamente com os plots visíveis. Isso costuma confundir, e por isso está dito aqui de forma explícita.
int h = iCustom(_Symbol, _Period, "OscillatorRegimeSuite"); double bias[]; ArraySetAsSeries(bias, true); CopyBuffer(h, 6, 0, 100, bias); // +2, +1, 0, -1 ou -2
- 0 — histograma
- 1 — índice de cor do histograma
- 2 — linha de sinal
- 3 — banda superior
- 4 — banda inferior
- 5 — plot auxiliar
- 6 — viés de regime, a saída destinada ao EA
Os buffers 7 e 8 contêm as médias móveis rápida e lenta e são de uso interno. Não fazem parte da interface documentada.
Uma das capturas mostra a janela de dados com esses valores identificados sobre uma única barra, ao lado do MACD integrado no mesmo gráfico para comparação.
Parâmetros
- Série de origem — Delta de Volume Acumulado, Índice de Força ou On Balance Volume
- Volume aplicado — volume de ticks ou volume real
- Ancoragem do delta — contínua, diária, semanal ou mensal; aplica-se somente à fonte de delta de volume
- Suavização do Índice de Força — período e método, apenas para essa fonte; 13 e simples por padrão
- Médias rápida e lenta — período e método de cada uma; 12 e 26, ambas exponenciais por padrão
- Média do sinal — período e método; 9 e simples por padrão
- Ativar bandas e classificação de regime — desativando, resta um oscilador de convergência/divergência simples, sem estados
- Aplicar bandas à linha de sinal — ativado por padrão; desativando, elas são medidas sobre o histograma
- Período das bandas e multiplicador de desvio — 20 e 1,618 por padrão
O que as capturas de tela mostram
- As três fontes em um mesmo gráfico — Bitcoin semanal, configurações idênticas, com o MACD integrado abaixo como referência. As três séries de volume diferem entre si e do momento do preço.
- Os cinco estados em uma reversão — EURGBP H4, onde a progressão de fortemente baixista até neutro, depois fortemente altista e de volta, é legível barra a barra.
- A janela de dados — todos os buffers identificados sobre uma única barra, com o viés de regime em −2,00, ao lado dos dois valores sem identificação do MACD integrado.
- Um movimento brusco no USDJPY de uma hora — a série de volume passou a negativa enquanto o MACD de preço ainda estava positivo. Uma janela em um instrumento; veja abaixo a nota sobre o que isso mostra e o que não mostra.
- Ouro em M15 com ancoragem diária — o delta se reinicia a cada sessão, ao lado de uma instância de OBV bem mais lenta no mesmo gráfico.
- Prata H4 com 50/200/20 e US30 diário com 34/89/13 — os períodos são parâmetros, e a classificação se sustenta em configurações bem distantes das padrão.
- Uma configuração seletiva — GBPUSD de uma hora com as bandas sobre o histograma em um período mais longo, onde a maioria das barras permanece neutra e apenas rompimentos claros são coloridos.
- O aviso de ancoragem — uma ancoragem diária solicitada em um gráfico diário, onde ela se reiniciaria a cada barra. O indicador informa isso no registro de Experts e passa a usar uma série contínua.
- A janela de parâmetros — todas as configurações, com o indicador visível ao fundo.
Comportamento do cálculo
Os valores das barras fechadas são definitivos. A barra em formação é atualizada até fechar e recalculada a cada tick, em vez de ser congelada no primeiro contato.
As fontes acumuladas avançam uma barra por vez a partir do valor da barra anterior, de modo que reprocessar a barra em formação não pode contabilizar seu volume duas vezes — uma falha que faz uma série acumulada derivar para cima sem limite.
Nada é desenhado antes de o cálculo dispor do histórico necessário. Com os períodos padrão isso corresponde a 55 barras, e aumenta se o período das bandas for alongado ou se a fonte Índice de Força for usada. Os valores nunca são calculados sobre uma janela incompleta e depois exibidos como se estivessem completos.
Uma ancoragem que não pode funcionar no prazo atual — um reinício diário em um gráfico diário, por exemplo, que se reiniciaria a cada barra — é informada no registro de Experts e substituída por uma série contínua. O nome da janela muda de acordo, de modo que o gráfico sempre indica qual série está de fato sendo exibida.
Observações
- Desenha em uma janela separada, com nove buffers, sete deles documentados acima.
- As bandas são sempre calculadas sobre uma média móvel simples, qualquer que seja o método escolhido para a linha de sinal. Essa é a convenção usual para bandas baseadas em desvio padrão.
- O volume real só está disponível onde a sua corretora o fornece. O volume de ticks é o padrão e funciona em qualquer caso.
- Mais de uma instância pode ser anexada ao mesmo gráfico, com fontes ou períodos diferentes.
- Sem dependências externas. Todos os valores são calculados dentro do indicador. Ele não chama nenhum outro indicador, portanto não há handles que possam falhar, não há nada a instalar junto e não há dependência do estado da sua pasta padrão de indicadores.
O que é e o que não é
Esta é uma ferramenta de análise técnica e de filtragem das condições de mercado. Não é um sistema de negociação, não produz sinais de compra ou venda, não fornece consultoria de investimento e não abre nem gerencia posições.
É descritiva, não preditiva. Quando uma captura mostra uma série de volume virando antes do preço, trata-se de uma janela em um instrumento, escolhida por ser ilustrativa. Isso não é prova de que a série anteceda o preço, e sustentar tal afirmação exigiria testes em muitos instrumentos e condições de mercado. Nenhuma afirmação é feita sobre desempenho.
| Mais ferramentas deste desenvolvedor Desenvolvo indicadores e Expert Advisors para MT5 com ênfase em código limpo, documentado e sem repintura: lógica em barras fechadas, buffers validados e nenhuma dependência de outros indicadores. Duas das três fontes também são publicadas separadamente, gratuitas: Anchored Volume Delta with Adaptive Bands e Force Index with Adaptive Volatility Bands. Cada um traça uma série com as bandas, mas sem a classificação de regime, e são uma boa forma de ver se a abordagem lhe serve antes de comprar este. Se quiser apenas a fonte On Balance Volume com a classificação de cinco estados, o OBVCD Pro faz exatamente isso como indicador de fonte única. Ver todos os produtos publicados → Dúvidas sobre o cálculo, os buffers ou o uso deste indicador no seu próprio EA? Envie-me uma mensagem privada — terei prazer em responder. |
Desenvolvido e mantido por Narayanan Mohanan, desenvolvedor MT5/MQL5.
Se encontrar algum erro na tradução desta página, entre em contato comigo e farei a correção.
