Discusión sobre el artículo "Guía paso a paso para escribir un Expert Advisor en MQL5 para principiantes" - página 10

[Eliminado]  
pisenysh:

al compilar da error

el valor de retorno de 'OrderSend' debe ser comprobado my_first_ea.mq5 211 10

¿qué puede estar mal?

¿Es un error seguro?
 
pisenysh:

al compilar da error

el valor de retorno de 'OrderSend' debe ser comprobado my_first_ea.mq5 211 10

¿qué puede estar mal?

El compilador dice que es necesario procesar el resultado de la ejecución de la función trade.
 

Hola, ¿puedo hacerle una pregunta? ¿El Asesor Experto opera con una precisión de hasta segundos? Es decir, ¿si necesito abrir y cerrar operaciones no sólo en una hora y minuto determinados, sino también en un segundo determinado?

 
Grenjohn:

Hola, ¿puedo hacerle una pregunta? ¿El Asesor Experto opera con una precisión de hasta segundos? Es decir, ¿si necesito abrir y cerrar operaciones no sólo en una hora y minuto determinados, sino también en un segundo determinado?

Un minuto se compone de cien segundos - ¿cuál quieres?
 
server:
Un minuto se compone de cien segundos: ¿cuál quieres?
Está en los anales ;)
 

¿¡No lo entiendo!? Un minuto consta de 60 segundos. Programo el Asesor Experto para abrir una posición por ejemplo a las 12:30 y necesito que se dispare a los 45 segundos. Cuando pongo 12:30 todo funciona, se abre la operación, pero cuando intento añadir segundos no funciona!!!?

 

Aquí está el código en sí:

extern int tp = 1000

extern int sl = 1000
extern double Lotes = 0.01
int billete;
int inicio()
{
if(TotalOrdenes( )==0 && Hora ( )==23 && Minuto ( )==02 && Segundos ( )==30)
{

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,0,Bid-sl*Point,Bid+tp*Point,"",123,0,Red);
}
if (OrdersTotal( )==1 && Hour( )==23 && Minute( )==03 && Seconds ( )==30))
{
OrderClose(ticket,Lotes,Oferta,20,Verde);
}
}
 
Grenjohn:

Aquí está el código en sí:

extern int tp = 1000

extern int sl = 1000
extern double Lotes = 0.01
int billete;
int inicio()
{
if(TotalOrdenes( )==0 && Hora ( )==23 && Minuto ( )==02 && Segundos ( )==30)
{

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,0,Bid-sl*Point,Bid+tp*Point,"",123,0,Red);
}
if (OrdersTotal( )==1 && Hour( )==23 && Minute( )==03 && Seconds ( )==30))
{
OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES);
OrderClose(ticket,Lotes,Oferta,20,Verde);
}
}
Gy. Ponga el check Seconds() >= 30, porque un segundo puede deslizarse rápidamente y no llegar ni un tick durante el mismo. PS Es deseable dar estilo al código con el estilo de código (botón SRC).
 
Sí, ahora funciona, ¡muchas gracias! El verdadero problema era la velocidad de la segunda, la garrapata no tenía tiempo para ir a través de él.
 

¿Puedes decirme más por favor? ¿Es posible abrir y cerrar posiciones en Expert Advisors, claramente por tiempo en segundos, sin tener en cuenta los ticks, como un temporizador normal. Es decir, si el reloj es 12:52:25, entonces la posición se abriría, y no esperar a una nueva garrapata, así como con el cierre?