Referencia de Configuración

Explicación de Todos los Campos de Configuración

El Bot de Trading ByNinja utiliza múltiples módulos de configuración para separar responsabilidades entre la ejecución de trading, la conectividad con el exchange y la comunicación con Telegram.

El sistema de configuración es intencionalmente ligero y basado en archivos, lo que permite un despliegue fácil, una edición rápida y un comportamiento de inicio predecible.


Configuración de Telegram

El módulo de configuración de Telegram contiene todos los parámetros necesarios para la comunicación con la API del Bot de Telegram y la integración TCP.

TELEGRAM_BOT_TOKEN

Code
TELEGRAM_BOT_TOKEN = "your_telegram_bot_token"

El token del bot de Telegram utilizado para la autenticación con la API del Bot de Telegram.

Este token se genera a través de BotFather dentro de Telegram e identifica de forma única la instancia del bot.

Responsabilidades:

  • Autentica las solicitudes a la API
  • Permite enviar notificaciones
  • Permite recibir comandos del usuario
  • Otorga acceso a las funciones del bot de Telegram

Importante:

  • Nunca expongas el token públicamente
  • Nunca lo confirmes en repositorios públicos
  • Trátalo como una credencial privada

TELEGRAM_CHAT_ID

Code
TELEGRAM_CHAT_ID = "your_private_telegram_chat_id"

El ID de chat privado de Telegram donde se entregan las notificaciones y alertas de trading.

El bot usa este ID para restringir la comunicación solo al propietario autorizado.

Responsabilidades:

  • Enruta alertas y notificaciones
  • Restringe el acceso no autorizado
  • Permite la ejecución de comandos privados

Uso típico:

  • Notificaciones de trading personales
  • Gestión remota del bot
  • Monitoreo de ejecución de operaciones

TCP_SERVER_PORT

Code
TCP_SERVER_PORT = 55110

Define el puerto TCP utilizado para la comunicación entre el servidor de Telegram y el bot de trading.

Ambas aplicaciones deben usar el mismo valor de puerto.

Responsabilidades:

  • Transporte de mensajes TCP
  • Enrutamiento de comandos remotos
  • Reenvío de logs en tiempo real

Importante:

  • El puerto debe estar disponible en el sistema
  • Puede ser necesario ajustar las reglas del firewall
  • Ambos procesos deben compartir una configuración idéntica

Configuración de Binance

El módulo de configuración de Binance contiene las credenciales de autenticación del exchange y la configuración de comunicación de trading.

BINANCE_API_KEY

Code
BINANCE_API_KEY = "your_binance_api_key"

Clave API pública generada desde la cuenta de Binance.

Se utiliza para autenticar solicitudes a los servicios de Binance.

Responsabilidades:

  • Acceso a datos de mercado
  • Permisos para la colocación de órdenes
  • Acceso a la información de la cuenta

Recomendaciones de seguridad:

  • Habilita restricciones de IP si es posible
  • Usa permisos solo de trading
  • Evita habilitar permisos de retiro

BINANCE_API_SECRET

Code
BINANCE_API_SECRET = "your_binance_api_secret"

Secreto de API privada emparejado con la clave API de Binance.

Se utiliza para firmar solicitudes y verificar la autenticación.

Importante:

  • Debe permanecer estrictamente privado
  • Nunca lo expongas públicamente
  • Nunca lo envíes a través de logs o capturas de pantalla

TCP_SERVER_PORT

Code
TCP_SERVER_PORT = 55110

Define el puerto de comunicación TCP utilizado por el cliente TCP del bot de trading.

Este valor debe coincidir con la configuración del servidor de Telegram.


Configuración de Trading

El módulo de configuración de trading define la asignación de capital, los pares de trading, el comportamiento de la estrategia y la gestión de riesgos de la cartera.

INITIAL_CAPITAL

Code
INITIAL_CAPITAL = 1000.0

Define el capital inicial virtual o rastreado para el sistema de trading.

Usado para:

  • Cálculos de rendimiento
  • Cálculos de drawdown
  • Seguimiento de la exposición de la cartera
  • Estadísticas de gestión de riesgos

El valor se expresa en USDT.

TRADING_PAIRS

