Discusión - página 15

 

Orden pendiente de caducidad

Hola,

Quisiera saber de la función o rutina para hacer que las órdenes pendientes, INDEPENDIENTEMENTE DE LA HORA QUE SE COLOQUEN, expiren a las 00:00.

EJEMPLO:

Orden de en Buy Stop colocada a las 13:00 (vencimiento a las 00:00)

Orden de en Sell Stop colocada a las 22:00 (vencimiento a las 00:00)

Gracias

 

Pregunta de programación

Soy nuevo en la programación de ea he estado tratando de añadir otro tiempo de inicio y parada a firedaves universallmacross ea cualquier idea sobre cómo iba a hacer esto gracias por su tiempo de antemano

 

con sudor y lágrimas

Hola

Prueba con esto

https://www.mql5.com/en/forum/general

 

extern string Time_Parameters = "------------- EA ACTIVE TIME";

extern bool UseHourTrade=false;

extern int StartHourGMT=18, EndHourGMT=24;

//----------------- FILTRO DE TIEMPO ---------------------//

int inicio()

{

si (UseHourTrade)

{

if(!(Hour()>StartHourGMT && Hour()<=EndHourGMT))

{

Comentario(

"\n",">[LONG TERM] TREND BREAKOUT SYSTEM<",

"\n",

"\n", "- PROGRAMA DE COMERCIO INACTIVO -",

"\n",

"\n", " - ¡HORAS DE NO NEGOCIACIÓN! -");

return(0);

}

}

¡Pruebe esto! Dave <<<<

 

Hola Scuba

Gracias por tu respuesta

Ya tiene un filtro de tiempo muy parecido al que has puesto, pero ¿cómo pondría la hora de inicio1 hasta la hora de finalización1 y la hora de inicio2 hasta la hora de finalización2? Tiene eso sentido

 

Piensa en el programa como un embudo. Si el programa se inicia y el flujo llega hasta el filtro de tiempo, comprueba si la hora GMT está dentro de las horas de inicio y parada del sueño. Si lo está, digamos 20 GMT, el filtro detiene el flujo del programa y aparece el mensaje Programa Inactivo. Cuando el reloj GMT avanza más allá de las 24 GMT, el filtro de tiempo dice que está bien para continuar el flujo del programa, y todo el programa se inicializa y continúa. Continúa hasta que el reloj GMT vuelve a llegar a las 18 GMT (inicio de la hora de reposo) y el filtro detiene el flujo del programa una vez más, lo que hace que el programa vuelva a estar en modo de reposo. Este ciclo se repite cada día. Es un interruptor de encendido y apagado que detiene el flujo de la progresión lógica del programa codificado después del filtro de tiempo.

Dave <<<<
 
398982:
Soy nuevo en la programación de ea he estado tratando de añadir otro tiempo de inicio y parada a firedaves universallmacross ea cualquier idea sobre cómo iba a hacer esto gracias por su tiempo de antemano

1. Hay un indicador con dos inicios y 2 finales. Pero lo hicieron de manera muy complicada:

for (shift=Counted_Bars+10;shift>0;shift--)

{

on_off_trade=false;

if (TimeHour(Time[shift])>Hour_Start_1 && TimeHour(Time[shift])<Hour_End_1) on_off_trade=true;

if (TimeHour(Time[shift])==Hour_Start_1 && TimeMinute(Time[shift])>=Minute_Start_1) on_off_trade=true;

if (TimeHour(Time[shift])==Hour_End_1 && TimeMinute(Time[shift])<=Minute_End_1) on_off_trade=true;

if (TimeHour(Time[shift])>Hour_Start_2 && TimeHour(Time[shift])<Hour_End_2) on_off_trade=true;

if (TimeHour(Time[shift])==Hour_Start_2 && TimeMinute(Time[shift])>=Minute_Start_2) on_off_trade=true;

if (TimeHour(Time[shift])==Hour_End_2 && TimeMinute(Time[shift])<=Minute_End_2) on_off_trade=true;[/CODE]

And then:

if (on_off_trade)[/CODE]

and so on. But it is bery complicated.

2. I think everything can be much more easy:

[CODE]if (UseHourTrade){

if (!(Hour()>=FromHourTrade1 && Hour()<=ToHourTrade1))

{Comment("Time for trade has not come else!");

return(0);}

else if(!(Hour()>=FromHourTrade2 && Hour()<=ToHourTrade2))

{Comment("Time for trade has not come else!");

return(0);}

else if(!(Hour()>=FromHourTrade3 && Hour()<=ToHourTrade3)){

Comment("Time for trade has not come else!");

return(0);

}

}

And in the settings of EA type the following:

[CODE]extern string PARAMETERS_TIMEFILTER = "TIMEFILTER";

extern bool UseHourTrade = False;

extern int FromHourTrade1 = 8;

extern int ToHourTrade1 = 10;

extern int FromHourTrade2 = 11;

extern int ToHourTrade2 = 15;

extern int FromHourTrade3 = 19;

extern int ToHourTrade3 = 22;
Archivos adjuntos:
 

Gracias chicos por vuestra ayuda

 
 

necesito ayuda con el uso de la memoria en MT4

Hola a todos,

Estoy teniendo un problema peculiar y espero que alguien pueda ofrecerme ayuda. Tengo 4 gráficos M5 abiertos (eur, gbp, jpy y chf) con el EA de cyberiatrader. Me he dado cuenta de que la ram está baja en mi máquina y la máquina va muy lenta. No tengo nada más que IBFX MT4 y la máquina tiene 1GB de RAM. Antes de cargar MT4 compruebo la RAM y muestra 850Mb libres. Una vez que cargo MT4 con los 4 gráficos la memoria RAM cae a 48Mb libres. ¡El uso de la memoria RAM para MT4 es de 780 MB! Limpié los archivos de registro en los directorios /log y ejecuté MT4 de nuevo. ¿Tienes alguna sugerencia sobre lo que podría estar causando esto y cómo se puede arreglar? Gracias