Pregunta sobre la optimización genética - página 3

 

No entiendo lo que está pasando. Decidí simplificar la tarea, tomé sólo 3 parámetros para la optimización, lo puse en la optimización normal en lugar de la optimización genética, no puse ninguna restricción en la configuración de la EA en absoluto. El tiempo de ejecución de la optimización fue de 8 horas y 47 minutos, y en mi archivo de registro no aparecía ninguna información en el "Resultado de la optimización" ni en el "Gráfico de la optimización" una vez finalizado el tiempo de ejecución:

00:44:09 ABC_exp: optimización iniciada
09:31:09 ABC_exp: optimización detenida

en el archivo de registro:

2009.08.03 00:44:09 ABC_exp: optimización iniciada
2009.08.03 09:31:09 ABC_exp: optimización detenida
2009.08.03 09:31:09 Se han realizado 768 pases durante la optimización, 768 resultados han sido descartados por ser insignificantes
al ser probados en el mismo intervalo, aunque hubo pérdidas, pero el balance fluctuó alrededor del depósito inicial.

 
Angela писал(а) >>

No entiendo lo que está pasando. Decidí simplificar la tarea, tomé sólo 3 parámetros para la optimización, lo puse en la optimización normal en lugar de la genética, no puse ninguna restricción en la configuración de la EA en absoluto. Lo he ejecutado y no ha aparecido nada en las ventanas de "Resultado de la optimización" y "Gráfico de la optimización". He decidido esperar a que termine el tiempo de ejecución, el tiempo de ejecución de la optimización ha sido de 8 horas y 47 minutos, no ha aparecido ninguna información en "Resultado de la optimización" y "Gráfico de la optimización" después de haberlo ejecutado:

00:44:09 ABC_exp: optimización iniciada
09:31:09 ABC_exp: optimización detenida

en el archivo de registro:

2009.08.03 00:44:09 ABC_exp: optimización iniciada
2009.08.03 09:31:09 ABC_exp: optimización detenida
2009.08.03 09:31:09 Se han realizado 768 pases durante la optimización, 768 resultados han sido descartados por ser insignificantes
Cuando se probó en el mismo intervalo, aunque hubo pérdidas, el saldo fluctuó en torno al depósito inicial.

Déjame comprobarlo. Te va a llevar mucho tiempo encontrarlo.

 
Se realizaron 768 pases durante la optimización, 768 resultados han sido descartados por ser insignificantes - no hubo pases rentables. Es decir, el depósito final era siempre menor que el inicial. O era igual a ella. Puede intentar, cuando se ejecuten las operaciones, escribir en el archivo el número de ticket, el precio o cualquier otra cosa. Para entender si el algoritmo funciona en absoluto. Tal vez no pueda comerciar por algo.
 
Vinin писал(а) >>

Déjame comprobarlo. Te va a llevar mucho tiempo encontrarlo.

Gracias por la oferta, pero intentaré indagar un poco más por mi cuenta.

 
OrlandoMagic писал(а) >>
Se realizaron 768 pases durante la optimización, 768 resultados han sido descartados por ser insignificantes - no hubo pases rentables. Esto significa que el depósito final siempre fue menor que el inicial. O era igual a ella. Puede intentar, cuando se ejecuten las operaciones, escribir en el archivo el número de ticket, el precio o cualquier otra cosa. Para entender si el algoritmo funciona en absoluto. Tal vez no pueda comerciar por algo.

En el modo de visualización en el golpeador, los oficios van.

 
Pues bien, es en torno a estos parámetros, que están en la esteta, que tenemos que ejecutar la optimización.
 
OrlandoMagic писал(а) >>
Pues bien, es en torno a estos parámetros, que están en la pila, donde tenemos que ejecutar la optimización.

>> Sí.

 

Hasta ahora, nada bueno sale de la optimización. Establezco los parámetros optimizados y su rango de variación en las propiedades del Asesor Experto, ejecuto la optimización, enumero los parámetros, pero obtengo el mismo resultado en cada paso de la optimización. Tengo la impresión de que, aunque el Asesor Experto busca entre los parámetros, utiliza el mismo conjunto de parámetros que se estableció al inicio. Sospecho que he configurado algo mal en la función .

Lo primero es lo primero:

He establecido parámetros en mi EA que deben ser optimizados como los establecidos en el indicador:

extern int MA_Period=151; // 101 10 201
extern double KFK=0.9; // 0.7 0.005 1.

He puesto la referencia al indicador en la función int start():

B3= NormalizeDouble(iCustom(NULL, 0, "ART",0,1),Digits);
BT=GlobalVariableGet(NombreGlobalVariableBT);

Pregunta: Después de "ART", ¿es necesario insertar los parámetros a modificar?