Code
TRADING_PAIRS = [
    "AVAXUSDT",
    "LINKUSDT",
    "DOTUSDT",
    "XRPUSDT",
    "ATOMUSDT"
]

Lista de símbolos de criptomonedas monitoreados y operados por el sistema.

Cada símbolo también debe existir dentro del diccionario TRADING_PARAMETERS

Responsabilidades:

  • Define los mercados de trading activos
  • Controla las suscripciones de símbolos
  • Permite la ejecución de la estrategia por símbolo

Pro Tip: Usa un Editor de Código

Para una experiencia mucho mejor editando archivos de configuración, recomendamos usar un editor de código profesional como Visual Studio Code.

Download VS Code ↗

Referencia de Parámetros de Trading

Cada par de trading contiene un perfil de configuración de estrategia independiente.

Este diseño permite que cada mercado utilice parámetros personalizados de volatilidad, tendencia y riesgo.

lot_size

Code
"lot_size": 0.5

Cantidad mínima de orden para el par de trading.

El valor debe cumplir con los requisitos de tamaño de lote del exchange Binance.

Propósito:

  • Previene tamaños de orden inválidos
  • Asegura la compatibilidad con el exchange
  • Controla la precisión mínima de la operación

position_size

Code
"position_size": 18.0

Asignación máxima de capital en USDT para una sola entrada de operación.

Propósito:

  • Controla la exposición de la posición
  • Limita el riesgo por operación
  • Previene la sobreasignación

Los valores más altos aumentan:

  • Beneficio potencial
  • Pérdida potencial
  • Exposición de la cartera

take_profit_percent

Code
"take_profit_percent": 2.81

Porcentaje de beneficio objetivo relativo al precio de entrada.

Cuando el mercado alcanza este nivel, el bot cierra la posición con beneficio.

Propósito:

  • Bloquea las ganancias
  • Define el objetivo de recompensa
  • Estandariza las salidas

Ejemplo:

  • Entrada a 100 USDT
  • Take profit al 2.81%
  • Objetivo de salida = 102.81 USDT

stop_loss_percent

Code
"stop_loss_percent": 1.41

Porcentaje máximo de pérdida permitido por debajo del precio de entrada.

La posición se cierra automáticamente si el mercado se mueve en contra de la operación.

Propósito:

  • Limita el riesgo a la baja
  • Protege el capital de trading
  • Previene grandes drawdowns

Ejemplo:

  • Entrada a 100 USDT
  • Stop loss al 1.41%
  • Salida a 98.59 USDT

trail_activation_percent

Code
"trail_activation_percent": 1.3

Umbral de beneficio requerido antes de activar el sistema de trailing stop.

Antes de la activación:

  • Se utiliza el stop loss estándar

Después de la activación:

  • Comienza la protección dinámica de trailing

Propósito:

  • Protege las operaciones rentables
  • Permite que los beneficios corran
  • Reduce las salidas prematuras

trail_distance_percent

Code
"trail_distance_percent": 0.8

Distancia entre el máximo actual del mercado y el nivel de trailing stop.

Propósito:

  • Protege los beneficios no realizados
  • Permite el movimiento natural del mercado
  • Crea salidas dinámicas

Valores más pequeños:

  • Protección más ajustada
  • Salidas más rápidas
  • Comportamiento más sensible

Valores más grandes:

  • Más flexibilidad
  • Mayor duración de la operación
  • Mayor tolerancia a retrocesos

trail_tight_distance_percent

Code
"trail_tight_distance_percent": 0.5

Una distancia de trailing stop más ajustada utilizada en condiciones de resistencia fuerte o reversión.

Propósito:

  • Protección agresiva de beneficios
  • Salidas más rápidas cerca de la resistencia
  • Reducción de la devolución de beneficios

min_ema200_3m_slope

Code
"min_ema200_3m_slope": -0.008

Pendiente mínima permitida del indicador EMA200 de 3 minutos.

Se utiliza como un filtro de tendencia de marco temporal superior.

Propósito:

  • Evita operar durante fuertes tendencias bajistas
  • Filtra la estructura de mercado débil
  • Mejora la alineación con la tendencia

min_ema20_1m_slope

Code
"min_ema20_1m_slope": 0.01

Pendiente mínima requerida para el indicador EMA20 de 1 minuto.

