Dudas sobre bot con modulos IA

Hola,

Ante todo gracias por el apoyo que nos dais en la creacion de bots y en hacer esto mas facil.

Tengo unas dudas respecto al bot 00244. Lo he decargado para analizarlo, ya que me gusta porque integra diferentes estrategias en funcion del estado del mercado.

Mi duda se basa en la colocacion del nodo votacion ensemble. Si suponemos que hay 3 estrategias que, como actuan diferente debido al estado del mercado en ese momneto, no va a ocurrir nunca que confluyan las 3 a la vez en el nodo de Votacion Ensemble, por lo que este no tiene que decidir entre las 3 estrategias, ya que no coinciden a la vez. Es asi?

Por otro lado he colocado gestion de IA de lotes, SL y TP. Es correcta su posicion o habria que colocar estos nodos a la salida de cada agente actor critic IA, para para que solo aprendan de cada estrategia por separado?

El nodo de volumen tiene alguna funcionalidad? No esta conectado a nada.

Adjunto foto del bot 00244 modificado.

Hola,

Bienvenido a la comunidad :rocket:

Te comento.

1. Sobre la Votación Ensemble y la confluencia de las 3 estrategias

Tu razonamiento es parcialmente correcto, si las 3 estrategias están diseñadas para actuar en estados de mercado distintos (tendencia, rango, volatilidad), es poco probable que las 3 emitan señal simultáneamente en la misma vela. Pero eso no significa que el nodo Ensemble sea inútil, de hecho, está diseñado precisamente para este escenario.

El nodo tiene un parámetro clave llamado votingMethod, y el método por defecto es DYNAMIC_QUORUM. Este método solo cuenta las estrategias que están “activas” (las que han emitido alguna señal en las últimas N barras, configurado con activityLookback). Es decir:

  • Si solo 1 de 3 estrategias emite señal BUY, y las otras 2 llevan tiempo inactivas, el cálculo es 1/1 = 100% → supera el umbral y se abre la operación.

  • Si 2 están activas y solo 1 vota BUY → 1/2 = 50% → depende del umbral configurado.

Además, existe el parámetro signalMemoryBars (por defecto = 1). Si lo subes a, por ejemplo, 5 barras, el Ensemble “recuerda” señales de las últimas 5 velas, lo que permite que estrategias que emiten con desfase temporal puedan confluir en la ventana de memoria. Eso sí, siempre necesita al menos una señal nueva en la vela actual como “trigger” para ejecutar.

El Ensemble con DYNAMIC_QUORUM maneja perfectamente el escenario donde las estrategias no coinciden. No necesita que las 3 confluyan, se adapta a cuántas están activas en cada momento. Es una buena colocación.


2. Sobre la posición del Gestor de Riesgo IA y SL/TP Dinámico IA

Aquí hay matices importantes:

Opción A — Después del Ensemble:

  • Un solo nodo de SL/TP Dinámico IA y un solo Gestor de Riesgo IA para todas las señales.

  • El SL/TP Dinámico usa Q-Learning y aprende de todas las órdenes cerradas del mismo Magic Number, sin distinguir qué estrategia generó cada trade.

  • Ventaja: más datos para aprender → convergencia más rápida de la tabla Q.

  • Inconveniente: mezcla perfiles de riesgo distintos (una estrategia de tendencia puede necesitar SL amplios, una de rango SL ajustados).

Opción B — Después de cada Actor-Critic (antes del Ensemble):

  • Un nodo SL/TP y un Gestor de Riesgo por cada agente.

  • Cada nodo aprende solo de los trades generados por su agente específico.

  • Requiere Magic Numbers distintos por instancia para que cada nodo identifique “sus” trades.

  • Ventaja: SL/TP optimizados para el perfil de cada estrategia.

  • Inconveniente: menos datos por nodo, convergencia más lenta.

Lo habitual, si las estrategias tienen perfiles de riesgo muy distintos (por ejemplo, una opera en tendencia con SL amplios y otra en rango con SL cortos), tiene más sentido colocarlos después de cada Actor-Critic con Magic Numbers separados. Si las estrategias son relativamente similares en perfil de riesgo, déjalos después del Ensemble, más datos = mejor aprendizaje.


3. Sobre el nodo de Volúmenes

Correcto, no tiene ninguna funcionalidad en su estado actual. El nodo de Volúmenes no tiene entradas (es un indicador puro), y si su salida value no está conectada a ningún otro nodo, el valor se calcula pero no lo usa nadie. Es efectivamente un nodo muerto en el grafo.

Si quisieras darle uso, podrías conectar su salida a un nodo de Umbral o Comparación para, por ejemplo, confirmar señales solo cuando el volumen supera cierto nivel (filtro de volumen). Pero tal como está en el bot, no aporta nada.


Espero que te aclare las dudas.

Un saludo,

Ignacio

1 me gusta

Hola,

Gracias por la explicación.

Siguiendo con el tema tengo un par de consultas más:

- Entiendo que, por su diseño, este bot está más orientado a Timeframes pequeños, de 1m hasta 15m, no? Lo digo porque con periodos más largos las compras y ventas se distanciaran más, y aquí el nodo de votación actuará en pocas ocasiones.

- Para optimizar el bot se me ocurren 2 opciones:

1. Trocearlo en 3 bots diferentes, con órdenes de compra directas, sin nodos IA, para así realizar optimización de cada uno por separado, e incluso establecer sus días y horas de funcionamiento, para después integrarlos juntos con las mejoras implementadas, y reoptimizar todo el bot ya junto con los nodos IA, en año 2025 solo y lanzarlo a Demo.

2. Hacer la optimización del bot tal cual está, solo en 2025 y lanzarlo a Demo.

Cuál de las 2 ves más interesante?

Hola,

Efectivamente en time frames menores habrá más votaciones, aunque yo tampoco soy de bajar mas de 5-15min porque ya es mucho ruido. A no ser que sean estrategias de volatilidad tipo HFT, scalping etc.

Sobre las opciones de optimización, yo soy más partidario de la segunda. Al final son gustos. Pero yo me inclino por fragmentar el bot por las lógicas de cada estrategia porque así puedo entender mejor cada una y ver si hay mucha diferencia o no entre ellas, de rentabilidad, riesgo etc.

Siempre se suele ver alguna cosa curiosa que se puede potenciar o limitar en cada estrategia individual que de ponerlo todo de primeras de forma conjunta no se puede apreciar.

Es como mirar con el microscopio o mirar desde un edificio.

Un saludo,

Ignacio

Hola Ignacio,

Respecto a esto que me comentas:

“Lo habitual, si las estrategias tienen perfiles de riesgo muy distintos (por ejemplo, una opera en tendencia con SL amplios y otra en rango con SL cortos), tiene más sentido colocarlos después de cada Actor-Critic con Magic Numbers separados. Si las estrategias son relativamente similares en perfil de riesgo, déjalos después del Ensemble, más datos = mejor aprendizaje.”

Entiendo que este procedimiento es colocar los 3 nodos de Actor Critic con un magic number separado (cada uno con su Gestor de riesgo IA y su SL/TP dinamico, con mismo magic number que su Actor Critic),y luego confluyo a el Ensemble, con otro magic number (que coincidira con los magic numbers de los modulos de compra y venta). Es asi?

Un saludo

Dani