¡Ema Cross! - página 20

 

Comprobador cruzado de EMA

¡Hola Codersguru!

Quiero empezar agradeciendo los increíbles cursos de aprendizaje de MT. Sin ellos, no sé cómo habría aprendido mql tan rápido. ¡Eres el hombre!

Recientemente, he estado programando ea's para ser capaz de operar en una mulititude de maneras diferentes para que yo sea capaz de probar ea's en una cuenta real, mientras que tener múltiples configuraciones que se ejecutan en el mismo par y el mismo TF. Me encanta la idea de la EMA, y he codificado un EA que utiliza sus criterios. Esta versión será capaz de negociar casi ilimitada instancia de la EA con diferentes configuraciones en el mismo TF/PAIR o cualquier combinación. El programa establece una GlobalVariable en MT y la utiliza para crear un ID único que luego se inserta en el comentario de las operaciones abiertas. El EA entonces procesa las órdenes basadas en este ID único.

Además, he añadido una función para escribir un archivo csv que se asemeja a una declaración de comercio que incluye los ajustes que estaban en el momento de la prueba (experto / carpeta de archivos). Después de la negociación de esta manera habrá una gran cantidad de operaciones de todos los diferentes EA, así que esencialmente esto es donde usted va a obtener los stmnts comerciales precisos.

Fuera de la caja, debería funcionar igual que la V2. Hay algunas características adicionales que he añadido en caso de que alguien quiere ir en vivo.

¡Aprecio todo, y tengo curiosidad por ver lo que sus pensamientos son en este caso!

Nic

Archivos adjuntos:
 
hellkas:
Hola Hendrick

¿Podría decirme su configuración y TF..

Gracias

Hola Hellkas,

Estos son mis pares (Timeframe para todos los pares es Día)

USDJPY, EURCHF, AUDUSD, EURAUD, USDCAD, USDCHF, AUDCAD, EURCHF.

Configuración: por defecto; excepto Reversal=True y Lots=0,1

¡Saludos!

 
Nicholishen:
¡Hola Codersguru!

El programa establece una GlobalVariable en MT y la utiliza para crear un ID único que luego se inserta en el comentario de las operaciones abiertas. El EA entonces procesa las órdenes basadas en este ID único.

Nic

Nic

Esta es una gran manera de rastrear sus órdenes y cualquier archivo separado que su EA pueda crear, de nuevo muestra su capacidad de ver cosas que otros no pueden. La razón por la que estoy escribiendo es que hice lo mismo, utilizando el OrderComment() para etiquetar las operaciones y encontré que planteaba un problema futuro. En eso;

1) el campo de comentario es un parámetro de cadena, a la que su corredor puede añadir sus propios comentarios a la misma. cuando su orden se cierra con la toma de beneficios o una pérdida de la parada de ser golpeado, por ejemplo, el corredor se adjuntará un mensaje a su campo de comentarios. Si usted no es consciente de esto podría causar algunos errores en el futuro si usted accede a su historial de operaciones de la cuenta utilizando su comentario original sin saber que fue anexado también. también si una orden es reparada sus comentarios se reescriben en conjunto con un mensaje de los corredores.

2) La función GlobalVariable() es de tipo número doble, que se convierte en tipo cadena cuando se utiliza como entrada de OrderComment. Mezclar tipos de variables no es un buen hábito de programación, ya que esto podría causar futuros errores de mezcla de variables si se vuelve a modificar el código.

Para evitar lo anterior utilicé el feild MagicNumber de la función OrderSend(). El código de abajo es la llamada a la función que utilizo para generar un número único que se utiliza como usted ha descrito, para el seguimiento de los pedidos y el mantenimiento de los registros. Generará un número del 100 al 999. Una vez que se utiliza el número, el nuevo número se incrementa en uno para el siguiente EA que se utilice. Si coloca la llamada a esta función en el área de la función init() de su código, ésta se ve sólo una vez al inicio y permanecerá con su EA hasta que se apague.

Ejemplo;

int OrderID = 0;

int init() {

OrderID = GetTagNumber()

...

...

...

return( 0 );

} // Fin de la función init:

