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

 
Galim_V:

¿Existe una solución informática sencilla para mi problema?

Sí, lo hay.


 
Yevhenii Levchenko:

¡Sí!


Gracias por responder. Sí, conocemos el valor actual del canje. Y necesito el resultado de la comparación con el valor de ayer.

 
Galim_V:

Gracias por responder. Sí, sabremos el valor actual del canje. Y necesito el resultado de la comparación con el valor de ayer.

Guarde el valor de ayer en una variable y compare. :)

 
Yevhenii Levchenko:

Guarde el valor de ayer en una variable y compare. :)

Cuando se reinicie el terminal, ¿se guardará? ¿O te refieres a la variable global del terminal?

 
Galim_V:

Cuando se reinicie el terminal, ¿se guardará? ¿O te refieres a la variable global del terminal?

No, no lo hará. Para guardar, se necesita una variable global o guardar en un archivo
 
Yevhenii Levchenko:
No, no lo harán. Se necesita una variable global o guardar en un archivo para que se guarden.

Estaba haciendo un panel de información, pero perdí el código fuente. Al hacerlo, evitó todas las entradas, utilizó funciones de informador. Decidí restaurar todo y añadir este problema de intercambio. Por eso he hecho la pregunta. ¿No deja el intercambio ninguna huella en la historia, que escribe el propio terminal? Pero si no hay otra opción que escribir, me gustaría una pista, ya que no he trabajado con archivos y global. Teniendo en cuenta que tengo que comparar 20 instrumentos una vez al día. Gracias por el tiempo.

 
Galim_V:

Estaba haciendo un panel de información, pero perdí el código fuente. Al hacerlo, evitó todas las entradas, utilizó funciones de informador. Decidí restaurar todo y añadir este problema de intercambio. Por eso he hecho la pregunta. ¿No deja el intercambio ninguna huella en la historia, que escribe el propio terminal? Pero si no hay otra opción que escribir, me gustaría una pista, ya que no he trabajado con archivos y global. Teniendo en cuenta que tengo que comparar 20 instrumentos una vez al día. Gracias por el tiempo.

Es más fácil utilizar una variable global... Los archivos son más bien una molestia...
 

Terminado el indicador en mt5 (traducido de mt4). Ayer escribí sobre ello. A mí me funcionó bien, pero al cliente no tanto. Según tengo entendido, los problemas aparecían cuando el indicador añadía o eliminaba otros indicadores de forma programada. La culpa la tiene la funciónIndicatorRelease... Durante la desinicialización, los indicadores (excepto el actual) se eliminan del gráfico a través de ChartIndicatorDelete, y luego se liberan a través de IndicatorRelease. La ayuda dice:

IndicatorRelease()

Удаляет хэндл индикатора и освобождает расчетную часть индикатора, если ею больше никто не пользуется.
Функция позволяет удалять хэндл индикатора, если он больше не нужен, и таким образом позволяет экономить память. Удаление хендла производится сразу, 
удаление расчетной части индикатора производится через некоторое небольшое время (если обращений к ней больше нет). 

Durante la inicialización, se vuelven a crear asas. Y en el primer recuento en OnCalculate, los indicadores se añaden al gráfico de nuevo. He añadido un bucle vacío en OnDeinit para 1000 pases para añadir algo de retraso. No confío en esta solución. A mí me ha funcionado bien antes (aunque el terminal se ha colgado una vez hoy), y el cliente ha empezado a funcionar bien hoy (al menos por ahora).

El algoritmo en mt4 funciona bien (nunca se ha colgado allí). La diferencia de mt5 es que aquí los indicadores se añaden programáticamente (y los valores calculados de los indicadores necesitan ser copiados constantemente para poder utilizarlos). Mientras que en mt4 se limitan a copiar los buffers para su visualización (muwings y zigzags... como "añadir indicadores programáticamente").

¿Sabe usted si el problema puede estar relacionado con la eliminación y la recreación de las asas (cuando se cambian los parámetros, la desinicialización y la inicialización se suceden inmediatamente...)? ¿Hay alguna forma de comprobar si existe o no un mango de dicho indicador?

 

Sigo obteniendo valores no normalizados después de la normalización - MQL5

up    = NormalizeDouble((up == 0 ? 1 * point : up),_Digits);
down  = NormalizeDouble((down == 0 ? 1 * point : down),_Digits);
sum   = NormalizeDouble((sum == 0 ? 1 * point : sum),_Digits);
minus = NormalizeDouble((minus == 0 ? 1 * point : minus),_Digits);
if(index <= 65 && index >= 55) Print(index," ",up," ",down," ",sum," ",minus);

Más desfavorable 1e-05, ¿Qué hacer?

 

Por favor, aconsejar cómo resolver el problema con el indicador de llamada en MT5 ventanas 10 X64, lo estoy haciendo de esta manera:

#resource "\\N-indicadores.ex5"

handle=iCustom(NULL,0,"\\NIndicators\\\\MyIndicator");

Antes funcionaba sin #recurso, luego empezó a funcionar sólo con #recurso, ahora no funciona nada, se genera el error 4804