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

Code
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

Code
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

Code
TCP_SERVER_PORT = 55110

Define 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

Code
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

Code
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

Code
TCP_SERVER_PORT = 55110

Define 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

Code
INITIAL_CAPITAL = 1000.0

Define 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

Code
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

Code
"lot_size": 0.5

Quantidade 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

Code
"position_size": 18.0

Alocaçã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

Code
"take_profit_percent": 2.81

Percentagem 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

Code
"stop_loss_percent": 1.41

Percentagem 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

Code
"trail_activation_percent": 1.3

Limiar 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

Code
"trail_distance_percent": 0.8

Distâ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

Code
"trail_tight_distance_percent": 0.5

Uma 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

Code
"min_ema200_3m_slope": -0.008

Declive 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

Code
"min_ema20_1m_slope": 0.01

Declive 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

Code
"min_ema50_1m_slope": 0.005

Declive 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

Code
"volume_spike_coeff": 1.2

Multiplicador 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

Code
"max_candle_size": 0.8

Percentagem 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

Code
"min_ema50_ema200_distance": 0.06

Distâ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

Code
"min_ema20_ema50_distance": 0.10

Distâ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

Code
"max_portfolio_exposure": 90.0

Percentagem 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

Code
"max_consecutive_losses": 10

Nú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

Code
"max_daily_drawdown_per_symbol": 3.0

Percentagem 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

Code
"max_total_drawdown_per_symbol": 6.0

Percentagem 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

Code
"max_daily_drawdown": 5.0

Percentagem 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

Code
"max_total_drawdown": 10.0

Drawdown 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.