Participe de nossa página de fãs
Coloque um link para ele, e permita que outras pessoas também o avaliem
Avalie seu funcionamento no terminal MetaTrader 5
- Visualizações:
- 12
- Avaliação:
- Publicado:
-
Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance
Detector de transferência de liquidez
A ideia por trás disso
Máximas e mínimas históricas tendem a acumular ordens de stop-loss e de rompimento logo além delas — esse aglomerado de ordens é a “liquidez”, e o preço é frequentemente empurrado apenas o suficiente além do nível para acioná-lo antes de reverter na direção oposta. Este indicador formaliza esse padrão em duas etapas: primeiro, ele identifica pontos de oscilação fractais genuínos (uma alta ou baixa que seja o extremo de sua própria vizinhança local em ambos os lados); depois, monitora cada barra fechada a partir daí em busca de uma sombra que ultrapasse um desses níveis por uma margem significativa e feche do outro lado — a assinatura de uma varredura, em vez de um rompimento genuíno.
A confirmação da oscilação, por definição, sofre um atraso de algumas barras (um pivô só pode ser confirmado quando houver barras suficientes à sua direita para comprovar que foi o extremo local), e as verificações de varredura só são executadas em barras que fecharam completamente; portanto, nada aqui é repintado depois de traçado: um nível, uma vez confirmado, permanece exatamente onde foi confirmado, e uma seta de varredura, uma vez traçada, permanece exatamente na barra que a acionou.
Como interpretá-lo
- Linha de nível (padrão cinza, tracejada) — uma alta ou baixa de oscilação confirmada, traçada a partir da barra em que se formou. Ela se estende em tempo real até a barra atual enquanto não for varrida.
- Seta para cima (verde por padrão) — uma varredura de alta: o preço oscilou abaixo de uma mínima de oscilação e fechou novamente acima dela — uma possível captação de liquidez antes de um movimento de alta.
- Seta para baixo (padrão: vermelha) — uma varredura de baixa: o preço ultrapassou uma alta de oscilação e fechou novamente abaixo dela — uma possível captação de liquidez antes de um movimento de baixa.
- Uma linha que fica cinza/congelada — esse nível acaba de ser varrido; sua linha para de se estender exatamente na barra de varredura, em vez de continuar adiante, de modo que os níveis antigos, já varridos, ficam visualmente distintos daqueles ainda “ativos”.
- Rótulo de preço (opcional) — mostra o preço exato do nível ao lado de cada seta de varredura, para que você não precise passar o mouse sobre a linha para lê-lo.
Variáveis externas (entradas)
| Entrada | Padrão | Finalidade |
|---|---|---|
| InpSwingLookback | 5 | Número de barras necessárias de cada lado de uma barra candidata para que ela seja confirmada como uma máxima/mínima de oscilação. |
| InpMaxLevelsToTrack | 20 | Número máximo de níveis mantidos no gráfico ao mesmo tempo; o nível mais antigo entre os rastreados é removido sempre que um novo ultrapassar esse limite. |
| InpMinWickPoints | 30 | Distância mínima da sombra além de um nível, em pontos, para que uma vela perfurante seja considerada uma varredura genuína. |
| InpRequireCloseBackInside | true | Quando verdadeiro, a vela também deve fechar de volta no lado original do nível; quando falso, qualquer mecha suficientemente profunda é válida. |
| InpOneSweepPerLevel | true | Quando verdadeiro, um nível deixa de ser verificado após sua primeira varredura; quando falso, o mesmo nível pode produzir vários sinais de varredura ao longo do tempo. |
| InpShowLevels | true | Desenha as próprias linhas de nível de oscilação, e não apenas as setas de varredura. |
| InpExtendLevelsUntilSwept | verdadeiro | Quando definido como “true”, a linha de um nível não varrido continua se estendendo dinamicamente até a barra atual; quando definido como “false”, ela para após um número fixo de barras. |
| InpLevelExtendBars | 50 | Comprimento fixo de extensão (em barras), usado apenas quando InpExtendLevelsUntilSwept está definido como false. |
| InpLevelColor / InpSweptLevelColor | Prata / Cinza escuro | Cor da linha para um nível antes e depois de ter sido varrido. |
| InpBullishSweepColor / InpBearishSweepColor | Verde-limão / Vermelho | Cor da seta e do rótulo para sinais de alta (mínimo varrido) versus sinais de baixa (máximo varrido). |
| InpShowLabels | true | Exibe o nível exato do preço ao lado de cada seta de varredura. |
| InpArrowWidth | 2 | Largura dos marcadores das setas de varredura. |
Uso recomendado
Funciona em qualquer símbolo e em qualquer período de tempo; os conceitos de liquidez baseados em oscilações se aplicam da mesma forma, independentemente do instrumento — embora, como em qualquer método de pivô fractal, um valor maior de InpSwingLookback em um período de tempo menor identifique menos níveis, porém mais significativos, enquanto um valor menor identifique mais níveis, mas com maior ruído. Como a confirmação do pivô requer barras em ambos os lados, espere um atraso de InpSwingLookback barras entre a formação efetiva de um swing e o aparecimento de seu nível no gráfico — essa é uma propriedade estrutural da detecção fractal, não um bug, e é o que impede que o indicador seja repintado.
Um “sweep” é uma observação de padrão, não um sinal de negociação por si só — ele indica que provavelmente houve retirada de liquidez em um nível e que o preço o rejeitou, o que muitos traders utilizam como uma confirmação entre várias, em vez de um gatilho automático de entrada. Este indicador apenas lê dados de preço e nunca abre, modifica ou fecha nenhuma ordem, portanto, é seguro executá-lo em qualquer tipo de conta.
Todos os objetos do gráfico são criados sob um único prefixo de nome interno e são totalmente removidos por meio da função ObjectsDeleteAll() no método OnDeinit() quando o indicador é desativado, de modo que não deixa nenhum resquício no gráfico.

Fig. 1. Uma varredura de alta em uma mínima de oscilação e uma varredura de baixa em uma máxima de oscilação no XAUUSD M15. Representado em preto e branco de acordo com as diretrizes de imagem da Base de Código (750×500 px).
Traduzido do inglês pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/en/code/76586
Interactive On-Chart Risk Management and Execution Panel
Um painel de interface gráfica interativo para o MetaTrader 5, projetado para operadores manuais e desenvolvedores quantitativos. Ele automatiza o dimensionamento dinâmico das posições com base na porcentagem exata de risco do patrimônio líquido da conta, oferece execução de ordens com um clique (Compra/Venda), ponto de equilíbrio instantâneo, funcionalidade “Fechar tudo” e gerenciamento contínuo do Trailing Stop em tempo real.
MT5 Vertical Scroll
Isso permite que o gráfico do MT5 seja rolado da mesma forma que o gráfico do TradingView, com um botão automático para reiniciar
Blocos de Ordens Volumétricos de Ação de Preço MT5
Indicador MT5 de código aberto para a estrutura de mercado confirmada, blocos de ordens volumétricos e estimativa da atividade de compra/venda.
Accelerator Oscillator (AC)
O Indicador Acceleration/Deceleration (Aceleração/Desaceleração ou AC) mede a aceleração e a desaceleração da força motriz atual do mercado.