[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No podría ir a ningún sitio sin ti - 2. - página 282

 

Señores, enseñen cómo llevar una señal dedivergencia de un indicador(FX5_Divergence_V2.1.mq4) a un EA.

Los búferes 2 y 3 del indicador emiten EMPTY_VALUE.

 
¿Alguien tiene un recolector de ticks que guarde el historial de t icks de la siguiente manera: hora de llegada del tick, asc, bid? el código base sólo tiene un recolector de ticks sin asc.
 
Sergey_Rogozin:

Señores, enseñen cómo llevar una señal dedivergencia de un indicador(FX5_Divergence_V2.1.mq4) a un EA.

Los búferes 2 y 3 del indicador emiten EMPTY_VALUE.

¿Escribí tu guión? Tiene de todo. En lugar de emitir un mensaje con Alerta, escriba su procesamiento. Puede escribir ocho en DoubleToString() en lugar de seis decimales si produce ceros. En cualquier caso, las señales están presentes y el guión las lee. Aplica un poco de mente y esfuerzo.
 
artmedia70:
¿Te he escrito un guión? Tiene de todo. En lugar de emitir un mensaje con Alerta, escriba su procesamiento. Puede escribir ocho en DoubleToString() en lugar de seis decimales si produce ceros. En cualquier caso, las señales están presentes y el guión las lee. Aplica un poco de mente y esfuerzo.
Qué hombre más obstinado. Déjeme explicárselo de nuevo con los dedos.
Los valores vacíos de los buffers con flechas se rellenan en lugar de ceros con valores EMPTY_VALUE numéricamente iguales a 2147483647. Donde hay flechas, los valores son diferentes, por ejemplo, 0,000031.
Tenemos que filtrar los valores "vacíos" mediante programación, porque en comparación se parecen al número 2147483647.
Por ejemplo, yo lo hago así y funciona. Quien es más inteligente, puede hacerlo más hermoso.

double buy=iCustom(NULL,0,"FX5_Divergence_V2.1",2,CountBar);
// отфильтровывает значения EMPTY_VALUE, заменяя их на 0 
if(buy==EMPTY_VALUE) buy=0.0;
// теперь значения buy могут быть либо 0, либо значением стрелки, например, 0,000032
 
granit77:
Qué hombre más obstinado. Déjeme explicárselo de nuevo con los dedos.
Los valores vacíos de los búferes con flechas se rellenan en lugar de ceros con valores EMPTY_VALUE numéricamente iguales a 2147483647. Donde hay flechas, los valores son diferentes, por ejemplo, 0,000031.
Tenemos que filtrar los valores "vacíos" mediante programación, porque en comparación se parecen al número 2147483647.
Por ejemplo, yo lo hago así y funciona. Quien es más inteligente, puede hacerlo más hermoso.

Ahora la persona escribirá que los búferes 2 y 3 sólo emiten ceros :)))

Hombre, una lógica tan simple: si el valor del buffer NO es igual a EMPTY_VALUE, significa que hay una flecha en esta barra y por lo tanto una señal.
Y cómo presentar este valor vacío y con qué compararlo es cuestión de gustos.

 
artmedia70:

Todo es un maldito desastre aquí...


¡¡A la isla!! :)

¡Tengo los mismos números (a través de Expert Advisor), pero la ventana de datos muestra EMPTY_VALUE! ¿Hay alguna forma de arreglar esto?


 
granit77:
Hombre obstinado. Déjeme explicárselo de nuevo con los dedos.
Los valores vacíos de los buffers con flechas se rellenan con EMPTY_VALUE numéricamente igual a 2147483647 en lugar de ceros. Donde hay flechas, los valores son diferentes, por ejemplo, 0,000031.
Tenemos que filtrar los valores "vacíos" mediante programación, porque en comparación se parecen al número 2147483647.
Por ejemplo, yo lo hago así y funciona. Quien es más inteligente, puede hacerlo más hermoso.



entendida a grandes rasgos.

 

A artmedia70.

Realmente no pude usar el guión. He intentado hacer casi lo mismo que granit77 ,pero tampoco ha funcionado.

If(buy==EMPTY_VALUE) buy=0.0 ; - el resultado es siempre "0". Tengo alertas procedentes del indicador pero la alerta adjunta al Asesor Experto no funciona.

Vale, gracias, seguiré "sufriendo"...))

 
Sergey_Rogozin:

A artmedia70.

Realmente no pude usar el guión. He intentado hacer casi lo mismo que granit77 ,pero tampoco ha funcionado.

If(buy==EMPTY_VALUE) buy=0.0 ; - el resultado es siempre "0". Tengo alertas procedentes del indicador pero la alerta adjunta al Asesor Experto no funciona.

Vale, gracias, seguiré "sufriendo"...))

no eres el único - agonizante, ya estoy arreglando el indicador :)))
 
todem:

Tengo los mismos números (a través de EA), pero la ventana de datos muestra VALOR_VACÍO. ¿Hay alguna forma de arreglar esto?

Cuando se imprimen los valores del buffer en la pantalla, ¿qué se hace? De todos modos, son los datos numéricos los que se emiten. Si quiere dar salida a una cadena vacía, o "Empty Value" o "EMPTY_VALUE", déles salida como variables de cadena.
Es decir:
val. de cadena ;
if(buffer value==EMPTY_VALUE) val="EMPTY_VALUE";
Pero si(valor delbuffer!=EMPTY_VALUE) val=DoubleToString(valor del buffer, 8);
y mostrar el valor de la variable val en lugar del valor del buffer.
Por ejemplo: Comentario ("Valor = ", val);