He estado trabajando en una capa de stop losses independiente de los sistemas de trading. En principio, uno implementaría el SL en los propios sistemas porque eso tiene la ventaja de que cada uno puede usar un SL diferente adaptado a sus particularidades. Sin embargo en mi caso, tal como tengo el tinglao montao, no me vale porque no se puede dar la señal hasta el final de la vela (o complicarlo mucho), y eso con datos semanales se traduce en un desastre. No es que pueda hacerlo, es que lo hace, solo es una cuestión de tiempo.
Esta capa nueva opera al margen de los sistemas por lo cual puede ejecutar el SL tan pronto salta, sin esperar al final de vela. También tiene la inteligencia suficiente para volver a entrar al mercado (
unstop) si la situación vuelve a ponerse mona. Y con cuidado de que si esta capa nos da el stop y luego por otro lado llega la orden de salida del sistema, no hay que volver a salirse!
Y también he hecho un poco de colorines en mi terminal de los 80
(los nombres están censuradetes porque dan pistas de lo que los sistemas hacen por dentro). El primer sistema está largo porque su nombre está en verde; el segundo está en corto. Los grises están en stop. "alloc" es la proporción del capital total asignada a ese sistema; la suma no da 100% porque hay varios sistemas más que no tengo dentro del mercado, por tanto no se muestran. "refprice" es el precio de entrada de cada sistema y los demás números de la derecha son los BTC por usuario, salen en verde si ese sistema en particular está dando beneficios y en rojo si están dando pérdidas (pero si están en stop el rojo es más oscuro, aquí no se aprecia porque todos los sistemas que me estarían dando pérdidas están en stop así que todos son rojos oscuros). La fila "overall position" solo suma las coins dentro del mercado; el resultado en la columna "total" es 0.60 del primer sistema
menos 0.48 del segundo (se restan porque ese está en corto) más 0.48 del tercero, 0.60-0.48+0.48 = 0.60.
Largo con un 5% del capital, 0.6 BTC a un precio medio de 2146.40. (hmm, quizá podría poner el "0.6" en verde para significar "largo"). Y estoy viendo que el primero va a dar salida a las 20:00 UTC, por lo que venderé 0.60 y se me liquidará la posición en finex. Ya me voy sintiendo menos gilipollas
Edit: ah! y voy con la API. Lo tengo en beta testing y de momento no se opera automáticamente pero ya no quedan bugs gordos y creo que no tardaré en darle al interruptor. Después ya solo me falta poner un post en este hilo automáticamente con cada orden, o cada día o algo xD