A continuación, puede utilizar el OrderID donde quiera para etiquetar sus operaciones, entradas de archivos, etc..

//«« <<<>>> »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»

int

GetTagNumber() { // Sets the SystemTag To....

int PullNumber = 0;

if( GlobalVariableCheck( "PullTag ( Do Not Delete )" ) ) {

PullNumber = GlobalVariableGet( "PullTag ( Do Not Delete )" );

} else {

PullNumber = 100;

} // End If, GlobalVariableCheck:

GlobalVariableSet( "PullTag ( Do Not Delete )", PullNumber + 1 );

if( GlobalVariableGet( "PullTag ( Do Not Delete )" ) > 999 ) {

GlobalVariableSet( "PullTag ( Do Not Delete )", 100 );

} // End If, GlobalVariableSet:

return( PullNumber );

} // End Function, GetTagNumber:

La variable OrderID tiene que ser declarada fuera de la función init() para que el resto de su programa pueda ver su valor.

Puedes cambiar los límites inferior y superior (100 - 999) a lo que quieras o eliminar el límite superior y seguirá aumentando sin reiniciarse.

La razón del nombre de la variable ... "PullTag ( Do Not Delete )" ... es porque ahora puede ver y borrar las variables globales fuera del EA. El "no borrar" es un mensaje de advertencia que aparece cuando se ven las variables globales. Si elimina la variable PullTag, se reiniciará en 100 de nuevo en el siguiente arranque del EA. Las variables globales conservan su valor incluso cuando se apaga la estación de trabajo.

El CockeyedCowboy

Como siempre digo demasiado.

 

...justo cuando me preguntaba por qué el SL/TP no aparecía en la historia. Gracias por la información. Voy a incorporar esto en mi código. ¡¡Muchas gracias por ser un recurso tan valioso!!

 

Nic

Si abre la ventana de su terminal de operaciones y hace clic en la pestaña del historial de la cuenta,> haga clic con el botón derecho del ratón en cualquier área de la terminal,> haga clic en la etiqueta del menú> comentarios. Podrás ver tus comentarios y cualquier comentario añadido por tu broker (normalmente están en [ .... ] ) dentro de tu ventana de terminal.

El CockeyedCowboy

 

Sí... me he dado cuenta de que todos los TP/SL se adjuntan como [tp][sl]. Me gusta más tu código.

 

¿que pasa gurú de los codificadores? ¿que pasa? He cargado su última versión de ema cross ea en el post 369, se ve lo que sucede con la prueba grv pero dime por qué

Archivos adjuntos:
1_4.gif  8 kb
 

Chicos, por favor,

ayúdenme con algo. ¿Por qué la opción REVERSAL se incluye en este EA? Simplemente no entiendo por qué el comercio agains el punto de ambos EMA cruz...

Gracias...

Hasta ahora con REVERSAL verdadera = he ganar más de 100 pips, pero es una locura. Me refiero a que cuando el punto de la cruz EMA appaers, esta EA se abrirá el comercio absolutamente opuesta por lo que perderá dinero ...

 

pro-tendencia vs contra-tendencia

glader:
Chicos por favor,

ayúdame con algo. ¿Por qué la opción de REVERSAL se incluye en este EA? Simplemente no entiendo por qué el comercio agains el punto de ambos EMA cruz...

Gracias...

Hasta ahora con REVERSAL true = he ganado más de 100 pips pero es una locura. Me refiero a que cuando el punto de cruce de la EMA aparezca, este EA abrirá una operación absolutamente opuesta por lo que perderá dinero...

Bueno, usted puede elegir para trabajar pro-tendencia.

¡IMHO, en la contra-tendencia abrimos la posición al mejor precio y soportamos algunas pérdidas al principio, entonces ganamos la cantidad máxima que podríamos ganar!

 

¡datos insuficientes!

Audio:
¿Qué pasa gurú de los codificadores? ¿Qué pasa? He bajado tu ultima version de ema cross ea en el post 369 ,ves lo que pasa con el test grv pero dime por que

Audio,

Por favor, no llores .

Creo que no tienes suficientes datos de la historia.

¡Dale una mirada a mi prueba de retroceso y prueba de avance !

Archivos adjuntos:
Razón de la queja: