Ayuda a la codificación - página 131

 
arroganzmaschine:
He visto que también hay alertas. Se envían cuando algunos IndexBuffers tienen el valor correcto. ¿Puedo enviar mis órdenes con algunas cláusulas if{?

Sí, es una forma normal de abrir órdenes: cuando se cumplen algunas condiciones

 

Vale, ¿entonces tengo que importar los Buffers con la función iCustom()al ea y comprobar después del inicio { si se cumple la condición?

 

Mladen, qué respuesta tan rápida; eres el mejor, gracias.

 

Bien, finalmente hay constantes indicadoras y topes indicadores en el indi que cumplen la condición.

Ejemplo Constante: #define IN_TRADE 0

Ejemplo Buffer: double Long[];

¿Cómo puedo importar esto a mi EA y comprobar la condición cada nueva vela?

 
arroganzmaschine:
Ok, finalmente hay constantes de indicadores y buffers de indicadores en el indi que cumplen la condición.

Ejemplo Constante: #define IN_TRADE 0

Ejemplo Buffer: double Long[];

¿Cómo puedo importarlas a mi EA y comprobar la condición cada nueva vela?

arroganzmaschine

La forma habitual en que el EA se comunica con un indicador es a través de la función iCustom(). Lo mejor es leer ese hilo sobre la función iCustom() y entonces se aclararán muchas cosas sobre la comunicación entre el EA y el indicador

 

De nuevo una pregunta: ¿Cómo puedo mostrar una alerta sólo una vez? por ejemplo, una para una vela?

 
arroganzmaschine:
De nuevo una pregunta: ¿Cómo puedo mostrar una alerta sólo una vez? por ejemplo, una para una vela?

La forma más sencilla sería la siguiente (si se tiene en cuenta sólo la barra para la alerta no el tipo de la alerta también) :

static datetime lastTimeAlerted=0;

if (lastTimeAlerted!=Time[0])

{

lastTimeAlerted = Time[0];

//

//

// your code for alert here

//

//

}

PD: ese código sale del bucle (no tiene por qué estar en el bucle, pero debe ser llamado cuando toda la calclación esté hecha)

 

Hola Mladen

Por favor, ¿puede comprobar esto, para el cierre de la vela

posiblemente esté bien, pero no estoy seguro.

Muchas gracias

Archivos adjuntos:
 
mladen:
La forma más sencilla sería la siguiente (si se tiene en cuenta sólo la barra para la alerta no el tipo de la alerta también) :
static datetime lastTimeAlerted=0;

if (lastTimeAlerted!=Time[0])

{

lastTimeAlerted = Time[0];

//

//

// your code for alert here

//

//

}

PD: ese código sale del bucle (no tiene que estar en el bucle, pero debe ser llamado cuando toda la calclación está hecha)

¡Gracias! ¡Funcionó!

 
WR1:
Hola Mladen

por favor, puede comprobar esto, para el cierre de la vela

posiblemente esté bien, pero no estoy seguro.

muchas gracias

WR1

Por lo que veo está bien (incluso en un modo de marco de tiempo múltiple)

Razón de la queja: