← Todos los artículos

Crear un bot de trading de cripto con IA tras 10 años programando

Llevo más de diez años como desarrollador y desde junio estoy construyendo con IA un programa de trading automático de criptomonedas. ¿Fue fácil? A medias. La parte de comprar y vender sale en minutos. Mantenerla funcionando las 24 horas con dinero real resultó ser otro trabajo completamente distinto. En cuatro meses escribí y reescribí unas 100.000 líneas de Python, y sigo en el ciclo de construir, corregir y probar. Esto es lo que pasó de verdad, con números.

Operar son 15 líneas

Si le dices a una IA "compra si baja un 5% y vende si sube un 10%", te devuelve algo como el código de abajo. Se conecta al exchange, mira el precio de Bitcoin cada minuto y lanza una orden cuando se cumple la condición. Quince líneas.

Ejemplo de bot de 15 líneas que escribiría una IA para "compra si baja 5%, vende si sube 10%"

Este lo escribí yo para ilustrar la idea y nunca lo ejecuté. Aun así, hoy cualquiera puede conseguir un código así sin saber programar. Al empezar pensé que bastaría con añadir una estrategia encima y que estaría casi terminado.

El programa real tiene miles de líneas

Si cuento las líneas de mi programa actual, la diferencia salta a la vista.

ParteLíneas
Comprar y vender (el ejemplo de arriba)15
Funcionamiento 24/7 (órdenes, cuentas, posiciones, motor, servidor)8.308
Estrategias (con 395 archivos de experimentos)43.896

Líneas de código: ejemplo de comprar y vender 15, funcionamiento 24/7 8.308, estrategias 43.896

Las 8.308 líneas del medio no tienen nada que ver con la estrategia. Son las que mantienen vivo el programa: envían órdenes, sincronizan las posiciones abiertas con el exchange, revisan los saldos de las cuentas y retoman las operaciones abiertas después de un reinicio. Ahora mismo hay 30 configuraciones de estrategia en real repartidas en 12 cuentas, así que solo saber qué cuenta tiene qué moneda ya es bastante trabajo.

Las 43.896 líneas de estrategias están algo infladas. Guardo todos los archivos de experimentos, también los que probé y descarté. Mejor leerlo como "esta es la cantidad de estrategias que construí y probé" que como "el código de estrategias ocupa 44.000 líneas".

Seis cosas que pasaron de verdad

Cuando hay dinero real de por medio, un error pequeño se convierte enseguida en una pérdida o en una parada. Esto es lo que me encontré con el programa en marcha.

Seis incidentes reales del trading automático 24/7: apagado al cerrar una ventana, valores vacíos tras reiniciar, orden rechazada por redondeo, error de límite de apalancamiento, futuros de acciones en la lista de monedas, orden rechazada en una moneda en deslistado

El 15 de septiembre tenía el servidor de trading real abierto dentro de una ventana de vista previa. Al cerrarse esa ventana, el servidor se apagó con ella. Durante 45 minutos no se hizo ninguna operación. Desde entonces el servidor real corre como un proceso aparte que no depende de ninguna ventana.

El 21 de septiembre el problema vino tras un reinicio. Al reiniciar, el programa recupera de la base de datos las operaciones abiertas. Una estrategia usaba un valor calculado que nunca se guardaba allí. Con ese valor vacío, la estrategia fallaba cada vez que se ejecutaba, y estuvo parada de 11:00 a 15:15, más de cuatro horas. Ahora, si encuentra el valor vacío, lo vuelve a calcular.

En mi primera versión el problema fue la cantidad de la orden. Cada moneda tiene un paso de cantidad fijo, así que redondeaba para ajustarme a él. Una orden de 5 dólares quedó redondeada por debajo del importe mínimo del exchange y fue rechazada. Lo resolví redondeando siempre hacia arriba.

Con el apalancamiento pasó algo parecido. El apalancamiento máximo cambia de una moneda a otra, y cuando mandaba una orden por encima del límite, Bybit la rechazaba con el error 110013. Ahora, si llega ese error, el programa baja el apalancamiento y lo intenta una vez más.

El 5 de octubre encontré un problema en los datos. La lista de monedas que bajaba de Bybit tenía futuros de acciones mezclados. Habían entrado en mis estadísticas cosas que no eran criptomonedas, así que tuve que recalcular las estadísticas y las simulaciones.

El 9 de octubre el programa lanzó una orden de entrada en corto en STG, una moneda a punto de ser deslistada. Bybit la rechazó porque durante el deslistado no se pueden abrir posiciones nuevas (error 30228).

Las desconexiones también hay que tenerlas siempre previstas. Cuando el programa no consigue los precios, se salta ese tramo de 15 minutos y lo vuelve a intentar en el siguiente.

Unas 100.000 líneas escritas y reescritas en cuatro meses

Corregir las cosas una a una hace que el código no pare de cambiar. Si sumo las líneas de Python añadidas y borradas cada día desde junio hasta principios de octubre, salen unas 100.000 (103.310).

Líneas de Python añadidas y borradas acumuladas desde junio de 2026: 42.200 en el primer programa y 61.100 en el que rehago desde el 11 de septiembre

La línea gris es mi primer programa: 42.200 líneas escritas y modificadas entre junio y agosto. El 11 de septiembre empecé a rehacerlo desde cero. Esa es la línea amarilla, que llegó a 61.100 líneas en poco más de un mes. En ese tiempo ejecuté 505 simulaciones de estrategias.

¿Se puede hacer sin ser desarrollador?

Creo que sí. La IA de hoy mira un mensaje de error, encuentra la causa y propone cómo arreglarlo. Si le dedicas tiempo y vas resolviendo los problemas uno a uno, es un proyecto realista aunque no tengas formación en programación.

Eso sí, no esperes que la IA te entregue un sistema terminado con un par de clics. Casi todos los problemas de arriba aparecieron solo cuando el programa ya movía dinero real. Si decides intentarlo, empieza sabiendo que vas a hacer clic, corregir y volver a ejecutar muchas más veces de las que imaginas.

Nada de lo que publicamos es asesoramiento financiero. Las criptomonedas son volátiles y los resultados pasados no garantizan rendimientos futuros.