Author

Topic: Hablemos de trading bots/scripts (Read 95 times)

legendary
Activity: 3346
Merit: 3130
December 03, 2024, 08:48:33 AM
#11
Si aún no tienes tu estrategia para lidiar con los mercados, te sugeriría que empieces por ahí, después de todo la creación de un trading bot no es nada mas que un esfuerzo de optimización, y como menciona uno de los documentos del lenguaje Perl acerca de la optimización: “la mejor optimización es tener código funcional.” O en este caso lo mejor es simplemente tener una estrategia que funcione.

Aún no he desarrollado en si la estrategia de como sería mi bot the tradig, sin duda alguna esa es la parte divertida, pero en el pasado he desarrollado estrategias de bots de apuestas, lo cual me ha ayudado a desarrollar una lógica interesante sobre estrategias, personalmente mi bot de apuestas favorito fue el que apostaba un multiplo medio y luego x9900 y esto en un ciclo el cual se subía la cantidad de la apuesta conforme avanzaba. El objetibo era pegarle a x9900 en 1000 apuestas, y lo logre muchas veces.

Ahora bien, hay algunas decisiones de diseño que deben tomarse, como por ejemplo, ¿el script que quieres crear recordará eventos que sucedieron antes o usaras una llamada API para todo lo que quieras saber? El seudocódigo descrito arriba es para un script tonto que no recuerda nada y necesita obtener toda la información que necesita cada vez que es llamado, algo no muy práctico y que lo haría más propenso a errores.

Tal vez no recordar el evento en si, mas bien lo que haría es ver el balance para tomar decisiones, si la inversión baja cierto % entonces debería de tomarse una acción.
legendary
Activity: 2534
Merit: 1338
December 02, 2024, 10:15:03 AM
#10
Hasta donde sé, las casas de cambio ya parecen ofrecer herramientas para la creación de bots con el uso de bloques de instrucciones, similares a lo que vemos en algunas herramientas de videojuegos que permiten su creación sin la necesidad de escribir una solo línea de código, lo cual es bastante practico porque te evitaría tener que aprender a programar y concentrarse en la creación del bot.

Estas son las famosas herramientas del Drag and Drop, o en español sería el arrastrar y soltar. No he visto aun herramientas de este tipo para crear los bots para trading, sin embargo el que busca encuentra, es bueno saber que existen.

Y sobre los pasos que comentas, tiene logica, espero estas vacaciones tener tiempo para poder programar uno de estos bots de trading y ver si podemos poner a trabajar el dinero de forma automatizada.  Tongue
Si aún no tienes tu estrategia para lidiar con los mercados, te sugeriría que empieces por ahí, después de todo la creación de un trading bot no es nada mas que un esfuerzo de optimización, y como menciona uno de los documentos del lenguaje Perl acerca de la optimización: “la mejor optimización es tener código funcional.” O en este caso lo mejor es simplemente tener una estrategia que funcione.

Ahora bien, hay algunas decisiones de diseño que deben tomarse, como por ejemplo, ¿el script que quieres crear recordará eventos que sucedieron antes o usaras una llamada API para todo lo que quieras saber? El seudocódigo descrito arriba es para un script tonto que no recuerda nada y necesita obtener toda la información que necesita cada vez que es llamado, algo no muy práctico y que lo haría más propenso a errores.

¿Te podrías preguntar porque es esto? Porque las llamadas API fallan algunas veces, y aunque como lidiar con errores es algo en lo que no se piensa demasiado cuando se trata de un script casero, dado que siempre se puede cerrar el script e iniciar de nuevo, cuando el script maneja cantidades importantes de dinero en tu nombre esto se convierte en algo indispensable.

Generalmente hay dos clases principales de error, uno en que la llamada se realice pero no obtienes lo que quieres y en lugar recibes un mensaje de error, y uno en que la llamada no se realizó, talvez porque no tenías internet en el momento justo en que produjiste esa llamada, y necesitas formas de lidiar con esto, lo cual puede ser algo tan sencillo como producir una llamada segundos después del fallo, ¿pero qué hacer si el script falla varias veces seguidas? En ese caso talvez tu script podría enviarte un email o mensaje y además configurases tu teléfono para darle prioridad y que una alarma sonase incluso cuando estas dormido, pero claro, esto no te protege de los errores producidos por la falta de internet.