Se utiliza para la confirmación del impulso a corto plazo.

Propósito:

  • Detecta la aceleración alcista
  • Confirma el impulso alcista
  • Filtra las condiciones de mercado laterales

min_ema50_1m_slope

Code
"min_ema50_1m_slope": 0.005

Pendiente mínima requerida para el indicador EMA50 de 1 minuto.

Actúa como confirmación adicional de la tendencia.

Propósito:

  • Confirma la dirección a medio plazo
  • Reduce las señales falsas
  • Mejora la calidad de la entrada

volume_spike_coeff

Code
"volume_spike_coeff": 1.2

Multiplicador de volumen requerido en relación con el volumen promedio.

El bot solo entra en operaciones si el volumen actual supera el umbral configurado.

Propósito:

  • Detecta una fuerte participación en el mercado
  • Evita entradas con baja liquidez
  • Confirma la fuerza de la ruptura

Ejemplo:

  • Volumen promedio = 1000
  • Coeficiente = 1.2
  • Volumen requerido = 1200+

max_candle_size

Code
"max_candle_size": 0.8

Porcentaje máximo de tamaño de vela permitido antes de bloquear la entrada.

Propósito:

  • Evita entrar después de velas de gran tamaño
  • Previene perseguir movimientos sobreextendidos
  • Reduce las entradas por FOMO

min_ema50_ema200_distance

Code
"min_ema50_ema200_distance": 0.06

Distancia porcentual mínima requerida entre EMA50 y EMA200.

Propósito:

  • Confirma la separación de la tendencia del mercado
  • Filtra tendencias débiles
  • Valida la estructura de la tendencia

Valores de distancia más altos generalmente indican tendencias más fuertes.

min_ema20_ema50_distance

Code
"min_ema20_ema50_distance": 0.10

Distancia mínima requerida entre los indicadores EMA20 y EMA50.

Propósito:

  • Confirma la fuerza del impulso a corto plazo
  • Filtra entradas débiles
  • Mejora la calidad de la señal

Referencia de Parámetros de Riesgo

El sistema de gestión de riesgos protege tanto los símbolos individuales como la cartera completa.

max_portfolio_exposure

Code
"max_portfolio_exposure": 90.0

Porcentaje máximo del capital de la cartera que puede ser asignado simultáneamente a posiciones abiertas.

Propósito:

  • Previene la sobreexposición
  • Mantiene la liquidez de reserva
  • Reduce el riesgo sistémico

max_consecutive_losses

Code
"max_consecutive_losses": 10

Número máximo de pérdidas consecutivas permitidas antes de que el trading se pause para el símbolo.

Propósito:

  • Detecta condiciones de mercado inestables
  • Previene la lógica de overtrading emocional
  • Limita los períodos de degradación de la estrategia

max_daily_drawdown_per_symbol

Code
"max_daily_drawdown_per_symbol": 3.0

Porcentaje máximo de pérdida diaria permitido para un par de trading individual.

Si se excede:

  • El trading para el símbolo se detiene temporalmente

Propósito:

  • Limita el daño específico del símbolo
  • Previene pérdidas repetidas en mercados inestables

max_total_drawdown_per_symbol

Code
"max_total_drawdown_per_symbol": 6.0

Porcentaje de pérdida acumulada máxima permitida para un par de trading en todas las sesiones.

Propósito:

  • Detecta símbolos con bajo rendimiento constante
  • Previene la erosión del capital a largo plazo

max_daily_drawdown

Code
"max_daily_drawdown": 5.0

Porcentaje máximo de pérdida diaria de cartera permitido.

Si se excede:

  • Toda actividad de trading se detiene

Propósito:

  • Protege la cartera durante condiciones extremas del mercado
  • Limita las pérdidas diarias catastróficas

max_total_drawdown

Code
"max_total_drawdown": 10.0

Drawdown máximo acumulado de la cartera durante todo el ciclo de vida del trading.

Propósito:

  • Actúa como un mecanismo final de protección del capital
  • Previene el fallo total de la estrategia
  • Aplica la disciplina de riesgo a largo plazo

Una vez alcanzado:

  • Las operaciones de trading deben permanecer deshabilitadas hasta que se realice una revisión manual.