Errores, fallos, preguntas - página 1824

 
Artyom Trishkin:
¿Ejecutarlo como administrador no ayuda?
 
Комбинатор:
¿Ejecutarlo como administrador no ayuda?
No lo he probado. Nunca había sucedido, antes de la compilación 1045. Y tampoco es todo el tiempo ahora. Puede funcionar durante medio día y luego encontrar este error.

Estuve a punto de reiniciar windows, cerré el editor mql5, cerré el editor mql4 y cerré los terminales MT5 y MT4. Pero necesitaba mirar algo en el editor de mql4. Lo abrí de nuevo y, Dios mío, el archivo se compiló. Ahora estoy pensando que dos editores, mql4 y mql5, están trabajando simultáneamente. Es extraño que los mismos archivos de diferentes directorios no se abran en ellos.

Pero, los veré trabajando juntos.
 
fxsaber:

Seleccionado. El cero se produce sólo después de la primera ejecución y no necesariamente en los símbolos SGD.

El SGDJPY entró en la fuente por accidente. El resultado ya se muestra para la versión corregida, donde "SGDJPY" se sustituye por _Symbol.

¿Fue capaz de reproducirlo?

Es lo mismo en la 4. Incluso tengo un comentario para que no se me olvide. Ahora he actualizado MT4 a 1052 - el error no se ha eliminado. Ejecutarlo bajo administrador no ayuda (respuesta a Combinator)

Aquí está el código de la función para MQL4, lo uso en el indicador, se llama en OnCalculate. Si añado el indicador al gráfico, todo va bien. Pero si reinicio el terminal - algunos valores nulos, ver la salida al final del post.

bool Quote2Price(double diff,double &price4lot,string symbol="EURUSD")
  {
   int dig=(int)MarketInfo(symbol,MODE_DIGITS);
   if(dig == 0)
      return(false); // symbol is none
   double tickSizeMarketInfo = MarketInfo(symbol, MODE_TICKSIZE);   // пункт в валюте котировки (0,00001 для EURUSD на 5-знаке)
   double tickValue, tickSize2;
   if(!SymbolInfoDouble(symbol, SYMBOL_TRADE_TICK_VALUE, tickValue)) // пункт в валюте депозита ($1 для EURUSD на 5-знаке)
      Print(__FUNCTION__, "  SymbolInfoDouble(...SYMBOL_TRADE_TICK_VALUE) returns false");
   if(!SymbolInfoDouble(symbol, SYMBOL_TRADE_TICK_SIZE, tickSize2)) // пункт в валюте депозита ($1 для EURUSD на 5-знаке)
      Print(__FUNCTION__, "  SymbolInfoDouble(...SYMBOL_TRADE_TICK_SIZE) returns false");
      
   Print("tickSizeMarketInfo= ", tickSizeMarketInfo, "  tickSize2= ", tickSize2, "  tickValue= ", tickValue);
   if(tickSizeMarketInfo == 0 || tickSize2 == 0 || tickValue == 0.0)
      return false;
   double price=diff/(tickSize2/tickValue);
   price4lot=NormalizeDouble(price,2);
   return (true);
  }


Salida después de reiniciar el terminal:

2017.03.01 00:31:43.588 ShowImportantParams EURUSD.e,M5: tickSizeMarketInfo= 1e-05 tickSize2= 1e-05 tickValue= 1.0

2017.03.01 00:31:43.460 ShowImportantParams EURUSD.e,M5: tickSizeMarketInfo= 1e-05 tickSize2= 1e-05 tickValue= 1.0

2017.03.01 00:31:43.351 ShowImportantParams EURUSD.e,M5: tickSizeMarketInfo= 1e-05 tickSize2= 1e-05 tickValue= 1.0

2017.03.01 00:31:42.961 ShowImportantParams EURUSD.e,M5: tickSizeMarketInfo= 1e-05 tickSize2= 1e-05tickValue= 0.0

2017.03.01 00:31:42.910 ShowImportantParams EURUSD.e,M5: tickSizeMarketInfo= 1e-05 tickSize2= 1e-05tickValue= 0.0

2017.03.01 00:31:42.866 ShowImportantParams EURUSD.e,M5: tickSizeMarketInfo= 1e-05 tickSize2= 1e-05tickValue= 0.0

