LiveTracker by N&M
Biblioteca Pine Script para rastreamento de posição ao vivo com MTM PnL em tempo real, execução de take-profits parciais e monitoramento de posição aberta barra a barra.
Autores: N&M
Tipo: Biblioteca (library)
Categoria: Gestão de Ordens
Fonte: TradingView Script
Visão geral
LiveTracker é projetado para monitoramento em tempo real de posições abertas, exibindo o MTM (Mark-to-Market) PnL atual e gerenciando execuções de take-profits parciais conforme o preço atinge os alvos.
Diferença das outras bibliotecas de gestão: enquanto OrderLib e LevelsManager focam na estrutura das ordens, LiveTracker foca no estado ao vivo — ideal para estratégias que precisam de feedback visual em tempo real durante o pregão.
Conceitos
MTM (Mark-to-Market) PnL
MTM PnL = (preço atual − preço de entrada) × quantidade × direção
Para Long com entrada em 100, preço atual 103:
MTM = (103 − 100) × qtd = +3.0 por unidade
Atualizado a cada tick/barra — reflete o estado real da posição a qualquer momento.Partial TPs (take-profits parciais)
Posição: 100 contratos a 100
Preço atinge TP1 = 102:
→ Fechar 50 contratos → restam 50
→ MTM PnL: realizado $100 + flutuante dos 50 restantes
Preço atinge TP2 = 105:
→ Fechar 50 contratos restantes → posição fechada
→ PnL total realizadoAPI / Funções
| Função | Parâmetros | Retorno | Descrição |
|---|---|---|---|
open() | price, qty, direction | — | Abre rastreamento de posição |
addTP() | price, qty_pct | — | Registra TP parcial |
setSL() | price | — | Define stop-loss |
tick() | currentPrice | MTMResult | Atualiza MTM a cada tick/barra |
getMTM() | currentPrice | float | PnL não realizado atual |
realizedPnL() | — | float | Soma dos PnLs realizados |
totalPnL() | currentPrice | float | Realizado + não realizado |
isOpen() | — | bool | Posição ainda está aberta? |
render() | position | — | Exibe painel visual no gráfico |
Exemplo de uso
//@version=6
indicator("LiveTracker — Monitoramento em Tempo Real", overlay=true)
import NM/LiveTracker/1 as lt
atr = ta.atr(14)
longSignal = ta.crossover(ta.ema(close, 10), ta.ema(close, 30))
if longSignal and not lt.isOpen()
lt.open(close, 100, "long") // 100 contratos a preço atual
lt.addTP(close + atr, 0.50) // TP1: 50% da posição
lt.addTP(close + atr * 2, 0.50) // TP2: restante
lt.setSL(close - atr * 0.75) // Stop-loss
// Atualizar a cada barra
if lt.isOpen()
result = lt.tick(close)
// result.tpHit: qual TP foi atingido (1, 2, 3... ou 0)
// result.slHit: verdadeiro se SL foi atingido
// result.pnl: MTM PnL atual
// Renderizar painel
lt.render(position.top_right)Painel visual renderizado
┌──────────────────────────────────┐
│ LIVE TRACKER │
├─────────────┬────────────────────┤
│ Direção │ LONG │
│ Entrada │ 100.00 │
│ Qtd │ 50/100 │
│ MTM PnL │ +3.50% │
│ Realizado │ +2.00% (TP1 ✓) │
│ Total │ +5.50% │
│ SL │ 97.50 │
└─────────────┴────────────────────┘Integrações
| Script | Como combinar |
|---|---|
| LevelsManager | LevelsManager define a estrutura, LiveTracker monitora ao vivo |
| AlertSenderLibrary | Enviar webhook quando cada TP for atingido |
| TradeTrackerv2 | Registrar historicamente os trades ao fechar |
Limitações
| Limitação | Impacto |
|---|---|
| Atualiza por barra (não tick em tempo real) | Em timeframes baixos, pode perder intrabar |
| Apenas uma posição por vez | Sem suporte a múltiplas posições simultâneas |
| Sem conexão com exchange | Apenas simulação — não executa ordens reais |
Aviso Legal: Conteúdo educativo. Não constitui recomendação de investimento. Resultados passados não garantem resultados futuros.
LevelsManager
Biblioteca Pine Script para gerenciamento de até 6 take-profits escalonados e 1 stop-loss dinâmico por condição, com ajuste automático de tamanho de posição por TP.
Indicadores Técnicos
Bibliotecas Pine Script de indicadores técnicos: múltiplos tipos de médias móveis, comprimentos adaptativos, OBV filtrado, padrões de candles e análise multi-timeframe.