Plugin mtcli da VWAP
Project description
mtcli-vwap
Plugin do mtcli para cálculo da VWAP (Volume Weighted Average Price) a partir de dados intraday do MetaTrader 5.
O plugin foi projetado para uso em linha de comando, com saída textual simples e compatível com leitores de tela (NVDA, JAWS), seguindo uma arquitetura organizada em MVC.
O que é VWAP?
A VWAP (Volume Weighted Average Price) é o preço médio ponderado pelo volume negociado.
Ela é amplamente utilizada por traders institucionais como referência de preço justo intraday.
Fórmula:
VWAP = Σ(preço × volume) / Σ(volume)
Funcionalidades
- Cálculo de VWAP intraday
- Suporte a múltiplos timeframes (M1 até H4)
- Integração direta com o MetaTrader 5
- Uso de contexto seguro de conexão (
mt5_conexao) - Saída textual simples (ideal para terminal)
- Arquitetura MVC (Model / Controller / View)
📦 Instalação
Pré-requisitos
- Python 3.10+
- MetaTrader 5 instalado e configurado
- Conta e terminal abertos no MT5
- Biblioteca
MetaTrader5funcionando
Instalação via pip (modo desenvolvimento)
pip install -e .
Ou:
pip install mtcli-vwap
Uso
Comando principal:
mtcli vwap
Opções disponíveis
| Opção | Descrição |
|---|---|
-s, --symbol |
Código do ativo (ex: WDOF26, WINF26) |
-m, --minutes |
Timeframe em minutos |
-l, --limit |
Número de barras utilizadas no cálculo |
Exemplo
mtcli vwap --symbol WDOF26 --minutes 5 --limit 100
Timeframes suportados
- M1, M2, M3, M4
- M5, M6, M10, M12, M15, M20, M30
- H1, H2, H3, H4
Caso um timeframe não seja informado corretamente, o padrão é M1.
Arquitetura
mtcli_vwap/
├── cli.py # Interface de linha de comando
├── controller.py # Orquestração da lógica
├── model.py # Cálculo da VWAP (dados + regra)
├── view.py # Saída textual
├── conf.py # Configurações padrão
Observações importantes
- O cálculo usa datetime em UTC, conforme padrão do MetaTrader 5.
- A VWAP é calculada apenas com dados intraday.
- Caso o símbolo não esteja disponível no MT5, o comando retorna erro e não quebra a execução.
Conexão com o MetaTrader 5
A conexão é gerenciada via:
with mt5_conexao():
...
Isso garante:
- Inicialização segura
- Finalização correta
- Evita múltiplas conexões simultâneas
Público-alvo
- Traders discricionários
- Scalpers e day traders
- Desenvolvedores de ferramentas CLI para trading
- Usuários que analisam VWAP, Market Profile e Volume Profile
Licença
Este projeto é licenciado sob a GNU General Public License v3.0 (GPL-3.0).
Você é livre para usar, modificar e redistribuir este software, desde que qualquer trabalho derivado também seja distribuído sob a mesma licença.
Autor
Valmir França 📧 vfranca3@gmail.com
Projetos relacionados
mtclimtcli-market
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mtcli_vwap-1.0.1.tar.gz.
File metadata
- Download URL: mtcli_vwap-1.0.1.tar.gz
- Upload date:
- Size: 16.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.13.7 Windows/11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0d8be8dbd3a3e949562486694047d75221dcfbf97e78cbfe9c5bd99e72bc440d
|
|
| MD5 |
e8495f0b0faabb32ac974f9edd619e45
|
|
| BLAKE2b-256 |
5ff3290d0b144eed83b2f8f0d52bb18cc38bcc231f004c1e0c1286003fd58557
|
File details
Details for the file mtcli_vwap-1.0.1-py3-none-any.whl.
File metadata
- Download URL: mtcli_vwap-1.0.1-py3-none-any.whl
- Upload date:
- Size: 18.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.13.7 Windows/11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2950b2b3438fcbd49907dcdea7fb9ec6233425fdca25ccba64809a7c5a360528
|
|
| MD5 |
91242e48aa2974a36dd0802af40b2ea3
|
|
| BLAKE2b-256 |
ff2d05bc53bf573dee8a6c022f2c6678c838d5d9da9da23f1bd375a7c472ce6f
|