Discussão - página 15

 

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

Razão: