Errores, fallos, preguntas - página 1161
![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
v4.3, firmware personalizado.
La ventana principal está en posición horizontal, los otros diálogos (órdenes) están en posición vertical. Molesto cambio incontrolable entre la ventana principal y los diálogos.
vamos.... ni siquiera un software especializado como Smart Rotator.... ayuda
¡es curioso, pero si se establece el paisaje a la fuerza en Smart Rotator para el terminal, todas las ventanas se convierten en paisaje. pero quiero retrato! - Pongo el modo retrato para el terminal, ¿y qué? - jejeje... todavía algunas ventanas son apaisadas y otras retrato.
Un fallo en el meta-editor.
Supongamos que tenemos una función Obj() que devuelve un puntero a un objeto:
Ahora, si nos referimos al objeto directamente a través de la función:Obj().valor = 10, no aparece ninguna lista emergente de miembros y métodos de la clase después de introducir un punto.
La clase CA rray no es una panacea, dado que MQL no soporta patrones de clase. Nuestro array no está necesariamente formado por tipos simples, y crear una estructura completa de la descendencia CArray para cada nueva clase en un programa no es muy interesante. Basta con mirar cuántas líneas de código tiene cada archivo descendiente de CArray (ArrayInt.mqh, ArrayDouble.mqh etc.)
Y la forma de organizar la estructura del programa es de importancia secundaria. No nos desviemos del tema, la cuestión es que si hay algún parámetro que se pueda cambiar (en este caso es reserve_size), debería ser posible conseguirlo.
Los tipos complejos se heredan de CObject y se empaquetan de forma segura en CArrayObj.
reserve_size - rompe el paradigma de la programación económica. Sólo existe para los principiantes y no debe existir en absoluto en las lenguas normales.
reserve_size - viola el paradigma de la programación frugal. Sólo existe para los principiantes y no debería existir en absoluto en los idiomas normales.
Tienes un extraño paradigma. La reserva está precisamente pensada para economizar recursos, reduciendo el número de reasignaciones de memoria y el movimiento de datos (y estas son operaciones bastante caras). Y es un desarrollador de código el que debe gestionar este parámetro, porque sólo él sabe de antemano cómo va a utilizar la memoria su programa. Y no tiene nada que ver con el lenguaje, porque un array es un array, requiere memoria en todas partes.
Este es un paradigma extraño para ti. La reserva está pensada precisamente para economizar recursos, reduciendo el número de reasignaciones de memoria y de transferencias de datos (y éstas son operaciones bastante caras). Y es un desarrollador de código quien debe gestionar este parámetro, porque sólo él sabe de antemano cómo va a utilizar la memoria su programa. Y no tiene nada que ver con el lenguaje, porque un array es un array tal cual, requiere memoria por todas partes.
Así que ya has respondido a tu propia pregunta:
No tiene nada que ver con los medios lingüísticos y, por tanto, debe resolverse a un nivel superior, el del usuario. Así que resuelve tu tarea con las clases CArray* creadas especialmente para estas tareas, que por cierto, manejan esta tarea brillantemente y como si hubieran sido creadas para ello.
Tienes un extraño paradigma. La redundancia está precisamente diseñada para utilizar los recursos con moderación, reduciendo el número de reasignaciones de memoria y transferencias de datos (que son operaciones bastante costosas)...
Código de super ahorro. No hay ninguna reasignación de memoria, ya que el número de elementos se conoce de antemano. No se pasan arrays sino punteros a ellos. La velocidad es increíblemente rápida, y no necesitamos ningún reserv_size. ¿Qué es lo que no le gusta de esta solución?
Eh, si fuera tan sencillo... En el mundo real, el número de elementos no suele conocerse de antemano. Y lo que es más, este número cambia dinámicamente. Así que tu ejemplo simplificado de "Hola mundo" no tiene sentido. Se puede sustituir con sólo dos líneas:
Bueno, ¿qué sentido tiene toda esta basura? Si tú personalmente no utilizas el parámetro reserve_size, eres bienvenido. Pero no saques la conclusión de que todos los demás son tontos o novatos. Tal vez no entiendas algo. En los contenedores STL estándar, diseñados para trabajar con arrays (vector, cadena, etc.), métodos como la reserva y la capacidad están siempre presentes también.
vamos.... ni siquiera un software especializado como Smart Rotator.... ayuda
Es curioso, pero si fuerzo el modo apaisado en Smart Rotator para el terminal, todas las ventanas se vuelven apaisadas. - Pongo el terminal en modo retrato, ¿y qué? - jejeje... todavía algunas ventanas son apaisadas y otras retrato.
En la última versión, la búsqueda en el MetaEditor (el cuadro de la esquina superior derecha) ya no funciona correctamente. Cuando introduzco la palabra que busco allí, la sustituye automáticamente por alguna frase similar, sacada de no sé dónde y sin motivo. Como resultado, no puede encontrar nada en su código. Por ejemplo, intento encontrar una variable llamada "ERROR_VALUE" pero obtengo "error_value 7" en su lugar.
Pregunta: ¿Qué pasa? ¿De dónde viene esta basura de izquierdas en la línea de búsqueda y cómo sacarla?
En la última versión, la búsqueda en el MetaEditor (el cuadro en la esquina superior derecha) ya no funciona correctamente. Cuando introduzco la palabra que busco allí, la sustituye automáticamente por alguna frase similar, sacada de no sé dónde y sin motivo. Como resultado, no puede encontrar nada en su código. Por ejemplo, intento encontrar una variable llamada "ERROR_VALUE" pero obtengo "error_value 7" en la línea de búsqueda en su lugar.
Pregunta: ¿Qué pasa? ¿De dónde viene esta basura de izquierdas en la línea de búsqueda y cómo sacarla?