Referência de Configuração
Explicação Completa dos Campos de Configuração
O Bot de Trading ByNinja usa múltiplos módulos de configuração para separar responsabilidades entre a execução de trading, a conectividade com a exchange e a comunicação com o Telegram.
O sistema de configuração é intencionalmente leve e baseado em ficheiros, permitindo uma fácil implantação, edição rápida e comportamento de inicialização previsível.
Configuração do Telegram
O módulo de configuração do Telegram contém todos os parâmetros necessários para a comunicação com a API do Bot Telegram e integração TCP.
TELEGRAM_BOT_TOKEN
TELEGRAM_BOT_TOKEN = "your_telegram_bot_token"O token do bot Telegram usado para autenticação com a API do Bot Telegram.
Este token é gerado através do BotFather dentro do Telegram e identifica exclusivamente a instância do bot.
Responsabilidades:
- •Autentica pedidos à API
- •Permite o envio de notificações
- •Permite receber comandos do utilizador
- •Concede acesso às funcionalidades do bot Telegram
Importante:
- •Nunca exponha o token publicamente
- •Nunca o commite em repositórios públicos
- •Trate-o como uma credencial privada
TELEGRAM_CHAT_ID
TELEGRAM_CHAT_ID = "your_private_telegram_chat_id"O ID de chat privado do Telegram onde as notificações e alertas de trading são entregues.
O bot usa este ID para restringir a comunicação apenas ao proprietário autorizado.
Responsabilidades:
- •Encaminha alertas e notificações
- •Restringe o acesso não autorizado
- •Permite a execução privada de comandos
Uso típico:
- •Notificações pessoais de trading
- •Gestão remota do bot
- •Monitorização da execução de trades
TCP_SERVER_PORT
TCP_SERVER_PORT = 55110Define a porta TCP usada para comunicação entre o servidor Telegram e o bot de trading.
Ambas as aplicações devem usar o mesmo valor de porta.
Responsabilidades:
- •Transporte de mensagens TCP
- •Roteamento de comandos remotos
- •Encaminhamento de logs em tempo real
Importante:
- •A porta deve estar disponível no sistema
- •As regras de firewall podem precisar de ajuste
- •Ambos os processos devem partilhar a configuração idêntica
Configuração da Binance
O módulo de configuração da Binance contém as credenciais de autenticação da exchange e as definições de comunicação de trading.
BINANCE_API_KEY
BINANCE_API_KEY = "your_binance_api_key"Chave de API pública gerada a partir da conta Binance.
Usada para autenticar pedidos aos serviços da Binance.
Responsabilidades:
- •Acesso a dados de mercado
- •Permissões para colocação de ordens
- •Acesso a informações da conta
Recomendações de segurança:
- •Ative restrições de IP se possível
- •Use permissões apenas de trading
- •Evite ativar permissões de levantamento
BINANCE_API_SECRET
BINANCE_API_SECRET = "your_binance_api_secret"Chave secreta de API privada emparelhada com a chave de API da Binance.
Usada para assinatura de pedidos e verificação de autenticação.
Importante:
- •Deve permanecer estritamente privada
- •Nunca a exponha publicamente
- •Nunca a envie através de logs ou capturas de ecrã
TCP_SERVER_PORT
TCP_SERVER_PORT = 55110Define a porta de comunicação TCP usada pelo cliente TCP do bot de trading.
Este valor deve coincidir com a configuração do servidor Telegram.
Configuração de Trading
O módulo de configuração de trading define a alocação de capital, pares de trading, comportamento da estratégia e gestão de risco da carteira.
INITIAL_CAPITAL
INITIAL_CAPITAL = 1000.0Define o capital inicial virtual ou rastreado para o sistema de trading.
Usado para:
- •Cálculos de desempenho
- •Cálculos de drawdown
- •Rastreamento de exposição da carteira
- •Estatísticas de gestão de risco
O valor é expresso em USDT.
TRADING_PAIRS
TRADING_PAIRS = [
"AVAXUSDT",
"LINKUSDT",
"DOTUSDT",
"XRPUSDT",
"ATOMUSDT"
]Lista de símbolos de criptomoedas monitorizados e negociados pelo sistema.
Cada símbolo também deve existir dentro do dicionário TRADING_PARAMETERS
Responsabilidades:
- •Define os mercados de trading ativos
- •Controla as subscrições de símbolos
- •Permite a execução da estratégia por símbolo
Dica Profissional: Use um Editor de Código
Para uma experiência muito melhor ao editar ficheiros de configuração, recomendamos usar um editor de código profissional como o Visual Studio Code.
Download VS Code ↗Referência de Parâmetros de Trading
Cada par de trading contém um perfil de configuração de estratégia independente.
Este design permite que cada mercado use parâmetros de volatilidade, tendência e risco personalizados.
lot_size
"lot_size": 0.5Quantidade mínima de ordem para o par de trading.
O valor deve cumprir os requisitos de tamanho mínimo (lot size) da exchange Binance.
Objetivo:
- •Prevenir tamanhos de ordem inválidos
- •Garantir compatibilidade com a exchange
- •Controlar a precisão mínima do trade
position_size
"position_size": 18.0Alocação máxima de capital em USDT para uma única entrada de trade.
Objetivo:
- •Controla a exposição da posição
- •Limita o risco por trade
- •Previne a alocação excessiva
Valores mais altos aumentam:
- •Lucro potencial
- •Perda potencial
- •Exposição da carteira
take_profit_percent
"take_profit_percent": 2.81Percentagem de lucro alvo relativa ao preço de entrada.
Quando o mercado atinge este nível, o bot fecha a posição com lucro.
Objetivo:
- •Garante os ganhos
- •Define o alvo de recompensa
- •Padroniza as saídas
Exemplo:
- •Entrada a 100 USDT
- •Take profit a 2.81%
- •Saída alvo = 102.81 USDT
stop_loss_percent
"stop_loss_percent": 1.41Percentagem máxima de perda permitida abaixo do preço de entrada.
A posição é automaticamente fechada se o mercado se mover contra o trade.
Objetivo:
- •Limita o risco de queda
- •Protege o capital de trading
- •Previne grandes drawdowns
Exemplo:
- •Entrada a 100 USDT
- •Stop loss a 1.41%
- •Saída a 98.59 USDT
trail_activation_percent
"trail_activation_percent": 1.3Limiar de lucro necessário antes de ativar o sistema de trailing stop.
Antes da ativação:
- •Stop loss padrão é usado
Após a ativação:
- •A proteção dinâmica de trailing começa
Objetivo:
- •Protege trades lucrativos
- •Permite que os lucros continuem
- •Reduz saídas prematuras
trail_distance_percent
"trail_distance_percent": 0.8Distância entre o máximo atual do mercado e o nível de trailing stop.
Objetivo:
- •Protege lucros não realizados
- •Permite movimento natural do mercado
- •Cria saídas dinâmicas
Valores mais pequenos:
- •Proteção mais apertada
- •Saídas mais rápidas
- •Comportamento mais sensível
Valores maiores:
- •Mais flexibilidade
- •Maior duração do trade
- •Maior tolerância a retrocessos
trail_tight_distance_percent
"trail_tight_distance_percent": 0.5Uma distância de trailing stop mais apertada usada em condições de resistência mais forte ou reversão.
Objetivo:
- •Proteção agressiva de lucros
- •Saídas de trade mais rápidas perto da resistência
- •Redução da devolução de lucros
min_ema200_3m_slope
"min_ema200_3m_slope": -0.008Declive mínimo permitido do indicador EMA200 de 3 minutos.
Usado como um filtro de tendência de timeframe superior.
Objetivo:
- •Evita trading durante fortes tendências de queda
- •Filtra estrutura de mercado fraca
- •Melhora o alinhamento com a tendência
min_ema20_1m_slope
"min_ema20_1m_slope": 0.01Declive mínimo exigido para o indicador EMA20 de 1 minuto.
Usado para confirmação de momentum de curto prazo.
Objetivo:
- •Deteta aceleração ascendente
- •Confirma momentum altista
- •Filtra condições de mercado laterais
min_ema50_1m_slope
"min_ema50_1m_slope": 0.005Declive mínimo exigido para o indicador EMA50 de 1 minuto.
Atua como confirmação adicional de tendência.
Objetivo:
- •Confirma a direção de médio prazo
- •Reduz sinais falsos
- •Melhora a qualidade da entrada
volume_spike_coeff
"volume_spike_coeff": 1.2Multiplicador de volume exigido em relação ao volume médio.
O bot só entra em trades se o volume atual exceder o limiar configurado.
Objetivo:
- •Deteta forte participação no mercado
- •Evita entradas com baixa liquidez
- •Confirma a força da rutura (breakout)
Exemplo:
- •Volume médio = 1000
- •Coeficiente = 1.2
- •Volume exigido = 1200+
max_candle_size
"max_candle_size": 0.8Percentagem máxima de tamanho de vela permitida antes de bloquear a entrada.
Objetivo:
- •Evita entrar após velas de tamanho excessivo
- •Previne perseguir movimentos excessivos
- •Reduz entradas por FOMO
min_ema50_ema200_distance
"min_ema50_ema200_distance": 0.06Distância percentual mínima exigida entre EMA50 e EMA200.
Objetivo:
- •Confirma a separação da tendência do mercado
- •Filtra tendências fracas
- •Valida a estrutura da tendência
Valores de distância mais altos geralmente indicam tendências mais fortes.
min_ema20_ema50_distance
"min_ema20_ema50_distance": 0.10Distância mínima exigida entre os indicadores EMA20 e EMA50.
Objetivo:
- •Confirma a força do momentum de curto prazo
- •Filtra entradas fracas
- •Melhora a qualidade do sinal
Referência de Parâmetros de Risco
O sistema de gestão de risco protege tanto símbolos individuais como toda a carteira.
max_portfolio_exposure
"max_portfolio_exposure": 90.0Percentagem máxima do capital da carteira que pode ser simultaneamente alocada em posições abertas.
Objetivo:
- •Previne sobreexposição
- •Mantém liquidez de reserva
- •Reduz o risco sistémico
max_consecutive_losses
"max_consecutive_losses": 10Número máximo de perdas consecutivas permitidas antes de o sistema pausar o trading para o símbolo.
Objetivo:
- •Deteta condições de mercado instáveis
- •Previne lógica de overtrading emocional
- •Limita períodos de degradação da estratégia
max_daily_drawdown_per_symbol
"max_daily_drawdown_per_symbol": 3.0Percentagem de perda diária máxima permitida para um par de trading individual.
Se excedido:
- •O trading para o símbolo é temporariamente interrompido
Objetivo:
- •Limita os danos específicos do símbolo
- •Previne perdas repetidas em mercados instáveis
max_total_drawdown_per_symbol
"max_total_drawdown_per_symbol": 6.0Percentagem de perda cumulativa máxima permitida para um par de trading em todas as sessões.
Objetivo:
- •Deteta símbolos com desempenho consistentemente fraco
- •Previne a erosão do capital a longo prazo
max_daily_drawdown
"max_daily_drawdown": 5.0Percentagem de perda diária máxima permitida para a carteira.
Se excedido:
- •Toda a atividade de trading pausa
Objetivo:
- •Protege a carteira durante condições de mercado extremas
- •Limita perdas diárias catastróficas
max_total_drawdown
"max_total_drawdown": 10.0Drawdown cumulativo máximo da carteira em todo o ciclo de vida do trading.
Objetivo:
- •Atua como um mecanismo final de proteção de capital
- •Previne a falha completa da estratégia
- •Impõe disciplina de risco a longo prazo
Uma vez atingido:
- •As operações de trading devem permanecer desativadas até que uma revisão manual seja realizada.