Market mechanics · Mecânica de mercado
English · Português · Guided tour / Visita guiada · Validation / Validação
EN: Can a paper trade and an indicator be explained from their inputs?
PT: É possível explicar uma operação simulada e um indicador a partir das entradas?
| Goal · Objetivo | Where to go · Por onde começar |
|---|---|
| Understand a real example · Entender um exemplo concreto | Walkthrough / Roteiro |
| Reproduce and compare · Reproduzir e comparar | Evidence tour / Visita às evidências |
| Inspect the checks · Inspecionar as verificações | Validation record / Registro de validação · CI |
| Explore in the browser · Explorar no navegador | Public demonstration / Demonstração pública |
Example result · Resultado do exemplo: Tests verify hand-calculated Wilder RSI values, zero-valued MACD signals, reproducible candles and cash conservation on a round-trip paper trade. / Testes verificam RSI de Wilder calculado manualmente, sinais MACD iguais a zero, candles reproduzíveis e conservação de saldo em compra e venda simuladas.
Try a comparison · Experimente uma comparação
EN: Use the seeded prices, compare indicator windows and follow cash and position balances through a paper round trip.
PT: Use os preços com semente, compare janelas e acompanhe caixa e posições em uma compra e venda simuladas.
A bilingual React workspace for examining reproducible synthetic prices, technical indicators and paper portfolio operations.
- Seeded OHLCV examples feed a responsive chart, SMA, RSI, MACD and VWAP indicators.
- Paper buys and sells validate quantities, cash and holdings and immediately refresh portfolio summaries.
- The separate order-rule module supports limit, stop and persistent stop-limit triggers with regression tests.
Requirements: Node.js 24+ and pnpm 11 / Node.js 24+ e pnpm 11.
Run from the repository root. The validation environment installs the components exercised by the tests and documented example; optional integrations may need their separate dependencies.
pnpm install --frozen-lockfile
pnpm test
pnpm buildInput contract / Contrato de entrada: Synthetic OHLCV candles / candles OHLCV fictícios; seed / semente 42; default end / término padrão 2026-01-01T00:00:00Z.
Expected behavior / Comportamento esperado: Tests verify hand-calculated Wilder RSI values, zero-valued MACD signals, reproducible candles and cash conservation on a round-trip paper trade. / Testes verificam RSI de Wilder calculado manualmente, sinais MACD iguais a zero, candles reproduzíveis e conservação de saldo em compra e venda simuladas.
flowchart LR
A["Seeded synthetic candles / Candles fictícios com semente"]
B["Tested indicators / Indicadores testados"]
C["React chart and paper orders / Gráfico React e ordens simuladas"]
D["Portfolio and transaction view / Carteira e transações"]
A --> B --> C --> D
The main path can be followed in src/services/technicalIndicators.js. Examples call the actual implementation and include assertions; they are not pseudocode.
All prices are synthetic; ticker names are illustrative. No brokerage, live quote feed or investment performance is represented. UI fills are immediate with no fees or slippage. The order-rule module is tested separately and is not a full exchange or portfolio settlement engine. Floating-point arithmetic is suitable for visualization, not custody accounting.
Restored the missing React application; corrected Wilder smoothing and zero MACD signals; prevented invalid trades, refreshed summaries after fills and latched stop-limit triggers.
Painel React bilíngue para examinar preços fictícios reproduzíveis, indicadores técnicos e operações de carteira simulada.
- Exemplos OHLCV com semente alimentam gráfico responsivo e indicadores SMA, RSI, MACD e VWAP.
- Compras e vendas simuladas validam quantidades, saldo e posições e atualizam os resumos imediatamente.
- O módulo separado de regras de ordens suporta limites, stops e gatilhos persistentes de stop-limit com testes.
Use os comandos da seção acima a partir da raiz do repositório. Requisitos: Node.js 24+ and pnpm 11 / Node.js 24+ e pnpm 11. O ambiente de validação instala os componentes exercitados pelos testes e pelo exemplo documentado; integrações opcionais podem exigir dependências próprias.
O fluxo principal está em src/services/technicalIndicators.js. Os exemplos usam a implementação real e verificam resultados com asserções; não são pseudocódigo. O diagrama apresenta os mesmos passos nos dois idiomas.
Todos os preços são fictícios; nomes de ativos são ilustrativos. Não há corretora, cotações ao vivo ou desempenho de investimento representado. A interface executa imediatamente, sem taxas ou deslizamento. O módulo de regras é testado separadamente e não representa uma bolsa nem motor completo de liquidação. Ponto flutuante serve à visualização, não à contabilidade de custódia.
Restaurada aplicação React ausente; corrigidos suavização de Wilder e sinais MACD zero; bloqueadas operações inválidas, atualizados resumos após execução e persistidos gatilhos stop-limit.
pnpm dev --host 127.0.0.1| Location / Local | Purpose / Finalidade |
|---|---|
| Implementation / Implementação | Main domain behavior / Comportamento principal do domínio |
| Example / Exemplo | Executable scenario / Cenário executável |
| Tests / Testes | Normal behavior and failure cases / Fluxos válidos e casos de falha |
| Validation notes / Notas de validação | Corrections, evidence and boundaries / Correções, evidências e limites |
| Workflow / Automação | Automated checks / Verificações automatizadas |
EN: When changing behavior, update the contract, the worked example and a regression test together. Keep synthetic fixtures separate from real data. A passing test suite demonstrates the listed software behaviors; it does not certify a deployment or domain outcome.
PT: Ao alterar comportamento, atualize em conjunto o contrato, o exemplo e um teste de regressão. Separe amostras fictícias de dados reais. Testes aprovados demonstram os comportamentos de software listados; não certificam implantação nem resultado no domínio.
Author / Autor: Gabriel Demetrios Lafis · Institutional contact / Contato institucional
License / Licença: repository license.
