Resumen
El sistema de Entrada Manual de Operaciones permite inyectar manualmente oportunidades de trading que el bot monitoreará y ejecutará automáticamente, sin esperar a la generación normal de señales. Es ideal cuando detectas oportunidades durante una revisión manual del mercado y no quieres que el bot las pase por alto.
Cómo funciona
🔄 Recarga en caliente automática
- Añade entradas al archivo
settings/manual_trade_symbols.yamlmientras el bot está en ejecución - Los cambios se detectan automáticamente en menos de 30 segundos (próximo ciclo de procesamiento)
- ¡No requiere reinicio!
🎯 Flujo de ejecución de operaciones
- Tú añades una entrada de operación al archivo YAML
- El bot detecta la nueva entrada en el siguiente ciclo (≤ 30 segundos)
- El bot valida:
- El símbolo existe en la lista de trading del bot
- No hay órdenes en curso para ese símbolo
- Se cumplen las condiciones de precio (si hay umbral configurado)
- El bot ejecuta la operación automáticamente
- La entrada se elimina del archivo YAML tras ejecución exitosa (evita duplicados)
Ubicación del archivo de configuración
settings/manual_trade_symbols.yaml
Referencia de campos
Symbol (Requerido)
- Par de trading en el formato específico del exchange
- Ejemplos:
BTCUSDT,ETHUSDT,1000PEPEUSDT - Debe coincidir exactamente con como aparece en la lista de símbolos del bot
Price (Requerido)
0= El bot obtiene y usa el precio de mercado actual (recomendado)> 0= Usa este precio específico como referencia de entrada- Cuando se establece en
0, el bot:- Obtiene el precio de mercado actual
- Actualiza este campo en el YAML con el precio obtenido
- Usa este precio para cálculos de umbral en ciclos posteriores
Direction (Requerido)
Long= Posición larga / compraShort= Posición corta / venta
Amount (Requerido)
0= Usa el dimensionamiento de posición por defecto del bot> 0= Sobrescribe con una cantidad específica (en la moneda cotizada)- Ejemplos:
1000.0= Tamaño de posición $10002500.5= Tamaño de posición $2500.50
ExecuteThresholdPerfect (Requerido)
0= Ejecuta inmediatamente (sin requerir movimiento de precio)> 0= Espera a que el precio se mueva este porcentaje antes de ejecutar- Para posiciones LONG: espera que el precio **baje** este %
- Para posiciones SHORT: espera que el precio **suba** este %
Timestamp (Opcional)
- Usa
nullo simplemente omite el campo - El bot lo establece automáticamente al procesar la entrada
- Puede usarse en el futuro para validación de vencimiento
Ejemplos de uso
Ejemplo 1: Entrada inmediata (Aprovecha la oportunidad AHORA)
Trades:
- Symbol: 'BTCUSDT'
Price: 0 # Usa precio actual
Direction: Long # Ir en largo
Amount: 0 # Usa tamaño por defecto
ExecuteThresholdPerfect: 0 # Ejecutar inmediatamente
Timestamp: null
Caso de uso: Ves que BTC está rompiendo al alza y quieres entrar ahora mismo.
Ejemplo 2: Comprar el dip (Estrategia de retroceso del 5%)
Trades:
- Symbol: 'ETHUSDT'
Price: 0 # El bot obtendrá el precio actual (ej. $3000)
Direction: Long
Amount: 1000 # Posición de $1000
ExecuteThresholdPerfect: 5 # Espera caída del 5% (ejecución ~$2850)
Timestamp: null
Caso de uso: ETH se ve fuerte pero un poco sobreextendido. Quieres comprar si retrocede un 5%.
Ejemplo 3: Compra agresiva en dip (Retroceso del 10%)
Trades:
- Symbol: '1000PEPEUSDT'
Price: 0
Direction: Long
Amount: 2000 # Posición de $2000
ExecuteThresholdPerfect: 10 # Espera caída del 10%
Timestamp: null
Caso de uso: PEPE está subiendo con fuerza. Quieres acumular si hay un retroceso significativo.
Ejemplo 4: Shortear el pump (Esperar subida del 3%)
Trades:
- Symbol: 'SOLUSDT'
Price: 0 # El bot obtendrá el precio actual (ej. $100)
Direction: Short # Posición corta
Amount: 1500
ExecuteThresholdPerfect: 3 # Ejecutar cuando suba 3% (~$103)
Timestamp: null
Caso de uso: SOL parece sobreextendido. Quieres entrar en corto si sube otro 3%.
Ejemplo 5: Entradas múltiples en diferentes niveles
Trades:
# Entrada inmediata
- Symbol: 'BTCUSDT'
Price: 0
Direction: Long
Amount: 500
ExecuteThresholdPerfect: 0 # Entrar ahora
Timestamp: null
# Añadir más en retroceso del 5%
- Symbol: 'BTCUSDT'
Price: 0
Direction: Long
Amount: 1000
ExecuteThresholdPerfect: 5 # Añadir a la posición en retroceso del 5%
Timestamp: null
# Añadir aún más en retroceso del 10%
- Symbol: 'BTCUSDT'
Price: 0
Direction: Long
Amount: 1500
ExecuteThresholdPerfect: 10 # Acumulación fuerte en retroceso del 10%
Timestamp: null
Caso de uso: Dollar-cost averaging (DCA) en BTC en varios niveles de precio.
Notas importantes
✅ LO QUE SÍ DEBES HACER
- ✅ Mantener el archivo YAML válido (indentación correcta, sin errores de sintaxis)
- ✅ Usar
nullen Timestamp (noNone) - ✅ Usar
LongoShorten Direction (no 0 ni 1) - ✅ Verificar que los nombres de símbolos coincidan exactamente con el formato del exchange
- ✅ Esperar al menos 30 segundos tras añadir para que el bot los detecte
❌ LO QUE NO DEBES HACER
- ❌ No usar
Noneen Timestamp (usanullo omítelo) - ❌ No usar
0ni1en Direction - ❌ No añadir entradas para símbolos que el bot no está monitoreando
- ❌ No editar el archivo mientras el bot lo está guardando (riesgo raro de condición de carrera)
🔒 Características de seguridad
- Sin ejecuciones duplicadas: las entradas se eliminan tras ejecutarse
- Sin conflictos: no ejecuta si el símbolo ya tiene órdenes activas
- Validación automática de precio: obtiene y actualiza precios cuando se establece en 0
- Seguimiento de timestamp: el bot registra cuándo se creó cada entrada
📊 Monitoreo
Revisa los logs para ver cuándo se procesan las entradas:
logs/orders.YYYY-MM-DD.log— Todas las ejecuciones de operaciones (formato JSON)logs/trade_summary.YYYY-MM-DD.log— Resúmenes de alto nivellogs/debug.YYYY-MM-DD.log— Procesamiento detallado (si el modo debug está activado)
Ejemplo de flujo de trabajo
Paso 1: Estás revisando gráficos y ves que ETHUSDT rompe una resistencia
# Añadir a manual_trade_symbols.yaml
Trades:
- Symbol: 'ETHUSDT'
Price: 0
Direction: Long
Amount: 1000
ExecuteThresholdPerfect: 0
Timestamp: null
Paso 2: Guardas el archivo (el bot sigue funcionando)
Paso 3: En menos de 30 segundos el bot:
- Carga el archivo
- Obtiene el precio actual de ETH (ej. $3000)
- Actualiza el campo Price a 3000 en el YAML
- Establece Timestamp en la hora actual
- Verifica que no haya órdenes activas en ETHUSDT
- Ejecuta la operación
- Elimina la entrada del YAML
Paso 4: Verifica los logs para confirmar
✅ Operación ejecutada con éxito para ETHUSDT
💾 Configuración de operaciones manuales actualizada y guardada (entradas ejecutadas eliminadas)
Consejos profesionales
💡 En mercados volátiles: usa umbrales más altos (10-20%) para capturar mejores entradas
💡 Para oportunidades inmediatas: usa ExecuteThresholdPerfect: 0 y Amount: 0 para entradas rápidas con tamaño estándar
💡 Para escalar posiciones: añade múltiples entradas con umbrales crecientes en el mismo símbolo
💡 Para gestión de riesgo: especifica cantidades concretas en lugar de 0 para controlar con precisión el tamaño de las posiciones
💡 Para varios símbolos: agrupa estrategias similares dentro del YAML para facilitar la gestión
Recuerda: este sistema está diseñado para complementar tu análisis manual, no para reemplazarlo. Úsalo con inteligencia para capturar oportunidades que el bot podría perder durante sus ciclos normales de generación de señales. 🚀