Otra opción mas avanzada sería algo que en la industria de la aviación se conoce como apretones de mano o handshakes, en el cual un satelite manda un mensaje a un avión preguntando si aun esta en el aire, y cuando esto no es así se sabe que ha ocurrido algo con el avión, así que podrías crear una pieza de código adicional que corra en tu teléfono que intente contactarse con tu bot para saber si está en línea funcionando correctamente, y en el momento en que no obtenga respuesta entonces sabes que hay algún error que debe corregirse, la ventaja de esto es que incluso si la computadora en la cual esta corriendo tu bot se queda sin internet, podrías saber que hay alguna clase de error y lidiar con ello.

Así que como vez el mundillo de los bots es bastante complejo una vez que te sumerges en él. Wink
legendary
Activity: 3346
Merit: 3130
December 02, 2024, 09:14:33 AM
#9
Hasta donde sé, las casas de cambio ya parecen ofrecer herramientas para la creación de bots con el uso de bloques de instrucciones, similares a lo que vemos en algunas herramientas de videojuegos que permiten su creación sin la necesidad de escribir una solo línea de código, lo cual es bastante practico porque te evitaría tener que aprender a programar y concentrarse en la creación del bot.

Estas son las famosas herramientas del Drag and Drop, o en español sería el arrastrar y soltar. No he visto aun herramientas de este tipo para crear los bots para trading, sin embargo el que busca encuentra, es bueno saber que existen.

Y sobre los pasos que comentas, tiene logica, espero estas vacaciones tener tiempo para poder programar uno de estos bots de trading y ver si podemos poner a trabajar el dinero de forma automatizada.  Tongue
legendary
Activity: 1162
Merit: 2025
Leading Crypto Sports Betting & Casino Platform
November 30, 2024, 04:45:38 PM
#8
....

La analogía del traje creo que no es la más correcta para hablar del tema de los robots de tradeo o el uso de las APIS suministradas por las casas de cambio para poder operar de forma sutomática utilizando esas herramientas, las razones son más que simples: en la vida real los trajes o conjuntos no cambian de talla de forma automática, o te cambias de traje o tienes que pagar para que un sastre trabaje haciendo arreglos al traje.
En el contexto del manejo de robot de trading, nosotros somos a la misma vez la persona que usa el traje y el sastre que tiene que invertir tiempo y recursos en afinar el tamaño y las tallas del mismo para poder haciendo ganancias en un entorno cambiante y muy difícilmente predictivo como lo es el mercado de las monedas descentralizadas...
legendary
Activity: 2534
Merit: 1338
November 29, 2024, 12:28:50 PM
#7
... pero lo que es importante recordar es que esas estrategias caducan, por lo impredecible del mercado, así que los robots tienen que calibrarse con nuevas estrategias y conocimientos del operador cada vez que se dejan actuar por si mismas...
Tan solo una pequeña acotación, esto es cierto pero depende de las circunstancias, me explico, supongamos que una estrategia fuese como un traje, si lo ajustas al punto de que te quede a la perfección, entonces cualquier cambio en tu peso o incluso cambios en la cantidad de musculo o grasa corporal conllevaran a que el traje ya no te quede a la medida y tengas que ajustarlo, esto se le conoce como overfitting o sobreajuste, y es una de las razones principales por las cuales una estrategia que pareciera ser capaz de producir grandes resultados falla, dado que los parámetros de la estrategia están tan optimizados hacia los movimientos anteriores del mercado, que cuando se pone en practica, falla debido a que el mercado nunca se mueve exactamente como lo hizo en el pasado.

Por lo tanto, siguiendo con nuestra analogía, es mucho mejor que nuestra estrategia sea como un traje que nos queda bien incluso si subimos o perdemos un poco de peso, dado que, incluso si hay circunstancias en las cuales nuestra estrategia sería más efectiva, aun podría producir ganancias en esas condiciones sin necesidad de ajustarla.


...

Realmente aprecio mucho tu respuesta colega, nos has mostrado la punta del Iceberg, pero me gustaría indagar con usted un poco mas sobre la parte técnica.

Como lo ha hecho en el pasado, me gustaría saber cosas como:

¿Que casa de cambios usó?
¿Que lenguaje de programación usó?
¿Como se conectó a la casa de cambio?

