Buscar

Como crear un bot de criptomonedas con Freqtrade – Parte 1

Como crear un bot trading de criptomonedas con Freqtrade

Siempre que intento enseñar algo, procuro conocer lo más profundo posible sobre el tema para así poder explicarles de forma simple como la tecnología ha permitido que sea tan fácil crear un bot que haga compra y ventas de criptomonedas de forma automatizada. Es por eso que hablaremos un poco de los conceptos básicos para luego ir a Freqtrade:

¿Qué es el Trading Algoritmico?

Seguramente has escuchado la frase “Compro barato y vendo caro” es usado por muchas comerciantes de criptomonedas que normalmente tienen un proceso de compra y venta manualmente a través de un Exchange, pasan horas analizando los gráficos de una criptomoneda para poder determinar el momento perfecto de entrar al mercado.

Ahora imagina que exista un programa informático que con base en algoritmos, reglas y procedimientos automatizados este constantemente analizando el mercado para así poder “Comprar barato y vender caro” sin requerir ninguna intervención humana. ¿Increíble no?, eso es Trading Algoritmico 😃.

¿Qué es el Backtesting?

Al momento de realizar trading lo más importante es tener una buena estrategia. ¿Pero como te das cuenta de que es buena? La técnica para poder identificar esto probarla con datos históricos como si estos datos estuvieran pasando hoy, de esta forma se intenta predecir como puede funcionar en el futuro. A este método se le llama Backtesting 😃.

Si buscamos Backtesting en Github, el proyecto que sale de primero se llama Backtrader, parece un gran proyecto porque provee una forma sencilla de hacer Backtesting y crear un bot. Pero para mí lo más importante de un proyecto OpenSource es que esté actualizado y se nota que no lo actualizan desde hace mucho.

Ahora un poco escondido, pero con 3 veces más estrellas ⭐️ se encuentra Freqtrade

¿Qué es Freqtrade?

Es un bot de comercio de criptomonedas que no solo provee Backtesting, sino que tiene integración con muchos Exchanges, nos ofrece una forma de controlar el Bot desde Telegram y hasta tiene una interfaz UI para poder controlarlo aún más, he incluso ver en vivo las compras y ventas en gráficos de velas.

Además, tiene una comunidad muy activa, el repositorio en GitHub es actualizado constantemente y existe un grupo de Discord interno para todo el que tenga dudas o quiere aportar al desarrollo del proyecto.

Empezando a crear nuestro primer Bot

Requisitos previos

  • Primero necesitamos tener instalado Docker, sigue los pasos: (Mac) (Linux) (Windows)
  • Luego también es necesario tener instalado Docker Compose, nos ayudara en la ejecución del bot.

Creando el Bot de Freqtrade

  1. Creamos la carpeta de nuestro bot
  2. Descargamos el docker-compose.yml
  3. hacemos pull para descargar la imagen
$ mkdir mynewbot && cd mynewbot/
$ curl -L https://n9.cl/i1fsg -o docker-compose.yml
$ docker-compose pull

Deberíamos poder ver solo el archivo docker-compose.yml.

Screen Shot 2022 04 18 at 0.25.51

  1. Descargamos el directorio user_data que contiene la estructura del bot
  2. Generamos el archivo de configuración seleccionando que deseen
    1. Dry-run: Indica si vamos a correrlo con dinero simulado o real
    2. Stake Currency: Cryptomoneda con la que va a funcionar
$ docker-compose run --rm freqtrade create-userdir --userdir user_data
$ docker-compose run --rm freqtrade new-config --config user_data/config.json
Screen Shot 2022 04 18 at 0.46.40

Deberíamos poder ver los directorios por default del bot.

Screen Shot 2022 04 18 at 0.45.15

Ejecutando el bot

Te preguntarás, ¿Y esto como es posible? Si no hemos tocado una línea de código, bueno el hecho es que Freqtrade ya nos provee una Estrategia muy simple que nos sirve de demostración para probar el bot, solo deben ir a user_data/strategies

Screen Shot 2022 04 18 at 1.04.22

Pero antes de correrlo necesitamos realizar un par de comprobaciones:

  1. El archivo de configuración este disponible en user_data/config.json
  2. Tenemos la estrategia de demostración en user_data/strategies/
  3. La estrategia se encuentra en el comando de ejecución del docker-compose.yml

Ahora es momento de correr, y podemos hacerlo fácilmente con el siguiente comando:

$ docker-compose up -d

Si al crear la configuración activamos Telegram recibimos un mensaje de inicio, si activamos UI podemos entrar en localhost:8080, en caso contrario la forma de ver el status es a través del siguiente comando:

$ docker-compose logs -f
Screen Shot 2022 04 18 at 1.08.36

Para detenerlo solo es necesario ejecutar: docker-compose down


En futuras publicaciones veremos:

  • Como activar el control del bot vía Telegram
  • Como activar la UI para poder visualizar compras y ventas
  • Estructura de proyecto, docker-compose.yml y config.json
  • Como hacer descarga de datos históricos y BackTesting
  • Como obtener el resultado del BackTesting graficado

Espero sus comentarios, si desean que les comparta como hacer algo en específico o pueden escribirme directamente en el Formulario de Contacto.

Total
0
Shares
5 1 votar
¿Qué te ha parecido el artículo?
Suscribir
Notificar de
guest
0 Comentarios
Comentarios en línea
Ver todos los comentarios
0
Me encantaría tu opinión, por favor comenta.x
()
x