Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 916

 

Por favor, ayúdame a entender.

¿Cómo puedo escribir diferentes líneas del indicador en el EA?

Tengo un indicador - MACD 2 Line. ¿Cómo puedo registrar las líneas del indicador en mi EA?

 

StringAdd() IntegerToString() - ¿Qué ocurre?

En una cadena del tipo

x=StringAdd(x,IntegerToString(y));

da una advertencia amarilla

conversión implícita de 'cadena' a 'número'

¿qué ocurre?
 

Buenas tardes.

Tarea: calcular hasta un punto el centro del canal (que se utilizará como orden pendiente). He fijado los bordes del canal manualmente.

double up_level, down_level, stop_size;

int init()
{
   up_level=1.55974;
   down_level=1.55596;
   stop_size = NormalizeDouble((up_level - down_level)/2,5);
   Alert ("Ширина канала = ", NormalizeDouble(up_level - down_level,5));
   Alert ("Середина канала = ", NormalizeDouble(stop_size,5));
   return(0);
}

Lo calculo con la calculadora

1.55974 - 1.55596 = 0.00378

La alerta muestra la anchura = 0,0038

0.00378/2 = 0.00189

La alerta da el medio = 0,0019

P: ¿Por qué el programa no cuenta el quinto dígito?

 
GygaByte:
   Alert ("Ширина канала = ", DoubleToString(up_level - down_level,5));
   Alert ("Середина канала = ", DoubleToString(stop_size,5));

Cuando se emite una alerta, un comentario, una impresión, etc. (es decir, "que se vea claramente en la pantalla"), hay que convertirlo en texto.

Lo conseguirás:

P./S.: Y para los cálculos internos - sí, NormalizeDouble(...).

 
GygaByte:

P./S.: También hay, por ejemplo, información útil sobre este tema y un enlace a un artículo en el Navegador del Foro.

 
Hobu:

StringAdd() IntegerToString() - ¿Qué ocurre?

en una cadena del tipo

x=StringAdd(x,IntegerToString(y));

da una advertencia amarilla

conversión implícita de 'cadena' a 'número'

¿Qué pasa?

StringAdd es de tipo bool.

Todo lo que tienes que hacer es especificar la unión al final de la cadena (si x es de tipo cadena en tu caso, por supuesto):

StringAdd(x,IntegerToString(y));
 
Hobu:

P./S.: En este artículo hay buenos ejemplos sobre cadenas, por ejemplo: https://www.mql5.com/ru/articles/585

(y ahí sólo hay que escribir o copiar-pegar buscando en la página: StringAdd)

 
varyar84:

Por favor, ayúdeme a entender.

¿Cómo puedo escribir líneas diferentes en el EA desde el indicador?

Tengo un indicador - MACD 2 Line. ¿Cómo prescribir las líneas del indicador en mi Asesor Experto?

Valores de retorno:

 
varyar84:

P./S.: La forma de ponerlo en práctica, si surgen dudas, se puede encontrar en diversas búsquedas en la web y/o en el libro de texto.

Buena suerte.

 
Hola a todos, tengo una duda, ¿es mejor hacer un solo ciclo para todos los efectos o puede haber varios ciclos en un bloque, hay diferencia en cuanto al rendimiento del Asesor Experto o no?