Errores, fallos, preguntas - página 3012

 
Andrei Trukhanovich:

la ayuda no está de acuerdo con esta interpretación.

La ayuda está escrita para mql y mql está escrito en ci ))
Conociendo los fundamentos de c, estará claro qué es qué.

 
Roman:
Creo que es simple - no entendiste lo que decía la ayuda
 
Andrei Trukhanovich:
Creo que es simple - no entendiste lo que dijo la ayuda

En general, no es correcto.

 
Roman:

En general, no es correcto.

No voy a discutir sobre eso.

 
Roman:

La ayuda está escrita para mql, y mql está escrito en ci ))
Si conoces los fundamentos de C, sabrás qué es qué.

En C, los tamaños de un array y de una cadena se desconocen de antemano, mientras que en MQL se conocen - esta es una diferencia significativa - de ahí que en MQL no sean necesarios los parámetros redundantes que los duplican.

 
A100:

En C, el tamaño del array y de la cadena son desconocidos de antemano, mientras que en MQL se conocen - esta es una diferencia significativa - por lo que en MQL no se necesitan parámetros redundantes que los dupliquen.

Un array dinámico es dinámico, y por eso espera que el usuario obtenga cualquier tamaño.
Para que un array dinámico entienda lo que quiere, el programador debe decirle:

-Oye, array dinámico, quiero enviarte datos.
y él responde:
-¿Y qué tipo y tamaño de tus datos?
tú le dices:
-Mira, char 100 elementos
él responde:
-Bien, si soy del mismo tipo, asigna memoria de 100 bytes para estos elementos y luego envíalo. De lo contrario, no lo aceptaré.

;))

Pero se ha facilitado la vida especificando incluso el cero en el parámetro, la propia automatización del proceso calculará el tamaño de los datos a transferir.
Es decir, una protección adicional contra los recién llegados. Pero es mejor pasar el tamaño explícitamente para controlarlo, de lo contrario tendrás problemas para depurarlo después.
 
Roman:

Un array dinámico es dinámico porque espera que el usuario obtenga cualquier tamaño.
Para que un array dinámico entienda lo que quiere, el programador debe decirle:

-Oye, array dinámico, quiero enviarte datos.
y te dirá:
-¿Cómo de grandes son tus datos?
le dices:
-Aquí, 100
te dirá:
-Bien, asígname memoria para 100 elementos, y luego envíalo. De lo contrario, no lo aceptaré.

;))

Pero se ha simplificado la vida especificando incluso el cero en el parámetro, la propia automatización del proceso calculará el tamaño de los datos transferidos.
Es decir, una protección adicional contra los recién llegados. Pero es mejor pasar el tamaño explícitamente para controlarlo, de lo contrario tendrás problemas para depurarlo después.

Francamente hablando, esto es una crueldad en casos críticos para una matriz. lo que vemos en forma de un rebasamiento de una matriz dinámica.... aunque en circunstancias normales es conveniente...

 
Valeriy Yastremskiy:

para ser honesto, esto es una rabieta en casos críticos para un array. como vemos en la forma de una salida más allá del tamaño del array dinámico.... aunque es conveniente en condiciones normales...

Array overrun, eso es nivel de programador ))

 
Roman:

Entrar fuera de la matriz es un nivel de programación ))

esta es una situación común cuando las barras del historial no están completamente cargadas. la clásica comprobación de la carga del historial por el ancho de la ventana tampoco es siempre relevante.

Y no siempre es el nivel del algoritmo, especialmente si la situación es de baja frecuencia.

 
Valeriy Yastremskiy:

La clásica comprobación de la carga del historial por el ancho de la ventana tampoco es siempre pertinente.

y no siempre es el nivel del algoritmo, especialmente si la situación es de baja frecuencia.


¿No ayuda?
Sólo que esto es una peculiaridad de la plataforma MT5, no los fundamentos del lenguaje.
Si eso no ayuda, entonces probablemente deberías informar a los desarrolladores.

Документация по MQL5: Доступ к таймсериям и индикаторам / Организация доступа к данным
Документация по MQL5: Доступ к таймсериям и индикаторам / Организация доступа к данным
  • www.mql5.com
Организация доступа к данным - Доступ к таймсериям и индикаторам - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
Razón de la queja: