Errores, fallos, preguntas - página 315

 

Siguiente problema.

Después de reinstalar el sistema operativo y la nueva instalación de MT5, los indicadores personalizados que funcionaban antes dejaron de cargarse.

He vuelto a comprobar los parámetros y todo es correcto.

Luego intenté cargar uno de los indicadores estándar a través de iCustom, poniéndolo en la carpeta raíz de Indicadores,

pero el código de abajo, cuando "#include" está presente, causa un error de carga, sin embargo:

- no hay errores en las clases incluidas,

- el código que involucra a estas clases está desactivado para que se entienda mejor el error, y antes funcionaba bien,

- sin habilitar #include no se produce el error de cargar un indicador personalizado.

#include <..\Experts\_My\Classes\ClassExpert\ClassExpert.mqh>

void OnInit(){
   int HandleIndicator = iCustom(_Symbol,_Period,"RSI",14);                      
   Print("HandleIndicator = ", HandleIndicator);
   if(HandleIndicator==INVALID_HANDLE){
      Print("Handle of RSI is INVALID_HANDLE");
      return;
   };
}

2011.02.23 09:52:41     Core 1  expert removed self when OnInit called
2011.02.23 09:52:41     Core 1  2011.01.14 00:00:00   Handle of RSI is INVALID_HANDLE
2011.02.23 09:52:41     Core 1  2011.01.14 00:00:00   HandleIndicator = -1
2011.02.23 09:52:41     Core 1  2011.01.14 00:00:00   expert removed because custom indicator 'RSI' cannot load [4802]
2011.02.23 09:52:41     Core 1  loading of RSI EURUSD,H1 failed

No puedo entender lo que está mal en absoluto.

Lo mismo ocurre de la forma habitual, utilizando clases:

#include <..\Experts\_My\Classes\ClassExpert\ClassExpert.mqh>
ClassExpert Expert1;
void OnInit(){
   Expert1.Init();
   //---
   int HandleIndicator = iCustom(_Symbol,_Period,"RSI",14);                      
   Print("HandleIndicator = ", HandleIndicator);
   if(HandleIndicator==INVALID_HANDLE){
      Print("Handle of RSI is INVALID_HANDLE");
      return;
   };
}

Y esto a pesar de que la versión MT5 build 401 que se utiliza actualmente funcionaba sin errores con este código tanto en el PC de casa como en el de la oficina (en el que sigue funcionando).

 
DV2010:

Siguiente problema.

Después de reinstalar el sistema operativo y la nueva instalación de MT5, los indicadores personalizados que funcionaban antes dejaron de cargarse.

He vuelto a comprobar los parámetros y todo es correcto.

Luego intenté cargar uno de los indicadores estándar a través de iCustom, poniéndolo en la carpeta raíz de Indicadores,

pero el código de abajo, en presencia de "#include" conduce a un error de carga, aunque no hay errores en las clases incluidas,

el código con ellos para simplificar la comprensión de los motivos de error no se utiliza ahora, mientras que antes funcionaba bien:

- provoca un error de carga:

No puedo entender el problema en absoluto.
Por favor, escriba a Service Desk y adjunte todos los archivos de origen. He intentado reproducirlo en el mío, pero no funciona - no tengo tus archivos de inclusión.
 
Rosh: Пожалуйста, напишите в Сервисдеск и приложите все исходники. Я пытался воспроизвести у себя, но не получилось - у меня нет ваших включаемых файлов. 

Rosh, gracias, pero pasando del modelo más simple con un mínimo de código al completo mediante la inclusión sucesiva de partes separadas del código conseguí devolver una versión que funcionaba (de lo contrario habría tenido que adjuntar más de cincuenta de mis archivos, porque el sistema se negaba a aceptar el archivo rar). Sin embargo, para ser sincero, no entendí cuál era exactamente el error.

 
DV2010:

(de lo contrario, habría tenido que adjuntar más de cincuenta archivos propios, ya que el sistema se negaba a aceptar archivos rar ).


Tamaño máximo de descarga: 16 MB, no más de 10 archivos adjuntos (.gif .png .jpg .jpeg .zip.txt .log .mqh .ex5 .mq5 .mq4 .ex4 .flv .mt5)
 

Hola, hoy al escribir un número en formato doble en las variables globales del terminal (manualmente) 88,71 tras pulsar Enter, veo el valor 88,709999999, mientras que en otra variable global registro 87,80 y tras pulsar Enter el valor tomó, como debería, 87,8. Y al escribir un valor con 4 decimales, recibo un valor con 4 caracteres. Construir 401.

P.S. En principio, esta representación del número de leer el experto es probable que se percibe como se pretende, pero para leer una persona de alguna manera no es agradable.

Документация по MQL5: Основы языка / Переменные / Глобальные переменные
Документация по MQL5: Основы языка / Переменные / Глобальные переменные
  • www.mql5.com
Основы языка / Переменные / Глобальные переменные - Документация по MQL5
 
kirill190982:

Hola, hoy al escribir un número en formato doble en la terminal de variables globales (manualmente) 88,71 tras pulsar Enter, veo el valor 88,709999999, mientras que en otra variable global registro 87,80 y tras pulsar Enter, el valor ha recibido, como debería, 87,8. Y al escribir un valor con 4 decimales, recibo un valor con 4 caracteres. Construir 401.

P.S. En principio, esta representación del número de leer el experto es probable que se percibe como se pretende, pero para leer una persona de alguna manera no es agradable.

https://www.mql5.com/ru/docs/basis/types/double

https://www.mql5.com/ru/articles/1561

Документация по MQL5: Основы языка / Типы данных / Вещественные типы (double, float)
Документация по MQL5: Основы языка / Типы данных / Вещественные типы (double, float)
  • www.mql5.com
Основы языка / Типы данных / Вещественные типы (double, float) - Документация по MQL5
 

Gracias, pero me gustaría ver los números en su forma habitual y dejar que la máquina cuente los números como es debido

 
kirill190982:

Gracias, pero me gustaría ver los números en su forma habitual y dejar que la máquina cuente los números como es debido

https://www.mql5.com/ru/docs/convert/doubletostring

no hay perfección en el mundo....

Документация по MQL5: Преобразование данных / DoubleToString
Документация по MQL5: Преобразование данных / DoubleToString
  • www.mql5.com
Преобразование данных / DoubleToString - Документация по MQL5
 
AlexSTAL:

https://www.mql5.com/ru/docs/convert/doubletostring

no hay perfección en el mundo....

Lo hay :) No hay nada de malo en esta cuestión en VB.NET. Aunque recuerdo lo que dijiste sobre el tamaño de la plantilla de Microsoft :)
 
-Alexey-:
Lo hay :) No hay nada de malo en esta cuestión en VB.NET.

La cuestión es a qué precio ))))

A menudo sólo vemos la punta del iceberg....

http://msdn.microsoft.com/ru-ru/library/system.decimal.aspx

P.D. ¡No hay manera de implementar esto de manera normal! Para ello hay que entender cómo se almacenan los números en coma flotante. Sólo puedes optar por trucos artificiales....

Decimal - структура (System)
Decimal - структура (System)
  • msdn.microsoft.com
Пространство имен: System Сборка: (в mscorlib.dll) Тип предоставляет следующие члены. ИмяОписание В начало страницы ИмяОписание (Переопределяет ValueTypeEquals(Object).) Преобразует заданное 64-разрядное целое число со знаком, соответствующее значению денежного типа OLE-автоматизации, в эквивалентное значение типа...