Tecnología
Trailing en Freqtrade: causas y claves para diagnosticarlo
El stop dinámico depende de umbrales, reglas de salida y ejecución: así se distingue un fallo de una configuración esperada.

El stop dinámico de Freqtrade puede parecer inmóvil por dos motivos muy distintos: porque la operación aún no ha alcanzado el umbral que permite activarlo o porque otra condición de salida interviene antes. También influyen los valores configurados, una función personalizada y la forma en que el exchange acepta y actualiza las órdenes. Que el stop no suba en una operación concreta no demuestra por sí solo que el bot esté fallando: primero hay que comparar lo ocurrido con las reglas efectivas de esa operación.
La comprobación más útil es reconstruir la secuencia: cuánto llegó a avanzar el precio, qué distancia de seguimiento estaba configurada, si el trailing podía activarse en ese punto y cuál fue el motivo registrado para cerrar la operación. Freqtrade sigue instrucciones precisas; la discrepancia suele estar entre lo que se esperaba y lo que los parámetros realmente ordenaban.
Qué hace el trailing y cuándo debería moverse
El trailing stop parte de un stop loss y lo ajusta en la dirección favorable a la operación conforme el precio avanza. En una posición larga, el nivel puede subir para proteger una parte del recorrido, pero no vuelve a bajar si el mercado retrocede. En una posición corta el movimiento se invierte: el stop se ajusta en sentido descendente. El mecanismo protege lo ganado sin garantizar que se venda en el máximo; cuando el precio retrocede hasta el nivel del stop, la posición puede cerrarse.
En la configuración nativa, trailing_stop debe estar activado para que funcione este seguimiento. trailing_stop_positive_offset define el beneficio a partir del cual entra en juego el tramo positivo, mientras que trailing_stop_positive expresa la distancia entre el precio de referencia y ese stop. Si trailing_only_offset_is_reached está activado, el trailing espera a que se alcance el offset antes de empezar a seguir el precio. El significado de cada ajuste depende de cómo se combinen los cuatro valores, no de un parámetro aislado.
El stop inicial también importa. El valor de stoploss establece el límite inicial de pérdida y, cuando se usa un stop personalizado, actúa como límite de referencia que ese callback no puede aflojar por debajo. Por eso, ver un nivel inicial sin cambios no siempre indica un problema: puede que el precio no haya llegado al umbral de activación o que la regla que debía modificarlo no se haya ejecutado. El trailing es una condición de gestión de la posición, no una orden de subir el stop en cada movimiento del mercado.
El umbral puede estar por encima del recorrido real
Una causa frecuente es un offset demasiado exigente para el comportamiento del activo y el marco temporal. Si se espera una subida del 3% antes de activar el trailing, una operación que solo llega al 1,5% no habrá dado permiso para que ese mecanismo empiece, aunque después retroceda con fuerza. No hay un stop que se haya quedado atrás: el precio nunca alcanzó el punto que debía ponerlo en marcha.
Los valores porcentuales de la configuración se expresan como ratios decimales. Un valor de 0.02 representa el 2%; escribir 2 no equivale a pedir un 2%, sino que expresa un ratio de 200%. Ese error puede situar el umbral tan lejos que resulte prácticamente inalcanzable para las operaciones habituales. Conviene revisar el formato y no solo el número que aparece en el archivo, sobre todo después de copiar ajustes de otro bot o de una explicación expresada en porcentajes.
La volatilidad cambia entre pares y también entre marcos temporales. Un movimiento que es habitual en una moneda puede ser excepcional en otra, y un umbral razonable para una estrategia de varias horas puede no tener sentido en una operativa rápida expuesta a oscilaciones cortas. En lugar de fijar el offset por intuición, resulta más informativo observar cuánto suelen avanzar las operaciones antes de retroceder y cuántas llegan realmente al nivel previsto. Un parámetro útil es aquel que encaja con el recorrido que produce la estrategia, no el que parece prudente sobre el papel.
ROI y señales de salida pueden cerrar antes
Freqtrade puede cerrar una posición por distintos motivos, entre ellos el objetivo de ROI, una señal de salida de la estrategia o el stop loss. Si una de esas condiciones se cumple antes de que el trailing se active, la operación terminará sin que el stop dinámico llegue a desempeñar el papel esperado. El resultado puede parecer una avería cuando, en realidad, otra regla cerró la operación antes de que el precio alcanzara el umbral.
Por ejemplo, una estrategia puede tener un objetivo de ROI que permita salir con un beneficio pequeño, mientras el offset del trailing exige una ganancia mayor. En ese caso, la salida por ROI puede materializarse primero. Algo parecido ocurre con una señal de salida que se activa al cambiar un indicador: el bot puede obedecerla antes de que el retroceso alcance el stop. No existe una configuración universal en la que el trailing deba prevalecer siempre; la razón de salida registrada en cada operación permite saber qué regla actuó.
Si se pretende que el trailing gestione una parte mayor de las operaciones, hay que revisar cómo convive con minimal_roi y con use_exit_signal. Reducir el offset, cambiar el calendario del ROI o modificar la señal puede alterar el comportamiento, pero también cambia la estrategia y sus resultados. Esas modificaciones deben compararse con pruebas reproducibles, no asumirse como mejoras automáticas. Una salida anticipada no es necesariamente un error: puede ser una decisión deliberada del sistema.
Los callbacks personalizados pueden cambiar el comportamiento
Una estrategia puede implementar custom_stoploss y establecer su propia lógica de protección. Para que Freqtrade utilice ese callback debe estar habilitado use_custom_stoploss = True. La función devuelve una distancia relativa al precio actual, no necesariamente un precio absoluto; por ejemplo, un valor de -0.04 representa una distancia del 4% por debajo del precio actual en una posición larga. Confundir distancia y precio absoluto puede producir un stop distinto del que se pretendía.
El stop personalizado solo puede apretarse: no puede alejarse para conceder más margen que el nivel ya alcanzado, y el stop inicial limita la pérdida máxima según la configuración. Si el callback devuelve una distancia menos protectora que la vigente, Freqtrade no tiene por qué bajar el stop para aceptarla. La regla puede ejecutarse correctamente y, aun así, no generar un movimiento visible. En estos casos hay que entender el historial del stop, no mirar únicamente el último valor devuelto por la función.
La documentación de Freqtrade recomienda desactivar el trailing estándar cuando se emplean valores personalizados de stoploss, porque ambas lógicas pueden competir: una intenta aplicar su distancia y la otra puede estar calculando un nivel diferente. Es posible combinarlas si la estrategia está diseñada para ello, pero no conviene activar ambas por tanteo. Además, las funciones personalizadas reciben datos como el precio actual, la hora y el beneficio; usar la hora del sistema en vez del tiempo suministrado por el callback puede generar diferencias entre backtesting y ejecución. Una lógica de stop clara suele ser más fácil de verificar que dos mecanismos superpuestos.
Un ejemplo para comprobar los valores
Supongamos una entrada a 10 y una configuración con trailing_stop_positive_offset = 0.02, trailing_stop_positive = 0.01 y trailing_only_offset_is_reached = True. El umbral de activación es una subida del 2%. Si el precio solo alcanza 10,15, equivalente a un avance del 1,5%, el stop positivo aún no empieza a seguirlo. Un retroceso desde ese nivel no prueba que el trailing haya ignorado la operación: el nivel de activación no se alcanzó.
Si el precio toca 10,20, el mecanismo puede activarse. Con el precio en 10,30 y una distancia de seguimiento del 1%, el stop podría situarse aproximadamente en 10,197, según el cálculo aplicado por la estrategia y el motor. Si después el precio cae a 10,25, el stop no retrocede; permanece en el nivel más protector alcanzado. El movimiento del stop sigue al máximo favorable, no al precio de cada retroceso.
El ejemplo describe la lógica, no asegura una ejecución exacta a ese precio. Las comisiones, el deslizamiento, el tipo de orden y las condiciones del mercado pueden cambiar el resultado efectivo. También pueden influir las reglas de precisión y límites del exchange. Por eso es importante separar tres cosas: cuándo se activa la lógica, qué precio calcula el bot y a qué precio se ejecuta finalmente la salida. Que esos valores no coincidan al céntimo no implica necesariamente un fallo.
Backtesting y operación real no reconstruyen lo mismo
El backtesting trabaja con datos históricos y, en muchos casos, con velas que resumen apertura, máximo, mínimo y cierre de un periodo. Esa información no siempre revela el orden exacto de los movimientos dentro de la vela. Si el precio tocó varios niveles durante esos minutos, el simulador debe aplicar sus supuestos para decidir qué pudo ocurrir; no dispone de cada tick real. Por eso una vela puede ocultar la secuencia que habría determinado cuándo se movía o ejecutaba el stop.
En vivo, el bot recibe actualizaciones de mercado y opera además con latencia, disponibilidad de la API, liquidez y ejecuciones parciales o incompletas. Un backtest que parece mostrar un seguimiento limpio no garantiza que la orden real se ejecute en el mismo punto. La diferencia no convierte el simulador en inútil: sirve para comparar reglas bajo condiciones consistentes, siempre que se interpreten sus límites. El resultado histórico es una simulación, no una reproducción perfecta del mercado.
Para evaluar un cambio, no basta con mirar el beneficio neto final. Conviene comparar cuántas operaciones alcanzaron el offset, cuántas salieron por ROI o por señal y qué resultados produjo el stop en relación con la versión anterior de la estrategia. Usar datos de mayor resolución puede aportar más detalle sobre los movimientos intraperiodo si el flujo de trabajo y el motor lo admiten, pero tampoco elimina todas las diferencias con la ejecución real. La prueba sirve para entender patrones, no para prometer una salida idéntica en cada operación futura.
Qué cambia cuando el stop se coloca en el exchange
Con stoploss_on_exchange, el bot puede colocar una orden de stop directamente en el exchange cuando esa combinación de mercado y tipo de orden está soportada. En otros casos, el stop se gestiona desde el propio bot y depende de que este permanezca conectado para vigilar el precio y enviar la salida. La disponibilidad y el comportamiento varían según el exchange y sus reglas. Hay que distinguir el cálculo del trailing de la existencia de una orden efectiva en el mercado.
Cuando Freqtrade actualiza un stop colocado en el exchange, el intervalo de actualización configurado puede hacer que el nivel visible tarde en reflejar el último movimiento. Un intervalo más largo implica menos actualizaciones, pero también más tiempo entre cambios; reducirlo sin considerar los límites de la API puede generar solicitudes innecesarias o chocar con las restricciones de la plataforma. El parámetro de actualización afecta a la orden en el exchange, no convierte por sí mismo un trailing inactivo en uno activado.
También hay que comprobar si el exchange acepta el tipo de orden configurado y qué condiciones impone. Puede exigir una distancia mínima al precio, una precisión determinada o un formato concreto para el disparador. Si una orden es rechazada, los mensajes del bot y el historial de órdenes ayudan a identificarlo; no conviene deducir que el trailing funcionó solo porque la estrategia calculó un nivel. Un stop calculado y un stop aceptado por el exchange son dos pasos distintos.
Cómo localizar el punto exacto del problema
Empieza por consultar el precio de entrada, el máximo favorable alcanzado, el offset requerido y la distancia del stop. Si el máximo no superó el umbral, la explicación probablemente está en la condición de activación. Si sí lo superó, revisa entonces los valores efectivos de la estrategia y la configuración cargada: un parámetro definido en un archivo no garantiza que sea el que está usando la instancia si existe otra configuración o se ha cargado otra estrategia. Verificar qué valores están activos evita depurar una versión distinta de la que está operando.
Después, comprueba el motivo de salida de la operación y los registros alrededor del momento en que el stop debía cambiar. Busca indicios de actualización, errores del exchange y mensajes relacionados con el callback personalizado. Si no aparece una subida, revisa si trailing_stop estaba activado, si la condición de offset se cumplió y si alguna función personalizada o regla de salida modificó el resultado. El registro de la operación aporta más que una impresión basada solo en el gráfico.
Si el stop está en el exchange, contrasta el nivel calculado por Freqtrade con la orden que realmente aparece allí y con el intervalo de actualización. Si la operación se cerró antes, identifica si fue por ROI, señal, stop fijo u otra condición; no atribuyas automáticamente cualquier cierre a un trailing defectuoso. Un backtest con parámetros idénticos puede ayudar a repetir el escenario, aunque sus supuestos intravela no reproduzcan cada detalle del mercado. La secuencia completa permite separar una regla esperada de un problema de configuración o ejecución.
Calibrar la estrategia sin perseguir un ajuste mágico
Una configuración de partida, no una recomendación universal, podría usar stoploss = -0.05, trailing_stop = True, trailing_stop_positive = 0.01, trailing_stop_positive_offset = 0.02 y trailing_only_offset_is_reached = True. En términos sencillos, establece un stop inicial del 5%, activa el tramo positivo al alcanzar el 2% y lo mantiene a un 1% de distancia. Lo importante es comprobar que la distancia de seguimiento y el umbral encajan con la lógica de la estrategia.
Con esa combinación, el nivel de activación queda por encima de la distancia positiva de seguimiento, de modo que al comenzar el trailing puede proteger parte del avance. No obstante, el resultado cambia con el activo, las comisiones, el marco temporal y la forma de entrar en la posición. Un seguimiento demasiado ceñido puede cerrar operaciones por oscilaciones normales; uno demasiado amplio puede devolver una parte mayor del beneficio antes de salir. No existe un porcentaje que sea óptimo para todos los pares y todas las estrategias.
La evaluación debe contemplar también las reglas de ROI y las señales de salida. Si se quiere medir el efecto del trailing de forma aislada, una comparación de backtests puede mostrar qué cambia al modificar un parámetro, siempre manteniendo constantes los demás. Después, cualquier diferencia entre simulación y ejecución real debe analizarse con cautela. El objetivo es comprender qué condición está gobernando la salida, no forzar al bot a conservar cada operación ganadora.
El stop debe responder a reglas comprensibles
En la mayoría de los casos, la aparente inmovilidad se explica por un umbral que no se alcanzó, un formato decimal incorrecto, una salida anticipada o la interacción con un stop personalizado. Si esas posibilidades se descartan, las órdenes y los registros del exchange permiten investigar problemas de actualización o compatibilidad. El diagnóstico empieza por reconstruir los datos de la operación y termina comprobando la ejecución, no por cambiar varios parámetros a la vez.
Un trailing útil no tiene que capturar el máximo ni impedir toda pérdida de beneficio. Su función es aplicar una regla de salida que se ajuste al diseño de la estrategia y al riesgo que esta asume. Cuando los umbrales son coherentes, las salidas compiten de forma deliberada y el exchange acepta las órdenes, el movimiento del stop resulta más fácil de interpretar. La transparencia de las reglas vale más que una configuración que solo parece funcionar en una operación aislada.

Actualidad¿Qué se sabe hoy de los terremotos de Venezuela y cómo sigue el país?
Salud¿Por qué me duelen las piernas por dentro? Causas, síntomas y alertas
Naturaleza¿Dónde siguen activos los incendios en España este 28 de septiembre?
Economía¿Cómo funciona la nueva cuenta de Revolut al 3,51% TAE en España?
Actualidad¿Qué pasó con el terremoto de Colombia? Balance, víctimas y réplicas
ActualidadSan Miguel 2026: fecha, día de la semana y santoral
Actualidad¿Cuánto cuesta el desfile de la Fiesta Nacional en Madrid en 2026?
Economía¿Cuándo llega Kaufland a España y qué ciudades tendrán compra online?
Ocio¿Cuándo es Halloween 2026 en España y qué día se celebra este año?
ActualidadCalendario laboral 2026: ¿cuántos días festivos tendrás en España?
Salud¿Por qué mi sudor huele mal y antes no? Causas y cuándo preocuparse
Ocio¿Cómo queda la Liga Endesa? Fichajes, bajas y renovaciones 2026-27









