Para sistemas swing, que hacen pocas operaciones al mes, mi objetivo de desarrollo es:
- Sistema programado desde cero, excepto el API de toma de datos (a poder ser de más de un feed) y el API de ejecución de órdenes al broker.
- Aplicaciones multihilo, autosupervisadas, tolerantes a fallos, reiniciables...
- Corriendo en dos o más servidores, en localizaciones diferentes, recibiendo datos, sincronizando información y ejecutando las mismas estrategias, todo a la vez.
- Roles de servidores, se pueden asignar uno o varios: Recopilador, Ejecutor, Estratega, Backup...
- Posibilidad de añadir, quitar, reiniciar, cambiar los roles... de los servidores en caliente. Como objetivo final, poder comprar un PC nuevo y tener todo en marcha en menos de 15 minutos.
- Control de múltiples cuentas en el broker. Posibilidad de asociar diferentes cuentas a diferentes servidores.
- Obviamente basado en servicios. Nada de tener que iniciar sesión y arrancar el software, el software arranca siempre con el encendido del servidor.
- Sistema transaccional de ejecución de órdenes. Basado en los conceptos Begin, Commit, Rollback de una base de datos.
- Comunicaciones via email, SMS... y un modo "pánico total" para que el sistema llame al broker en tu nombre y ponga en marcha una alocución para decirle que cierre todas las posiciones, pelín exagerado

- Extenso log de acciones realizadas. Absolutamente todas las acciones sobre los servidores, estrategia, cuentas, eventos, comunicaciones, errores... se graban en base de datos.
Entonces se podría intentar dormir tranquilo por las noches.