Ayuda a la codificación - página 359

 
apprentice coder:
¿Cómo puedo ordenar las órdenes cerradas (con toda su información) en orden descendente de tiempo de cierre?

Tienes que hacer un array de 2 dimensiones que se llenará con la hora de cierre y los números de los tickets y luego ordenarlo. Pero, como Metatrader no puede ordenar arrays de 2 o más dimensiones, también tienes que tener un procedimiento de ordenación personalizado para ese array de 2 dimensiones (cualquier algoritmo de ordenación servirá: estoy asumiendo que no vas a tener miles de órdenes cerradas)

 
mladen:
Tienes que hacer una matriz de 2 dimensiones que se llenará con el tiempo de cierre y los números de boletos y luego ordenarlo. Pero, ya que Metatrader no puede ordenar arrays de 2 o más dimensiones, también tiene que tener un procedimiento de ordenación personalizado para ese array de 2 dimensiones (cualquier algoritmo de ordenación servirá: estoy asumiendo que no va a tener miles de órdenes cerradas)

¿Hay algún ejemplo de una función de ordenación de este tipo?

 

Hola Mladen y Mastercash,

Conseguí que tanto la actualización original como la de Mladen funcionaran...pero no hice nada especial...sólo utilicé los valores por defecto como dije antes...(usando la build 670 si eso ayuda).

Y el fragmento de comprobación revisado de Mladen parece funcionar... con la limitación de 1 operación en la barra actual...

Sin embargo...hay otros problemas con esta plantilla de EA que es por lo que sugerí portar el indicador y la estrategia a una nueva plantilla de EA.

Esto es lo que vi...como ejemplo...

Ambas versiones desencadenan una operación (por ejemplo, una compra)... pero esa condición de compra nunca parece desaparecer... y continúa negociando esa misma condición de compra... incluso después de que la condición (cruce) cambie a una venta...

Así que si una compra fue activada... toda la corrida del probador es de compra... no importa cuántas veces se crucen las EMA's. Esto es lo mismo con las ventas... Parece que se mantiene la misma condición sin importar qué.

Puedo publicar una captura de pantalla si es útil ... pero puede ser mejor empezar con una nueva plantilla de EA.

Espero que esto les ayude a ambos,

Robert

PS - Para propósitos de prueba .... acorté las condiciones de comercio a sólo los cruces de EMA ... para que sea más fácil y más rápido para ver cómo las operaciones estaban trabajando. Sin embargo, no comprobé si las otras condiciones de operación estaban causando algún problema... pero los cruces de EMA me dieron suficientes operaciones para ver cómo funciona este EA (como se explicó anteriormente)...

 

Mastercash y Mladen....

Me adelanté e hice algunas capturas de pantalla para mostrar las condiciones de comercio para este EA ...

Usted puede ver claramente el "todas las compras" y "todas las ventas" ...

No entiendo muy bien el bloque de código de comercio y por qué siempre devuelve un (-1) ... pero algo mantiene la condición de comercio de la misma ...

Por eso me pareció más fácil y mejor solo recomendar una nueva plantilla de EA...

Los ejemplos de operaciones se adjuntan y espero que ayuden a encontrar las soluciones para arreglar los problemas.

Robert

Archivos adjuntos:
 

Cosmiclifeform

esa fue mi experiencia con la plantilla....la que mladen editado ni siquiera el comercio en absoluto en mi gráfico.

cosmiclifeform:
Mastercash y Mladen....

Me adelanté e hice algunas capturas de pantalla para mostrar las condiciones de comercio para este EA ...

Usted puede ver claramente el "todas las compras" y "todas las ventas" ...

No entiendo muy bien el bloque de código de comercio y por qué siempre devuelve un (-1) ... pero algo mantiene la condición de comercio de la misma ...

Por eso me pareció más fácil y mejor simplemente recomendar una nueva plantilla de EA...

Los ejemplos de operaciones se adjuntan y espero que ayuden a encontrar las soluciones para arreglar los problemas.

Robert

 
Mastercash:
Cosmiclifeform esa fue mi experiencia con la plantilla....la que editó mladen ni siquiera opera en mi gráfico.

Y en mis pruebas ninguna de las dos versiones opera. Ni la original ni la cambiada (suelo usar el EURUSD de 1 minuto para pruebas rápidas, y no abría ninguna orden en él - ni mensajes de error, ni advertencias. ninguna orden abierta en absoluto independientemente de la versión que usara)

Chicos, ese EA me acaba de demostrar que el compilador de metatrader tiene más errores de los que pensaba: comprobad las líneas de la 39 a la 49 - no tienen sentido allí, completamente sin sentido (llamar a iMA() fuera del cuerpo de cualquier función es cualquier cosa menos normal - y el compilador no emitió ninguna advertencia en absoluto)

_______________________________

Si ese código de esas líneas se traslada a la función check_signal() abre tanto las posiciones largas como las cortas :):)

 

Resultados cuando esas líneas se mueven a la función check_signal() :

Cuando esas líneas se mueven a la misma función en el EA original, también comienza a operar

Este es el probado en el ejemplo anterior : nicetrader_1.02.mq4

Archivos adjuntos:
 

Mladen,

el original que envié fue hacer comercio, pero si entra en el comercio, digamos comprar en EURUSD, continuará tomando esa COMPRA en EURUSD incluso cuando la condición de compra es más.....Esto es de nuevo adjunta a continuación.

mladen:
Mastercash

Ese EA no está abriendo órdenes aunque se lance esa comprobación (por lo que si se elimina la parte de código que se le añadió sigue sin abrir órdenes). Además, al probarlo, el que has posteado (el original) no abre órdenes.

¿La versión que has puesto ha llegado a operar alguna vez?
Archivos adjuntos:
nicetrader.mq4  26 kb
 
Mastercash:
Mladen, el original que envié era hacer la operación, pero si entra en la operación, digamos comprar en EURUSD, continuará tomando esa COMPRA en EURUSD incluso cuando la condición de compra es más.....Esto es de nuevo adjunto a continuación.

Mastercash

Ese no es el que se publicó aquí : https://www.mql5.com/en/forum/174385/page239 (compruébalo y verás que son diferentes - no hay ninguna parte del código comentada en el que publicaste allí)

De todas formas, usa este o el que puse en un post anterior al tuyo, y debería abrir todas las posiciones - largas y cortas : nicetrader-original.mq4

Archivos adjuntos:
 

Mladen,

Gracias....Voy a ir tru yo mismo.Si podemos conseguir esta plantilla de trabajo correctamente, muchos de tener la plantilla listo para trabajar nuestra ea en el nuevo mt4 construir.

mladen:
Mastercash

Ese no es el que se publicó aquí : https://www.mql5.com/en/forum/174385/page239 (compruébalo y verás que son diferentes - no hay ninguna parte del código comentada en el que publicaste allí)

De todas formas, usa este o el que puse en un post anterior al tuyo, y debería abrir todas las posiciones - largas y cortas : nicetrader-original.mq4