Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 148

 
Kot:


¡Gracias! He captado la idea.

¿Y si la situación es diferente? Hay líneas horizontales con diferentes nombres en el gráfico. El script debe calcular qué línea corresponde a qué precio.

¿Qué significa?

- Si queremos conocer los niveles de todas las líneas horizontales, buscamos entre los objetos de la ventana gráfica y tomamos ObjectGetDouble(.., OBJPROP_PRICE) para las líneas ascendentes.

P.D. una pregunta bien formulada es la mitad de la respuesta: aprenda a formular sus preguntas

 
Maxim Kuznetsov:

¿Qué significa?

- Si quieres saber los niveles de todas las líneas horizontales, entonces recorre los objetos de la gráfica de la ventana y toma ObjectGetDouble(.., OBJPROP_PRICE) para las líneas de montaña.

P.D. la pregunta correcta es la mitad de la respuesta: aprende a formular tus preguntas


Justo lo que necesitas. ¡GRACIAS!
 

Ya he perdido la lógica - ¡por favor, ayuda!

Tomé el script, hice una función a partir de él y la inserté como una función en el indicador, y luego obtuve errores

   for(int i=0;i<SizeMass;i++)
     {
      summDelta[i]=(Digit[i+1]-Digit[i]);
     }
'i' - variable ya definida FindOblast'_1_1.mq4 308 12

No tengo esos errores en el script, es más, los bucles con variables similares están en la salida, pero no todos son violados - ¿qué pasa?

 
-Aleks-:

Ya he perdido la lógica - ¡por favor, ayuda!

Tomé el script, hice una función a partir de él y la inserté como una función en el indicador, y luego obtuve errores

'i' - variable ya definida FindOblast'_1_1.mq4 308 12

No he visto esos errores en el script, es más, los bucles con las mismas variables están en la salida, pero no genera errores en todos ellos - ¿qué pasa?

El problema está en el alcance de las variables.

Añade (si aún no lo has hecho) la directiva #property strict al principio de tu código y corrige todos los errores y advertencias de compilación especificados.

 
Artyom Trishkin:

La cuestión es el alcance de las variables.

Añade (si no lo has hecho ya) la directiva #property strict al principio del código y corrige los errores y advertencias de compilación que se indiquen.

Gracias por la respuesta.

Está tan claro que el ámbito es local - excepto que "i" no se declara por separado en ninguna parte - ¡en una función o globalmente!

Añadido #property strict y todos esos errores con "i" han desaparecido - ¿cómo es eso, si se trata de una comprobación más exhaustiva?

 
-Aleks-:

Gracias por la respuesta.

Así que está claro que el ámbito es local - excepto que "i" no se declara por separado en ninguna parte - ¡en una función o globalmente!

Añadí #property strict y todos esos errores con "i" desaparecieron - ¿cómo es posible si se trata de una comprobación más exhaustiva?

Es precisamente la comprobación más exhaustiva la que tiene en cuenta todas las áreas de visibilidad variable.
 
Artyom Trishkin:
Es precisamente la comprobación más exhaustiva la que tiene en cuenta todas las áreas de visibilidad variable.

Ya veo, pero no está claro por qué es posible trabajar sin estas comprobaciones...
 
-Aleks-:

Ya veo, pero no sé por qué no hay posibilidad de trabajar sin estas comprobaciones...

Para la compatibilidad con los códigos más antiguos.

Ahora, cada vez que escribas código, no olvides añadir esta directiva para mql4. En el caso de mql5 las comprobaciones estrictas están inicialmente activadas y el compilador no conoce esta directiva.

 
Artyom Trishkin:

Para la compatibilidad con los códigos más antiguos.

Ahora, cada vez que escribas código, no olvides añadir esta directiva para mql4. En el caso de mql5 las comprobaciones estrictas están inicialmente activadas y el compilador no conoce esta directiva.

He construido un nuevo indicador sin el anterior. Suelo tener la #propiedad estricta como siempre.

 

Ayuda con la lectura de un archivo .crv

tiene esta entrada :

2010.03.18 01:35:00;1.37409;1.37119

cómo escribir código para obtener cada valor por separado en una variable