MetaTrader 4 Build 529 beta liberado con nuevo compilador - página 104

 
artmedia70:

Es curioso. El nombre del Asesor Experto incluye los nombres de sus subcarpetas.

Esto aumenta innecesariamente el tamaño del nombre del experto.

Por ejemplo: Si el nombre del Asesor Experto es Experto y está almacenado en Terminal_directory\MQL4\experts\Orders\Nnickname,

entonces el nombre del Asesor Experto no será Experto, sino Pedidos\Nnombre_del_cliente\Nexperto. Si los nombres de los objetos incluyen Nombre_del_experto y Nombre_del_objeto_tiempo, ya se ha superado el número de caracteres, y el objeto saldrá a precio cero y tiempo cero.

Si los nombres de los objetos incluyen un nombre de EA que debe limpiarse al desinicializarse, esto deja muy poco espacio para el nombre del objeto en sí.

¿Se cambiará esto, o seguirá siendo así?


Para ser cambiado.
 
Renat:

Mira en el libro de registro: ¿dice lo que se está descargando y lo que se ha descargado?


No descargar la actualización de la ayuda

Ahora es así

 

Chicos, que yo recuerde en las primeras versiones de los terminales tal cosa funcionaba

extern double sig[3]= {12,0.548,0.21,0.413};

Pero ahora genera un error, ¿qué pasa?

Segunda pregunta

Al instalar un terminal con la bandera portátil en una unidad flash, ¿funciona correctamente? Recuerdo que antes había problemas con la visualización de los nombres de las cuentas y con los importes astronómicos en las cuentas...

 
VOLDEMAR:

Chicos, que yo recuerde en las primeras versiones de los terminales tal cosa funcionaba

Pero ahora genera un error, ¿qué pasa?

Segunda pregunta

Al instalar un terminal con la bandera portátil en una unidad flash, ¿funciona correctamente? Recuerdo que antes había problemas con la visualización de los nombres de las cuentas y los importes astronómicos de las mismas...


Se declara un array de tres elementos, pero se escriben cuatro elementos en él. Definitivamente es un error. Cuando la lista de inicialización es grande, es mejor hacerlo así:

double sig[]= {12,0.548,0.21,0.413};

El compilador lo calculará por sí mismo.

Y declarar un array como parámetro de ajuste, ¿cómo?

 
Scriptong:


Se declara un array de tres elementos, pero se escriben cuatro elementos en él. Definitivamente es un error. Cuando la lista de inicialización es grande, es mejor hacerlo así:

El compilador hará las cuentas por sí mismo.


No, no funciona.

 
VOLDEMAR:


No, no funciona


Pues lo dice bien claro: no está permitido en la configuración. Se espera un valor constante :)
 
Scriptong:

Bueno, está escrito en inglés: no está permitido en la configuración. Se espera un valor constante :)

No sé inglés (((, pero he visto códigos en los que se introducían muchos parámetros en la configuración a través de ( ; ) ...
 
VOLDEMAR:

Chicos, que yo recuerde en las primeras versiones de los terminales tal cosa funcionaba

Pero ahora da un error, ¿qué pasa?



Antes tampoco funcionaba. Eliminar el modificador externo
 

Dígame, no entiendo las razones por las que esto sucede. Referencia:

Событие Deinit генерируется для экспертов и индикаторов в следующих случаях:

-antes dedescargar un programa mql4.

La descarga de un Asesor Experto adjunto a un gráfico se realiza en los siguientes casos

-Cerrar el terminal (si se ha adjuntado un Asesor Experto a un gráfico);

1) en OnInit el Asesor Experto crea 400 objetos gráficos (usando clases a través de new object)

2) Borrado en OnDeinit (el operador delete borra el objeto creado por el operador new)

Al eliminar un EA, todo va bien (los objetos creados se eliminan)

Al cambiar el TF, si el historial está cargado - todo va bien (los objetos creados se borran, los nuevos se crean)

Alcambiar de TF, si el historial no está cargado para este TF - esto ocurre unas 3 veces OnDeinit y OnInit , y rápidamente

(a veces los objetos no se crean en absoluto y el terminal no da ningún error)

Cerrar y reiniciar el terminal provoca 400 errores 4200 - el objeto ya existe.

El cierre de la terminal no provoca la aparición de OnDeinit?

¿Cómo puedo eliminar 400 objetos manualmente? Añadir el botón "borrar todos los objetos" del gráfico actual seguramente sugerido?

(p.d. Estimados desarrolladores, ¿se corregirá pronto (un mes) el orden de creación de los objetos?

para que el orden no dependa del nombre, sino de cómo se crean los objetos en el código)

// alexey_pak gracias, no sabía que Ctrl + A funciona en la "lista de objetos"

 

Colegas, un mensaje de advertencia aparece en la compilación:

posible uso de la variable no inicializada 'PipStep'

para un trozo como este:

      PipStep = NormalizeDouble(InitPipStep * MathPow(PipStepExp, BuyOrders - StartDynStep + 1),0);
      LastBuyPrice = FindLastBuyPrice();
      if(Ask < LastBuyPrice - (PipStep * Point))//для ЭТОЙ строки выдало possible use of uninitialized variable 'PipStep' 

Todas las variables se inicializan como double, ¿qué tiene de malo?