Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Así que haz una fábrica. Eso resolvería el problema.
Ya es bastante fácil trabajar ahí dentro. El objeto tiene una estructura bastante rígida. Llama a un método virtual Load de cada uno de sus miembros, ellos a su vez hacen lo mismo. Al principio de cada bloque de datos (objeto) se escribe el ID del tipo (para control al cargar). Eso es todo. Es una especie de fábrica de fabricación propia.
Entonces se necesitará la fábrica y la tabla de registro de tipos. Aunque el problema no estaba tan resuelto, me las he arreglado con clips y cinta adhesiva. :)
El fan de Gunn.
Si el segundo punto de anclaje está en el futuro, el ángulo cambia.
Además, este objeto tiene algunos problemas al copiar (con Ctrl pulsado). Muy a menudo no copia, sino que arrastra el original, y tarda el tercer o quinto intento en copiar.
Bien, genial.
Slava, ¿puedo preguntar (para el desarrollo general) por qué no se puede inicializar la tabla de métodos virtuales al principio del constructor (después de la inicialización del ancestro)?
Ya te lo he dicho antes. Los constructores elaboran la jerarquía. Mientras se construye un ancestro, no hay información sobre los descendientes.
Ya lo he leído. Y lo entendí perfectamente. Y he hecho una pregunta basada en lo que he leído. Intentaré hacerlo más claro, con imágenes.
Lo entiendo todo, es más difícil hacerlo, hay todo tipo de sutilezas. Es mucho más sencillo y universal (para ti) escribir toda la inicialización implícita al final. E incluso creo de antemano que "nadie hace eso" y que "no es habitual en C++", etc.
Pero para nosotros ( usuarios ), es más simple, universal, razonable y lógico considerar el constructor MySecond() como un territorio de la clase MySecond y no de MyFirst. Piensa en qué es más fácil: hacer que las funciones virtuales funcionen en los constructores o expresar en la documentación restricciones importantes y serias sobre el código de los constructores en varios lugares y, a pesar de ello, recibir regularmente mensajes importantes y serios de los novatos al Service Desk y al Foro "sobre los errores virtuales en los constructores".
El operador tensorial con estructuras da lugar a un error de generación de código (aunque si se sustituye por if, funciona)
Recibo regularmente el error 4401
ERR_HISTORY_NOT_FOUND
El siguiente código indicador
producirá un error inmediatamente al iniciarse (si no en D1). O más bien, una vez después del inicio de la terminal y la apertura del gráfico - para poner el indicador, obtendremos un error. Si el terminal no está cerrado, no se producirá este error al inicio.
Pero después de algún tiempo (un par de horas - 2 horas fueron suficientes para mí) veremos que obtendremos el error en el gráfico ya abierto. (Lo ejecuté en m30)
¡Hola, señores desarrolladores!
¿Podemos hacer cambios en el compilador de MQL5 para que al menos nos dé un aviso?
para errores de este tipo en el código.
if(Flag_Exitl=true) {break;}
La condición de comparación aquí no es correcta (debería ser == ), por eso siempre será break.
¿Cómo se puede abordar esta situación en el compilador (si es que es posible), para que pueda tener menos baches al escribir el código?
(Pensé que no funcionaría, parece que se separa la asignación y la comparación en el if, luego se elimina la pregunta).
¡Hola, señores desarrolladores!
¿Es posible cambiar el compilador de MQL5 para que al menos dé un aviso?
para errores de este tipo en el código.
if(Flag_Exitl=true) {break;}
La condición de comparación no es correcta (debería ser == ), por eso siempre será break.
¿Cómo se puede abordar esta situación en el compilador (si es posible), para que pueda tener menos baches al escribir el código?
(He pensado que no va a funcionar, puedo dividir la asignación y la comparación en si, así se elimina la pregunta).
La condición puede estar escrita incorrectamente pero está permitida en MQL5.
Traduciré lo que has codificado: La variable Flag_Exitl debe ser puesta a true y luego se comprueba si Flag_Exitl es true, entonces se rompe.
La secuencia de acciones es exactamente así.
No entiendo muy bien cómo trabajar con búferes que no necesitan ser mostrados en la pantalla.
De acuerdo con el código de abajo por alguna razón
1) no dibuja nada
2) ambos búferes se denominan Label1
aunque contengan los datos correctos
Hola. Puede que esté escribiendo en la dirección equivocada, pero espero que pueda indicarme la dirección correcta. ¿Dónde ir con una pregunta sobre la API Web para mt5? )
Intentaré explicar la situación por si acaso. Tengo el gestor de МТ y la API WEB con php... La factura en ruso se crea, los datos se envían e incluso se muestran en el gestor de МТ, pero hay un problema - los datos en el gestor de МТ se muestran en unicode ("044404300c0438043b0438044f" - así es como se ve el nombre de usuario). Al enviar los datos no se codifica ni decodifica nada, desde el cliente MT se crea todo con normalidad... Al menos, ¿hacia dónde mirar? (