Si no lo inserto, se realiza la optimización, pero el resultado es el mismo, si lo inserto, el resultado es cero:

1 0,00 0,00 0,00 0,00 0,00% MA_Period=101 KFK=0,8 Lotes=0,1 TrailingStop1=3110 StopLoss1=1500 TrailingStop2=3110 StopLoss2=1500 MAGIC_1=12345 MAGIC_2=23456
2 0,00 0,00 0,00 0,00 0,00% MA_Period=111 KFK=0,8 Lotes=0,1 TrailingStop1=3110 StopLoss1=1500 TrailingStop2=3110 StopLoss2=1500 MAGIC_1=12345 MAGIC_2=23456
3 0,00 0,00 0,00 0,00 0,00% MA_Period=121 KFK=0,8 Lotes=0,1 TrailingStop1=3110 StopLoss1=1500 TrailingStop2=3110 StopLoss2=1500 MAGIC_1=12345 MAGIC_2=23456
4 0,00 0,00 0,00 0,00 0,00% MA_Period=131 KFK=0,8 Lotes=0,1 TrailingStop1=3110 StopLoss1=1500 TrailingStop2=3110 StopLoss2=1500 MAGIC_1=12345 MAGIC_2=23456
5 0,00 0,00 0,00 0,00 0,00% MA_Period=141 KFK=0,8 Lotes=0,1 TrailingStop1=3110 StopLoss1=1500 TrailingStop2=3110 StopLoss2=1500 MAGIC_1=12345 MAGIC_2=23456

 

Deberían estar en el texto del programa en alguna parte. Si son todos ceros, significa que no hubo ninguna transacción... ¿O no?

En general, los parámetros son alarmantes... Hay variables - MA_Period, y sus valores - 101, 102, 103, que el probador inserta por sí mismo durante las ejecuciones.

B3= NormalizeDouble(iCustom(NULL, 0, "ART", MA_Period, KFK, 0, 1), Digits); Lea la ayuda de iCustom (perdón por escribir cosas obvias)

También puede ver lo que considera el indicador si escribe, por ejemplo, Print (B3) después de él

 
OrlandoMagic писал(а) >>

Deberían estar en el texto del programa en alguna parte. Si son todos ceros, significa que no hubo ninguna transacción... ¿O no?

En general, los parámetros son alarmantes... Hay variables - MA_Period, y sus valores - 101, 102, 103, que el probador inserta por sí mismo durante las ejecuciones.

B3= NormalizeDouble(iCustom(NULL, 0, "ART", MA_Period, KFK, 0, 1), Digits); Lea la ayuda de iCustom (perdón por escribir cosas obvias)

También puede ver lo que considera el indicador si lo sigue con, por ejemplo, Imprimir (B3)

Si establezco los parámetros de la siguiente manera: (iCustom(NULL, 0, "ART", MA_Period, KFK, 0, 1), Digits); - obtenemos todos los ceros, como dije anteriormente.

Si pongo iCustom(NULL, 0, "ART", 0, 1), Digits); - entonces aparecen los valores calculados,

1 299,70 36 1,80 8,33 153,30 11,51% Threshold1=90 Threshold2=215 MA_Period=45 Lots=0,1 TrailingStop1=3110 StopLoss1=1500 TrailingStop2=3110 StopLoss2=1500 MAGIC_1=12345 MAGIC_2=23456 KFK=0,9 KNK=1,7 FB=0,0025 FNS=0,0005 USL=0,0051
2 299,70 36 1,80 8,33 153,30 11,51% Threshold1=91 Threshold2=215 MA_Period=45 Lots=0,1 TrailingStop1=3110 StopLoss1=1500 TrailingStop2=3110 StopLoss2=1500 MAGIC_1=12345 MAGIC_2=23456 KFK=0,9 KNK=1,7 FB=0,0025 FNS=0,0005 USL=0,0051
3 299,70 36 1,80 8,33 153,30 11,51% Threshold1=92 Threshold2=215 MA_Period=45 Lots=0,1 TrailingStop1=3110 StopLoss1=1500 TrailingStop2=3110 StopLoss2=1500 MAGIC_1=12345 MAGIC_2=23456 KFK=0,9 KNK=1,7 FB=0,0025 FNS=0,0005 USL=0,0051
4 299,70 36 1,80 8,33 153,30 11,51% Threshold1=93 Threshold2=215 MA_Period=45 Lots=0,1 TrailingStop1=3110 StopLoss1=1500 TrailingStop2=3110 StopLoss2=1500 MAGIC_1=12345 MAGIC_2=23456 KFK=0,9 KNK=1,7 FB=0,0025 FNS=0,0005 USL=0,0051
..........

pero todos son iguales, aunque en el probador, al ejecutarse con diferentes parámetros, los resultados de las operaciones son muy diferentes.