2017.03.01 00:31:42.301 ShowImportantParams EURUSD.e,M5: tickSizeMarketInfo= 1e-05 tickSize2= 1e-05tickValue= 0.0

2017.03.01 00:31:41.116 ShowImportantParams EURUSD.e,M5: tickSizeMarketInfo= 1e-05 tickSize2= 1e-05tickValue= 0.0

2017.03.01 00:31:41.116 ShowImportantParams EURUSD.e,M5: inicializado

2017.03.01 00:31:41.080 Indicador personalizado ShowImportantParams EURUSD.e,M5: cargado con éxito


 
Alexey Volchanskiy:

Es lo mismo en el cuatro. Incluso tengo un comentario en pie para asegurarme de que no lo olvido.

Te sugiero que recuerdes todos los problemas y los publiques aquí. Si no se denuncia, seguirá habiendo agujeros.
 
Artyom Trishkin:
No lo he probado. No solía ocurrir antes de la compilación 1045. Y ahora tampoco ocurre siempre. Puedes trabajar durante medio día y luego te encuentras con este error.

Estuve a punto de reiniciar windows, cerré el editor mql5, cerré el editor mql4 y cerré los terminales MT5 y MT4. Pero necesitaba mirar algo en el editor de mql4. Lo abrí de nuevo y, Dios mío, el archivo se compiló. Ahora estoy pensando que dos editores, mql4 y mql5, están trabajando simultáneamente. Es extraño que los mismos archivos de diferentes directorios no se abran en ellos.

Pero, los veré trabajando juntos.
No hay ninguna diferencia: de vez en cuando se produce un error, independientemente de que haya uno o dos editores en funcionamiento:

2017.03.01 01:43:30.843 MetaTrader 4 build 1052 started (MetaQuotes Software Corp.)
2017.03.01 01:43:30.844 Windows 10 Home (x64 based PC), IE 11.00, UAC, 4 x Intel Core i3-3217 U  @ 1.80 GHz, RAM: 1540 / 5005 Mb, HDD: 10397 / 260234 Mb, GMT+07:00
2017.03.01 01:43:30.844 Data Folder: D:\New MT4
La epopeya del error continúa:
EX4 write error         0       0
Reiniciar constantemente Windows para poder seguir trabajando hace que el trabajo sea insoportable.
 
Artyom Trishkin:
No hay diferencia - el error aparece de vez en cuando, independientemente de si uno o dos editores se están ejecutando:

2017.03.01 01:43:30.843 MetaTrader 4 build 1052 started (MetaQuotes Software Corp.)
2017.03.01 01:43:30.844 Windows 10 Home (x64 based PC), IE 11.00, UAC, 4 x Intel Core i3-3217 U  @ 1.80 GHz, RAM: 1540 / 5005 Mb, HDD: 10397 / 260234 Mb, GMT+07:00
2017.03.01 01:43:30.844 Data Folder: D:\New MT4
La epopeya del error continúa:
EX4 write error         0       0
El reinicio constante de Windows para poder seguir trabajando hace que el trabajo sea insoportable.
¿Ocurre el problema también en el modo /portable?
 
Andrey Dik:
¿El modo /portable también causa un problema?
Este es el modo /portable:
2017.03.01 01:43:30.844 Data Folder: D:\New MT4
 
Artyom Trishkin:
Este es el modo /portable:
2017.03.01 01:43:30.844 Data Folder: D:\New MT4
tienes que mirar los usuarios de las carpetas correspondientes, no creo que MT4 tenga la culpa de nada, parece un problema de acceso a la carpeta. quizás algún proceso oculto está bloqueando el acceso.
 
Andrey Dik:
tienes que mirar los usuarios de las carpetas correspondientes, no creo que sea culpa de MT4, parece que hay un problema de acceso a las carpetas. quizás algún proceso oculto está bloqueando el acceso.
¿Qué hacer con ellos?

 
Artyom Trishkin:
Este es el modo /portable:
2017.03.01 01:43:30.844 Data Folder: D:\New MT4
Artem, ¿cuál fue la respuesta de la SD? ¿O ni siquiera lo abordó?