Hola Rafa,
Te explico, a ver si me hago entender:
1. ¿El .bin se sobrescribe en cada backtest?
Sí. Al final de cada backtest se escribe el mismo archivo (p. ej. AI_DQN_12345_EURUSD.bin), así que el siguiente run lo sobrescribe.
2. Semilla 0 → ¿mismos resultados si repito el backtest?
No con semilla 0. Con ReproducibilitySeed = 0 cada run usa una semilla distinta (GetTickCount()), así que los resultados cambian.
Entonces:
-
Run 1 (sin .bin): entrena desde cero y guarda .bin.
-
Run 2 (con .bin): carga el .bin de Run 1 y continúa desde ahí.
Run 2 no es una repetición de Run 1, sino una continuación.
Para reproducir exactamente un backtest:
-
Usar ReproducibilitySeed > 0 (p. ej. 12345) y
-
Borrar el .bin entre ejecuciones (en Common/Files/).
3. Semilla 0 vs semilla 123
Correcto. Misma configuración, distinta semilla → resultados distintos. Cada semilla genera una trayectoria distinta (inicialización, exploración, etc.).
4. Optimización: ¿semilla fija o variable?
Según lo que tu buscas: semilla fija (p. ej. ReproducibilitySeed = 12345).
-
Todas las pasadas usan la misma semilla.
-
Los resultados son comparables.
-
El mejor resultado es reproducible: mismos parámetros + misma semilla.
Si usas semilla 0: Cada pasada tendría una semilla distinta. Para reproducir el mejor resultado tendrías que buscar en el Journal qué semilla usó esa pasada.
5. Tras optimizar: ¿qué semilla usar en el backtest?
Usa la misma semilla fija que en la optimización (p. ej. 12345).
Importante: Borra el .bin antes del backtest de verificación. Si no lo borras, el EA puede cargar un modelo anterior y el resultado no coincidirá con la optimización.
6. Demo/real: ¿misma semilla?
No hace falta. En demo/real lo importante es:
-
Mismo Magic Number y símbolo para que cargue el .bin correcto.
-
La semilla puede ser 0 o cualquier valor; no afecta la carga del modelo ya entrenado.
7. ¿Un parámetro de semilla por bot o por nodo?
Uno por bot. Hay un único generador de números aleatorios; el parámetro controla todo el EA, incluidos todos los nodos IA.
Igualmente, si quieres ampliar, tienes toda la información en el capítulo: 10.21: Entrenamiento de Nodos IA con Backtest Histórico.
Si crees que hay alguna forma en la que se puedas aplicar/entender/controlar esto de forma más sencilla para ti que te ayude a avanzar más rápido, dímelo sin problema y lo analizamos. Ahora en marzo vamos a sacar una actualización importante, por lo que se podría analizar y si es viable, quizás implementar en el despliegue.
De todas formas me lo apunto para grabarlo en uno de los próximos vídeos para ponerlo con un ejemplo claro.
Un saludo,
Ignacio
