Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 691

 
¿Puede decirme si un EA escrito para MT5 puede ejecutarse en la última MT4 y viceversa?
 
borilunad:

Pequeño error: 0=Cerrado, 1=Abierto, el resto es correcto.

No es necesario abrir. La tarea principal era cómo poner variables en el probador para hacer ejecuciones de EAs basadas en el indicador, que pueden ser construidas en diferentes tipos de precios.

Aquí no debemos olvidar fijar el precio de 1 a 6, en incrementos de uno, al optimizar.

 
rambo:
¿Puede decirme si un EA escrito para MT5 puede ejecutarse en la última MT4 y viceversa?
Si se compila, se puede ejecutar, pero si funciona como se pretende, esa es la cuestión.
 
Forexman77:

No es necesario abrir. La tarea principal era cómo poner variables en el probador para hacer ejecuciones de EAs basados en el indicador, que pueden ser construidos en diferentes tipos de precios.

Aquí no debemos olvidar fijar el precio de 1 a 6, en incrementos de uno, cuando se realice la optimización.


Pero el precio de apertura es 1, el precio de cierre es 0. ¡Vean al doctor!
 
Forexman77:

Si alguien lo necesita, he resuelto cómo hacer una representación del indicador de precios sin construcciones complicadas:

input ENUM_APPLIED_PRICE price=0;

price=iMA(NULL, 0, 1, 0, MODE_SMA, price, i);

Esto puede ser más fácil, pero si necesitas añadir más tipos de precios, es sin duda mejor hacerlo a tu manera, o más bien de forma combinada
 
evillive:
Si se compila, se puede ejecutar, pero la cuestión es si funcionará como está previsto.

gracias
 
Vinin:

Tal vez sea más fácil, pero si necesitas añadir más tipos de precios, entonces por supuesto es mejor hacerlo a tu manera, o más bien un método combinado

¡Eso es una genialidad! No había pensado en este método.

 
borilunad:

Pero el precio de apertura es 1 y el de cierre es 0. ¡Vean al doctor!

Si utiliza las enumeraciones "ENUM_APPLIED_PRICE".

Pero yo no los uso, sólo uso un operador condicional para comprobar las seis opciones para la verdad y sólo una condición siempre funciona.

Por ejemplo, la condición funcionó y calculamos el precio:

if(price==5)ExtMapBuffer1[i]=((High[i]+Low[i]+Close[i])/3);//рассчитали весь буффер индикатора 
Recibo el precio de cierre para ser calculado. Es decir, yo mismo preparo los precios y no los tomo de la enumeración "ENUM_APPLIED_PRICE".
 
Forexman77:

¡Eso es una genialidad! No lo había pensado así.


Este método funcionará sólo cuando llame a los indicadores técnicos, si tiene que cambiar el tipo de precio en otros cálculos a través de la configuración (digamos, quiere comparar algún valor con Close[i] y pasarlo a través del optimizador a (High[i]+Low[i])/2, es decir, con PRICE_MEDIAN), no funcionará.
 
evillive:

Esta forma funcionará sólo cuando llame a los indicadores técnicos, si tiene que cambiar el tipo de precio en otros cálculos a través de la configuración (por ejemplo, compara algún valor con Close[i] y quiere pasar por el optimizador para compararlo con (High[i]+Low[i])/2, es decir, con PRICE_MEDIAN), no funcionará.

Los precios sólo son necesarios para calcular el indicador.

Lo hice así:

extern ENUM_APPLIED_PRICE price=PRICE_CLOSE;

for(i=limit1;i>=0;i--) ExtMapBuffer1[i]=iMA(NULL,0,1,0,MODE_SMA,price,i);

Comparado esta variante y es todo lo mismo al cambiar.

Razón de la queja: