Al intentar crear un objeto de una clase abstracta, el log muestra una información demasiado escasa sobre el error: 'CClass - cannot instantiate abstract class'. Y me gustaría saber qué métodos faltan, porque hay muchos métodos abstractos y se tarda mucho en encontrar el que falta. Por favor, asegúrate de que el primer método que falta se indica en el log.
En MQL5\Include\environment.mqh existe esta doble comparación
//+------------------------------------------------------------------+//| Сравнивает два значения типа double. |//| RESULT |//| Возвращает истину, если значения равны и |//| ложь в противном случе. |//+------------------------------------------------------------------+bool CEnvironment::DoubleEquals(constdouble a,constdouble b)
{
//---return(fabs(a-b)<=16*DBL_EPSILON*fmax(fabs(a),fabs(b)));
//---
}
En la Ayuda, hay una variante de MQL4\Libraries\stdlib.mq4
//+------------------------------------------------------------------+//| right comparison of 2 doubles |//+------------------------------------------------------------------+bool CompareDoubles(double number1,double number2)
{
if(NormalizeDouble(number1-number2,8)==0) return(true);
elsereturn(false);
}
El segundo método consiste en comparar la diferencia normalizada entre dos números reales con un valor de cero. Comparar la diferencia de los números normalizados con el cero es inútil porque cualquier operación matemática con números normalizados da un resultado no normalizado. Ejemplo:
La segunda forma consiste en comparar la diferencia normalizada de dos números reales con cero. Es inútil comparar la diferencia de los números normalizados con el cero, porque cualquier operación matemática con números normalizados da un resultado no normalizado.
Esto no es cierto. La diferencia de dos dobles normalizados siempre será cero si sus valores normalizados son iguales. No es necesario citar un ejemplo al comparar float y double. Este no es el caso de dos dobles.
Además se pueden tomar dos números cuyos valores normalizados sean iguales entre sí. Pero su diferencia normalizada no será igual a cero.
Después de la actualización de hoy, 18.08.2016, la función OrderCalcMargin comenzó a devolver 0.
Terminal versión Demo 5.00 build 1383
Código de prueba:
Salida en terminal:
2016.08.18 20:35:36.394 Prueba (EURUSD,H1) OneLot=0.0 GetLastError=0
ps: también escribí a servicedesk, pero hay un hilo adecuado aquí también, así que quizás este mensaje sea respondido más rápido.
No se comprueba la implementación de métodos virtuales puros
Error de depuración (build 1383)
Quizá no sea un fallo grave, pero siempre me molesta.
la esencia del objeto gráfico como OBJ_RECTANGLE_LABEL desaparece un par o un píxel, no parece nada, pero no es bueno ...
desaparece en la parte superior izquierda cuando el objeto es oscuro en color....
En MQL5\Include\environment.mqh existe esta doble comparación
En la Ayuda, hay una variante de MQL4\Libraries\stdlib.mq4
En MQL5\Include\environment.mqh hay una comparación doble de este tipo
En la Ayuda, hay una variante de MQL4\Libraries\stdlib.mq4
doble mirada. Y lo leemos. Y vemos dos formas de comparación:
Ejemplo:
Ejemplo:
La segunda forma consiste en comparar la diferencia normalizada de dos números reales con cero. Es inútil comparar la diferencia de los números normalizados con el cero, porque cualquier operación matemática con números normalizados da un resultado no normalizado.
Esto no es cierto. La diferencia de dos dobles normalizados siempre será cero si sus valores normalizados son iguales. No es necesario citar un ejemplo al comparar float y double. Este no es el caso de dos dobles.
Además se pueden tomar dos números cuyos valores normalizados sean iguales entre sí. Pero su diferencia normalizada no será igual a cero.
Error de compilación: ')' - no todas las vías de control devuelven un valor