espero que me pueda ayudar con estas dudas, personalmente si me gustaría crear uno de estos bots y creo que con la ayuda de la comunidad me puedo encaminar bién.
Hasta donde sé, las casas de cambio ya parecen ofrecer herramientas para la creación de bots con el uso de bloques de instrucciones, similares a lo que vemos en algunas herramientas de videojuegos que permiten su creación sin la necesidad de escribir una solo línea de código, lo cual es bastante practico porque te evitaría tener que aprender a programar y concentrarse en la creación del bot.

Sin embargo si te interesa tomar el camino largo o no tienes otra opción, te describo lo que hice, el bot fue probado con la API de CMC y no en un casa de cambio, sin embargo era funcional y fue probado exhaustivamente, algunos lenguajes populares para esto son Java y Python, pero yo use Perl, la razón de esto es simple, cuando haces una llamada API, lo haces porque esperas recibir algo a cambio, por ejemplo el precio actual de bitcoin, sin embargo el formato en que esto ocurre probablemente no sea lo mas apropiado para tus fines, y aunque la mayoría de los lenguajes de programación tienen formas de lidiar con ellos, Perl es sin duda el más poderoso.

Ahora bien, aunque la complejidad del problema es alta, el proyecto en seudocódigo podría verse algo parecido a esto:

Procedimiento Main.
   Llama a Procedimiento Lectura a intervalos de tiempo regulares, ejemplo un minuto.

Procedimiento Lectura.
   Mientras la Llamada API no tenga éxito entonces:
      Llamada API, obtener precios de activos y posiciones abiertas al momento.
      ¿La llamada se realizó con éxito? Si es así: llama a Procedimiento Estrategia.
      Si no es así: guarda en un log el error, pausa, cuenta las veces que ocurrió este error.

Procedimiento Estrategia.
   ¿Tengo posiciones abiertas? Si es así:
      ¿Debo cerrarla? Si es así: Llama Procedimiento Cierra Posición.
   ¿Debería abrir una nueva posición? Si es así: Llama Procedimiento Abre Posición.

Procedimiento Cierra Posición.
   Llamada API, cierra la posición en cuestión.

Procedimiento Abre Posición.
   Llamada API, abre la posición en cuestión.
legendary
Activity: 3346
Merit: 3130
November 29, 2024, 09:09:34 AM
#6
...

Realmente aprecio mucho tu respuesta colega, nos has mostrado la punta del Iceberg, pero me gustaría indagar con usted un poco mas sobre la parte técnica.

Como lo ha hecho en el pasado, me gustaría saber cosas como:

¿Que casa de cambios usó?
¿Que lenguaje de programación usó?
¿Como se conectó a la casa de cambio?

espero que me pueda ayudar con estas dudas, personalmente si me gustaría crear uno de estos bots y creo que con la ayuda de la comunidad me puedo encaminar bién.
legendary
Activity: 1162
Merit: 2025
Leading Crypto Sports Betting & Casino Platform
November 29, 2024, 07:17:54 AM
#5
Yo no he tenido ninguna experiencia personal con scripts of robots para hacer trading, ni en el mercado spot, ni tampoco con futuros y opciones. Yo tengo entendido que no se trata de utilizar bots para hacer dinero facil o sustituir de forma completa el trading clásico hecho por una persona que tiene que prestar atención a los mercados mucho tiempo. He leído que mas bien se trata del hecho de que los traders también necesitan dormir y tener tiempo fuera de ese trabajo de especulación, y con la motivación de no perderse una buena oportunidad en el mercado,entonces recurren a automatizar sus propias estrategias para que puedan seguir ganando algo de dinero mientras duermen, pero lo que es importante recordar es que esas estrategias caducan, por lo impredecible del mercado, así que los robots tienen que calibrarse con nuevas estrategias y conocimientos del operador cada vez que se dejan actuar por si mismas.
Yo he visto varias veces ya como se utiliza la supuesta efectividad de los robots de trading como una pantalla para esquemas Ponzi y piramidales, así que yo sería bastante exceptico si me hablasen de ganancias garantizadas, así sea por el mejor bot del mundo...
legendary
Activity: 2534
Merit: 1338
November 27, 2024, 11:21:59 AM
#4
Así como dice el título, quería saber si tienen alguna experiencia que puedan compartir sobre este tema. En el pasado he escuchado de gente que hace trading de forma automática y me gustaría saber si alguien por aquí domina ese tema y como lo hacen.

