mtcli-vap
Plugin Volume At Price (VAP) para o mtcli, inspirado no Volume At Price do Profit (Nelógica), com foco em leitura de volume por preço, acessibilidade e uso em terminal.
O mtcli-vap apresenta o VAP de forma textual, ordenável e scriptável, ideal para traders que trabalham com price action, fluxo de ordens e volume, sem dependência de gráficos.
##Características
- Volume At Price por preço
- Distribuição de volume ao longo do range do candle
- Ordenação por volume ou por preço
- Percentual do volume total por nível
- Totalmente acessível (compatível com NVDA, JAWS, leitores de tela)
- Arquitetura MVC (Model / View / Controller)
- Fácil de testar e evoluir
- Saída em texto puro, ideal para CLI, logs e pipes
🎯 Objetivo do projeto
Este plugin busca reproduzir conceitualmente o comportamento do Volume At Price do Profit, respeitando as limitações do MetaTrader 5 (uso de candles em vez de Times & Trades), mas aplicando técnicas que reduzem vieses comuns, como:
- Concentrar todo o volume no preço de fechamento
- Distribuir o volume entre todos os níveis do candle
O resultado é um mapa de volume por preço muito mais fiel, utilizável em leitura de fluxo e contextos de day trade.
Instalação
Este plugin faz parte do ecossistema mtcli.
pip install mtcli-vap
Clone o repositório e instale em modo desenvolvimento:
git clone https://github.com/seu-usuario/mtcli-vap.git
cd mtcli-vap
pip install -e .
É necessário ter o MetaTrader 5 instalado e configurado no sistema.
Uso básico
mtcli vap --symbol WDOF26
Saída (exemplo):
--------------------------------------------
Volume At Price (VAP)
--------------------------------------------
Preço | Volume | %
--------------------------------------------
102.450 | 12.340 | 18.2
102.500 | 9.810 | 14.5
102.400 | 7.220 | 10.7
Opções disponíveis
Símbolo
--symbol, -s
Símbolo do ativo no MetaTrader 5.
Exemplo:
mtcli vap --symbol WINZ25
Timeframe
--period, -p
Timeframe usado para construir o VAP.
Valores aceitos:
M1, M5, M15, M30, H1, H4, D1
Número de candles
--limit, -l
Quantidade de candles analisados.
Exemplo:
mtcli vap --symbol WDOF26 --limit 300
Ordenação
--sort volume|price
volume(padrão): mostra primeiro os preços mais relevantesprice: mostra o VAP como um mapa contínuo de preços
Exemplos:
mtcli vap --symbol WDOF26 --sort volume
mtcli vap --symbol WDOF26 --sort price
Como o VAP é calculado
- Os candles são obtidos via MetaTrader 5
- O volume de cada candle é extraído (
real_volumeoutick_volume) - O range
[low, high]do candle é dividido respeitando o tick size - O volume é distribuído igualmente entre todos os níveis de preço
- Os volumes são agregados por preço
Essa abordagem aproxima o cálculo do VAP real baseado em negócios, utilizado no Profit.
Estrutura do projeto (MVC)
mtcli_vap/
├── cli.py # Interface de linha de comando (Click)
├── controller.py # Orquestra Model → View
├── model.py # Cálculo do VAP
├── view.py # Renderização textual acessível
├── conf.py # Configurações (DIGITOS, TICK_SIZE)
Acessibilidade
Este plugin foi projetado para:
- Uso sem gráficos
- Saída textual clara
- Compatibilidade com leitores de tela
- Leitura sequencial e previsível
Isso o torna adequado para:
- Ambientes headless
- Traders com deficiência visual
- Automação e scripts
Roadmap (planejado)
- Destaque do POC (Point of Control)
- Cálculo de VAH / VAL (Value Area)
- Filtro
--top N - Delta por preço (quando houver fonte de dados)
- Integração com Market Profile textual
⚠️ Limitações conhecidas
- O MetaTrader 5 não fornece Times & Trades completos
- O VAP é uma aproximação baseada em candles
- Não há agressão real de compra/venda (por enquanto)
Mesmo assim, a distribuição por range reduz significativamente os vieses tradicionais.
Contribuições
Contribuições são bem-vindas.
Sugestões comuns:
- Otimização de performance
- Novos formatos de saída
- Métricas de fluxo
- Integração com outras fontes de dados
Abra uma issue ou envie um pull request.
Licença
MIT License.
Inspiração
- Volume At Price — Profit / Nelógica
- Market Profile
- Tape Reading
- Price Action baseado em volume
Metadata
Release files for mtcli-vap 1.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mtcli_vap-1.2.2.tar.gz | 8.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mtcli_vap-1.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.7 kB
Release files / mtcli_vap-1.2.2.tar.gz
| Download URL | mtcli_vap-1.2.2.tar.gz |
|---|---|
| Size | 8.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fcb375a7a5d4e9221fd592513d45283ddef99cbf4de8cbc3e65e76499e281293
|
|
BLAKE2b-256 checksum How to use checksums |
724851abff82a5353f3ee5a175db61729e73a49235a82a11a5bbb82227e25d47
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.2.1 CPython/3.13.12 Windows/11
|
Release files / mtcli_vap-1.2.2-py3-none-any.whl
| Download URL | mtcli_vap-1.2.2-py3-none-any.whl |
|---|---|
| Size | 10.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
58f3abf139ee7b7b6bef3b5911112a69f058eca3b4d0be4827b738802bbabd0c
|
|
BLAKE2b-256 checksum How to use checksums |
b06afb945f58e4925c896d9238198458f349ce224a13affeefb523ace4782212
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.2.1 CPython/3.13.12 Windows/11
|