Gogetter EA - página 14

 

Aquí están los archivos .gif que van con los archivos .htm del post anterior...

También me pidieron un archivo de instalación de la build 188 hoy mismo...

He buscado ese número de compilación pero no lo veo...no recuerdo haber hecho una compilación 188 tal vez lo hice pero tendré que escarbar para encontrarlo...no sé qué es tan especial para que alguien me pida esa compilación en particular.....que habría sido una versión muy temprana de estas si hice una....

Seguiré buscando...

Archivos adjuntos:
ggl3-01.gif  6 kb
ggs3wrsi.gif  9 kb
 

Se me olvidó mencionar que estoy ejecutando el GGS3 en el gráfico 1H y el GGL3.01 en el gráfico 30M.

Alguien se ofreció a que si podía proporcionarles un .exe de instalación para la Build 188 del terminal de metatrader 4 que me lo hicieran valer. He hecho mis pruebas en la build 195 y no tengo una build 188 para el terminal... ¿alguien más tiene una que pueda compartir?

 

¿Adivina cuál es la diferencia entre estas dos pruebas?

¿Ajustes? no

¿AE? no

¿Depósito inicial? no

¿Gamas de fechas? no

¿Par de divisas? no

¿Hiciste clic en recalcular antes de cada uno? sip

La única diferencia es que el que es rentable se hizo justo después de que el mercado reabriera el domingo. Y la que no fue rentable se hizo justo después de que el mercado cerrara el viernes.

Entonces, ¿alguien me puede decir por qué el back tester debería preocuparse por si el mercado está abierto o no cuando prueba un rango de fechas que está enteramente almacenado en el centro de historia?

Archivos adjuntos:
 
Maji:
Pruebe lo siguiente:

int handle;

int init()

{

handle=FileOpen(EAName+"_"+Symbol()+".txt", FILE_CSV|FILE_WRITE, ';');

return(0);

}

int deinit()

{

FileClose(handle);

return(0);

}

Start()

{

.....

FileWrite(handle, TimeToStr(CurTime(),TIME_DATE|TIME_SECONDS), iOpen... ); //declare them as variables and then insert them in the file write routine

[/PHP]

Also, remember to put the routine where it is updated once every bar not every tick. Now you got enough ammo, and figure out the rest

Good luck.

ok tengo esto lejos....

[PHP]int handle; //imprimir en el archivo

//+------------------------------------------------------------------+

//| función de inicialización de expertos ||.

//+------------------------------------------------------------------+

int init()

{

BarCount = Bars;

si (EachTickMode) Current = 0; si no, Current = 1;

handle=FileOpen(EAName+"_"+Symbol()+".txt", FILE_CSV|FILE_WRITE, ';');//imprimir en el archivo

return(0);

}

//+------------------------------------------------------------------+

//| función de desinicialización experta ||.

//+------------------------------------------------------------------+

int deinit()

{

FileClose(handle);//imprimir en el archivo

return(0);

}

//+------------------------------------------------------------------+

//| función de inicio experto |

//+------------------------------------------------------------------+

int inicio()

{

No sé cómo/donde completar esta dirección...

...." FileWrite(handle, TimeToStr(CurTime(),TIME_DATE|TIME_SECONDS), iOpen... ); //declararlos como variables y luego insertarlos en la rutina de escritura del archivo"

 

Maji dijo, ...poner la rutina donde se actualiza una vez cada barra no cada tick.

¿Puede alguien mostrarme dónde está eso? A pesar de mis delirios ocasionales de competencia realmente no tengo ni idea de esto.

 

Lo siento, pero no tengo tiempo para meterme con tu código ahora mismo. Deberías insertar la línea que escribe la hora, la apertura, etc. justo donde tu sistema se actualiza en la nueva barra. Por ahora, por qué no insertar esa línea antes de return(0) en tu bucle de inicio. En cuanto a cómo construir el comando filewrite, eso tendrás que descubrirlo tú mismo, te he dado suficiente munición para hacerlo

¿Por qué no empiezas a probar tu sistema, y de esa manera puedes compararlo con tu backtest cada día y ver cómo está funcionando?

Buena suerte.

 
Maji:
Lo siento, pero no tengo tiempo de trastear con tu código ahora mismo. Deberías insertar la línea que escribe la hora, la apertura, etc. justo donde tu sistema se actualiza en la nueva barra. Por ahora, por qué no insertar esa línea antes de return(0) en tu bucle de inicio. En cuanto a cómo construir el comando filewrite, eso tendrás que descubrirlo tú mismo, te he dado suficiente munición para hacerlo

¿Por qué no empiezas a probar tu sistema hacia delante, y así puedes contrastarlo con tu backtest cada día y ver cómo está funcionando?

Buena suerte.

Reconozco que tienes otras prioridades, por eso no te preguntaba, sin embargo la pista ayuda al menos para colocar la línea. Gracias

Estoy probando hacia adelante. Eso es lo que era hasta que mi cuenta de demostración explotó durante el fin de semana del día del trabajo, no expiró sólo se terminó junto con todas mis otras cuentas de demostración. Esta mañana he tenido que empezar una nueva de nuevo... ni idea de por qué se han borrado todas. Yo no lo hice. Alguna anamolia interbancaria supongo.

 

Digamos que por el bien de la discusión que hago esto y probar que no está utilizando los mismos datos cada vez, a pesar de que se le dijo que, o que no está procesando los datos de la misma manera o lo que sea, entonces ¿qué?

Tengo otras pruebas de estrategia que no parecen usar los mismos rangos de fechas o los rangos de fechas completos cuando se lo digo. Creo que es seguro asumir que otras personas tienen irregularidades similares, pero ¿qué se puede hacer al respecto?

No me parece realmente un probador de estrategias en este punto. Es más bien un probador de estrategias, porque no veo ninguna manera de controlar o estabilizar su compilación/procesamiento. Sólo procesa rangos de fechas parciales cuando existen archivos de datos completos para hacer todo el rango especificado. No parece ser 100% consistente. No sabría qué hacer para repararlo aunque probara sus inconsistencias. Actúa más como una ruleta que como una herramienta de pruebas de precisión.

 

puesto innecesario

 

aquí está mi skitoma...no puedo ver por qué en el archivo de inclusión anterior https://www.mql5.com/en/forum/general

el compilador puede encontrar estas funciones...(cuando añado este archivo de inclusión en un EA y antes de llamar a estas funciones.... obtengo estos errores que me dicen que al menos el compilador VE estas 5 funciones....

La función "StoreHighsAndLows" no está referenciada y será eliminada del archivo exp.

La función "GetPastEquity" no está referenciada y será eliminada del archivo exp.

La función "StoreAccountEquity" no está referenciada y será eliminada de exp-file

La función "CountTrades" no está referenciada y será eliminada de exp-file

La función "CloseOrder" no está referenciada y será eliminada de exp-file

pero no ve la función "IncreaseLots()" en absoluto.

Es como si no existiera....

¿Cómo se estructura IncreaseLots() de forma diferente a las otras funciones que puede ver?

Declara la función, luego tiene

{

blah

blah

blah

return();

}

¿qué más tiene que tener una función? ¡¡¡¡Eso es todo lo que tienen los demás!!!!

¡¡¡¡Mira cuando llamo a IncreaseLots() desde el EA me sale el error...función no definida...como si no estuviera ahí...pero está ahí, JUSTO AHÍ!!!! ¿Por qué todo es invisible para el compilador?