Por lo que entiendo podemos descargar de git diferentes bots para trading que se conectan a través del API a los exchanges.
Este es un tema al que le dedique bastante tiempo hace unos años así que tengo algo de experiencia al respecto, para empezar, nunca recomendaría descargar ninguno de esos bots, dado que es bastante fácil ofuscar el código para que incluso una persona con conocimientos del lenguaje no entienda del todo que hace el script, y por lo tanto podrías terminar perdiendo tus monedas de esta manera.

Ahora bien, actualmente hay dos maneras principales de enfrentar el problema de desarrollar un trading bot, la más popular en la actualidad es hacer uso de la IA para intentar encontrar una estrategia ganadora, personalmente no me gusta demasiado esta forma de abordar el problema porque en cierta forma es muy indirecta, esto lo digo porque la mayoría de aquellos que quieren probar este método no tienen conocimientos de los mercados, y tratan a la IA como una caja negra en la cual simplemente ingresan un montón de datos y esperan encontrar una solución a sus problemas.

La segunda manera es una que los humanos hemos usado desde siempre, en la cual aprendemos a hacer algo y luego creamos una maquina que replique este proceso de manera automática, sin embargo, cuando se trata de un trading bot, esto significa que la estrategia que debes crear debe ser mecánica, o en otras palabras, no puedes dejar nada a tu juicio, y por lo tanto cuando te enfrentes a las mismas circunstancias en el mercado siempre debes tomar la misma acción, desde cuando abrir tu posición, cuando cerrarla, el tamaño de tu stop loss, etc.

Y en mi experiencia muy pocos traders siguen una estrategia así, lo cual significa que no pueden tomar este camino, lo que explica una vez más la popularidad de la IA en la actualidad.

A mi parecer, el paso más difícil es sin lugar a duda el desarrollo de la estrategia en sí, dado que, deberás verificar que de hecho funciona para todos los mercados y bajo todas las circunstancias, lo cual me llevó en su tiempo a la modelación de mercados, y luego a verificar si la estrategia funcionaba en estos mercados “paralelos.”

Una vez hecho esto el paso final es la creación del bot, que incluso si no tienes ningún conocimiento de programación es mucho más sencillo, la única problemática sería si te interesan los tiempos de ejecución demasiado cortos, en cuyo caso necesitarás hacer más eficiente tu código para que corra lo más rápido posible, o elegir un lenguaje de programación conocido por su velocidad de ejecución.


Algo interesante sobre el tema es que con un buen bot de trading no solo se gana haciendo compra/venta, sino que las casas de cambio ofrecen premios a los mejores bots de trading. Un conocido se sacó 3er lugar en coinbase hace unos meses. Por eso creo que vale la pena estudiar más a fondo el tema.
Como nota final, asumiendo que pudieses hacer todo esto, jamás reveles el algoritmo detrás de tu bot, ya sea de manera directa o indirecta, dado que estamos hablando de un software que en teoría no solo es tan bueno como tú, sino que debido a que puede observar los mercados con mucha mejor precisión que un humano y puede hacerlo sin descanso, la realidad es que el nivel de habilidad de un trading bot es mucho mayor que el de su contraparte humana.
legendary
Activity: 3346
Merit: 3130
November 27, 2024, 09:40:24 AM
#3
Algo interesante sobre el tema es que con un buen bot de trading no solo se gana haciendo compra/venta, sino que las casas de cambio ofrecen premios a los mejores bots de trading. Un conocido se sacó 3er lugar en coinbase hace unos meses. Por eso creo que vale la pena estudiar más a fondo el tema.
sr. member
Activity: 490
Merit: 377
November 26, 2024, 09:40:19 AM
#2
Yo realmente no conozco nada de ese mundo, asi que no voy a poder aportar en este hilo, pero considero que seguro alguno si podra traer algo de luz.

Seguro d5000 algo conoce.

(igual voy a leer que escriben, el conocimiento no ocupa lugar).
legendary
Activity: 3346
Merit: 3130
November 26, 2024, 09:36:49 AM
#1
Así como dice el título, quería saber si tienen alguna experiencia que puedan compartir sobre este tema. En el pasado he escuchado de gente que hace trading de forma automática y me gustaría saber si alguien por aquí domina ese tema y como lo hacen.

Por lo que entiendo podemos descargar de git diferentes bots para trading que se conectan a través del API a los exchanges.
Jump to: