Se utilizará la plataforma bitvavo, a través de su api:
https://docs.bitvavo.com/
La api tiene una serie de limitaciones que no creo que lleguemos a superar, 1000 peticiones por ip o por api key por minuto y 100 peticiones de pedido (compra o venta) por segundo y un total de 100.000 por día.
Donde si vamos a tener un pequeño problema es en la extracción de datos de los precios antiguos de las diferentes monedas, el endpoint disponible solo te permite recuperar la información con un máximo de un día, por lo cual tendremos que llevar nuestros propios registros para poder hacer la media en n días. Para ello usaremos una BD MySQL.
El programador solo tendrá que encargarse de la lógica de negocio del sistema de Gestión.
ESPECIFICACIÓN del software de criptos:
la idea es poder gestionar n criptomonedas mediante un algoritmo de compra y otro de venta, el mismo para todas las criptomonedas.
Se podrá elegir sobre qué criptomonedas estará el algoritmo activo.
Parámetro general: Minutos de espera para la siguiente conexión del sistema (Mn); Si Mn=0, el sistema no hará conexión.
Se podrá parametrizar lo siguiente (parámetros genéricos para todas las criptomonedas activas):
1. Cantidad fija para compra (en euros) €F
2. Días para calcular el precio medio de una cripto (Dm)
3.
Porcentaje de bajada del precio para comprar (%b)
4. Porcentaje de subida del precio para vender (%s)
El sistema tendrá la cantidad fija €F o bien “disponibles”, o bien “invertidos”.
orden de compra
en el momento en el que el sistema constate que se ha hecho una venta, y por lo tanto los €f estén disponibles, en ese instante se dará una orden de compra a un precio de un %b respecto al precio medio de los dm últimos días en ese momento de la venta.
orden de venta
en el momento en el que el sistema constate que se ha hecho una compra, en ese instante se dará una orden de venta de todas las criptos que se han comprado a un precio de un %s respecto al precio de compra.
El sistema guardará en Content sort un log de transacciones con todos los datos de cada transacción.
El sistema entrará a verificar compras y ventas y dar órdenes, cada Mn minutos. Si Mn=0, el sistema no hará conexión.
Bitvavo lo ponen en mantenimiento algunas veces por temas de actualizaciones (por ahora solo una vez en dos meses). Aparte del tiempo que puede estar fuera de servicio, puede luego haber errores en los servicios web.
Por lo tanto, en la estimación, se ha añadido, en toda transacción, un sistema central de control de errores; capturar los posibles errores del servicio web (que no conteste, o que devuelva código de error), y en esos casos, sí, el sistema debe enviar un email al administrador (a nosotros) informando del error en concreto.
TECNOLOGÍA para el sistema de gestión de criptos: 100% php (solo lógica de negocio).
No hay que desarrollar ningún front, ni requiere configuración de bd. Solo, lógica de negocio y comunicación mediante APIs.
Delivery term: Not specified