Ordem de Expiração Pendente

Hi,

Gostaria de saber da função ou da rotina para fazer com que as ordens pendentes, INDEPENDENTES DA HORA QUE SÃO LOCALIZADAS, expirem às 00:00 horas.

EXEMPLO:

Ordem de em Buy Stop colocada até as 13:00 (expiração até as 00:00)

Ordem de em Sell Stop colocada até as 22:00 (expiração até as 00:00)

Obrigado

Pergunta de programação

Sou novo na programação da ea Tenho tentado acrescentar mais um início e parar o tempo para disparar universallmacross ea quaisquer idéias sobre como eu faria isso, obrigado por seu tempo de antecedência

com suor e lágrimas

Hi

Tente isto

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

fio externo Time_Parameters = "------------- EA ACTIVE TIME";

bool externo UseHourTrade=false;

extern int StartHourGMT=18, EndHourGMT=24;

//----------------- FILTRO DE TEMPO ---------------------//

int start()

{

se (UseHourTrade)

{

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

{

Comentário(

"\n",">[LONGO PRAZO] TREND BREAKOUT SYSTEM<",

"\n",

"\n", " - PROGRAMA DE TRADUÇÃO INATIVA -",

"\n",

"\n", " - HORAS NÃO-TRADAS! -");

retorno(0);

}

}

Experimente isto! Dave <<<<

Olá Mergulhador

Obrigado por sua resposta

Já existe um filtro de tempo muito parecido com o que você postou, mas como eu colocaria a hora inicial1 até a hora final1 e a hora inicial2 hora final2? Isso faz sentido?

Pense no programa como um funil. Se o programa iniciar e o fluxo descer até o filtro de tempo, ele verifica se a hora GMT está dentro dos horários de início e parada do sono. Se estiver, digamos 20 GMT, o filtro pára o fluxo do programa e a mensagem aparece Programa Inativo. Quando o relógio GMT avança além do GMT 24, o filtro de tempo diz que não há problema em continuar o fluxo do programa, e o programa inteiro se inicializa e prossegue. Ele continua até que o relógio GMT mais uma vez chegue às 18 GMT (início do horário de sono) e o filtro pára o fluxo do programa mais uma vez, o que coloca o programa novamente no modo de sono. Este ciclo se repete todos os dias. É um interruptor de ligar e desligar que pára o fluxo de progressão lógica do programa codificado após o filtro de tempo.

Dave <<<
398982:
Sou novo em programação e tenho tentado acrescentar mais um início e parar o tempo para disparar universallmacross e quaisquer idéias sobre como eu faria isso, obrigado por seu tempo de antecedência.

1. Há um indicador com dois inícios e dois finais. Mas eles o fizeram de forma muito 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;
Arquivos anexados:

Obrigado a todos por sua ajuda

precisam de ajuda com o uso de memória no MT4

Olá a todos,

Estou tendo um problema peculiar e espero que alguém possa me oferecer alguma ajuda. Tenho 4 gráficos M5 abertos (eur, gbp, jpy e chf) com o cyberiatrader EA. Notei que o carneiro estava baixo na minha máquina e que a máquina é muito lenta. Não tenho mais nada funcionando, exceto o IBFX MT4 e a máquina tem um carneiro de 1GB. Antes de carregar o MT4 eu verifico a RAM e ela mostra 850Mb livre. Quando carrego o MT4 com as 4 cartas, o carneiro cai para 48Mb livre. O uso do carneiro para o MT4 é de 780 MB!! Limpei os arquivos de log sob os diretórios /log e executei o MT4 novamente...mesmo número. Você tem alguma sugestão sobre o que pode estar causando isto e como pode ser corrigido? Obrigado