Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 253

 
Ibragim Dzhanaev:

¿Puede decirme por qué la red de arrastre se activa en cada tic?

Tenemos que comparar el TakeProfit y el StopLoss de la posición de COMPRA con el precio de compra y la posición de VENTA con el precio de venta.

Es el precio al que se activan.

Así que inténtalo así:
 if(OrderOpenPrice()+(trail_p*Point)<Ask && OrderStopLoss()+(trail_p*Point)<Bid )
if(OrderOpenPrice()-(trail_p*Point)>Bid && OrderStopLoss()-(trail_p*Point)>Ask )
 
Ibragim Dzhanaev:

¿Puede decirme por qué la red de arrastre se activa en cada tic?

Plantilla de arrastre. Justo en la misma rama.

 
Ivan Ivanov:

Es necesario comparar el TakeProfit y el StopLoss de una posición de COMPRA con el precio de compra y de venta con el precio de venta.

Estos son los precios a los que se activan.

En otras palabras, prueba esto:

Nada ha cambiado.

 
Artyom Trishkin:

Plantilla de arrastre. Justo en el mismo hilo.


Gracias.

 
Artyom Trishkin:

Plantilla de la ruta. Justo en la misma rama.


double sl=NormalizeDouble(nivel_de_trail-trailing_stop*punto,dígitos);// calcular el nuevo nivel de stoploss por valor,

¿Por qué lospuntos y lascifras se escriben con minúscula?


 
Ibragim Dzhanaev:

double sl=NormalizeDouble(nivel_de_trail-trailing_stop*punto,dígitos);// calcular el nuevo nivel de stoploss por valor,

¿Por qué lospuntos y lascifras se escriben con minúscula?


Como el código está optimizado, la variable se inicializa una vez en la plantilla, no 100 veces en cada lugar

            int    digits=(int)SymbolInfoInteger(symbol_name,SYMBOL_DIGITS);
            double point=(SymbolInfoDouble(symbol_name,SYMBOL_POINT));
 
Ibragim Dzhanaev:

double sl=NormalizeDouble(nivel_de_trail-trailing_stop*punto,dígitos);// calcular el nuevo nivel de stoploss por valor,

¿Por qué lospuntos y lascifras se escriben con minúscula?


Debido a que se declaran dentro de esta función - esta plantilla de sendero funciona con cualquier carácter pasado en los parámetros de la función, no sólo el actual, como se podría pensar.

 
Vitaly Muzichenko:

Porque el código está optimizado y la variable se inicializa una vez en la plantilla, no 100 veces en cada lugar

Por cierto, no había pensado en la optimización de la misma. Seguro que es posible optimizarlo.
 

aconsejar como sacar las cotizaciones de un día concreto desde el terminal (apertura, cierre, max, min) a un programa escrito por mi (c++) y hacer los cálculos finales sin devolver nueva información al indicador del terminal, advisor, etc, solo sacar las cotizaciones por fecha a mi programa? gracias de antemano

 
виталик:

aconsejar como sacar las cotizaciones de un día concreto desde el terminal (apertura, cierre, max, min) a un programa escrito por mi (c++) y hacer los cálculos finales sin devolver nueva información al terminal al indicador, asesor, etc., solo sacar las cotizaciones por fecha a mi programa? gracias de antemano

A través de un archivo, por ejemplo