Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1478

 
MakarFX:
Sim

Obrigado pela ajuda. Se não estou enganado, apesar do fato de que o OnTick() vazio lida com cada tick, se usarmosTimeSeconds() dentro dele, então o OnTick() vazio não lida com cada tick, mas apenas com o início de cada vela de minuto e assim economizará o tempo de execução de todo o código.

Diga-me, se ao invés de TimeSeconds(), você escrever na condição if(Minute() != x), e no final x= Minute(), terá o mesmo efeito que TimeSeconds()?

Obrigado

 
ANDREY:

Obrigado pela ajuda. Se não estou enganado, apesar do fato de que o OnTick() vazio lida com cada tick, se usarmosTimeSeconds() dentro dele, então o OnTick() vazio não lida com cada tick, mas apenas com o início de cada vela de minuto e assim economizará o tempo de execução de todo o código.

Diga-me, se ao invés de TimeSeconds(), você escrever na condição if(Minute() != x), e no final x= Minute(), terá o mesmo efeito que TimeSeconds()?

Obrigado

bool FlagNewBar=false,
     FlagBegin=true;

void OnTick()

FlagNewBar=false;
   if(BarTime!=Time[0])
     {
      BarTime=Time[0];
      FlagNewBar=true;
     }


   if(FlagNewBar || FlagBegin)
     {
      FlagBegin=false;
.......

)

É melhor, você também terá um cronômetro fora das sessões. E somente em uma vela nova.

Mas por que você precisa disso dessa maneira, já que é mais fácil colocar uma grade de ordens pendentes no primeiro extremo? Isto é essencialmente a mesma coisa com você. A primeira condição é identificar o extremo e depois, se a tendência descer, as encomendas serão feitas após 30 pontos.

A sinalização é necessária para funcionar imediatamente após ser atirada na carta. Se não for necessário, então retire a bandeirada.

 
Valeriy Yastremskiy:

Melhor ainda, você terá o temporizador esgotando as sessões. Mas somente em uma vela nova.

E por que você faria isso, porque é mais fácil colocar uma grade de ordens pendentes do primeiro extremo? Isto é essencialmente a mesma coisa com você. A primeira condição é identificar o extremo e depois, se a tendência descer, as encomendas serão feitas após 30 pontos.

A sinalização é necessária para funcionar imediatamente após ser atirada na carta. Se não for necessário, então retire a bandeirada.

Meu pedido abre 30 pips para cima a partir da baixa local, ou seja, BID menos MÍNIMO >= 30 pips.
Obrigado por sua participação. Agora vou começar a mergulhar em suas dicas....

 
Valeriy Yastremskiy:

Melhor ainda, você terá o temporizador esgotando as sessões. Mas somente em uma vela nova.

E por que você faria isso, porque é mais fácil colocar uma grade de ordens pendentes do primeiro extremo? Isto é essencialmente a mesma coisa com você. A primeira condição é identificar o extremo e depois, se a tendência descer, as encomendas serão feitas após 30 pontos.

A sinalização é necessária para funcionar imediatamente após ser atirada na carta. Se não precisarmos dele, removeremos a bandeirada.

Havia um mínimo local. E eu defini 10 ordens pendentes a partir dele à distância de 30,32,34 ... pips do mínimo local. E então a baixa local foi atualizada antes que o preço atingisse a primeira ordem pendente, e eu tenho que definir todas as ordens pendentes mais uma vez. Do meu ponto de vista, definir e reiniciar as ordens pendentes leva muito tempo. E eu estou tentando salvá-lo.

 
Valeriy Yastremskiy:

Melhor ainda, você terá o temporizador esgotando as sessões. Mas somente em uma vela nova.

E por que você faria isso, porque é mais fácil colocar uma grade de ordens pendentes do primeiro extremo? Isto é essencialmente a mesma coisa com você. A primeira condição é identificar o extremo e depois, se a tendência descer, as encomendas serão feitas após 30 pontos.

A sinalização é necessária para funcionar imediatamente após ser atirada na carta. Se não for necessário, então retire a bandeirada.

Eu ficaria feliz se meu cronômetro estivesse açoitando. Mas, como ficou demonstrado no testador MT4, o temporizador não funciona.

 
ANDREY:

Obrigado pela ajuda. Se não estou enganado, apesar do fato de que o OnTick() vazio lida com cada tick, se usarmosTimeSeconds() dentro dele, então o OnTick() vazio não lida com cada tick, mas apenas com o início de cada vela de minuto e assim economizará o tempo de execução de todo o código.

Diga-me, se ao invés de TimeSeconds(), você escrever na condição if(Minute() != x), e no final x= Minute(), terá o mesmo efeito que TimeSeconds()?

Obrigado

      if(TimeMinute(TimeCurrent())!=x)
         x=TimeMinute(TimeCurrent();
 
Valeriy Yastremskiy:

É melhor assim,

Você pode me dizer por que precisamos de uma "FlagNewBar"?

Não é a mesma coisa?

   if(BarTime!=Time[0])
     {
      ........
      BarTime=Time[0];
     }
 

MakarFX:

if(TimeMinute(TimeCurrent())!=x)
         x=TimeMinute(TimeCurrent();


Ainda não entendo se a utilização das funções TimeSeconds() ou TimeMinute() neste caso é fundamental e obrigatória? Afinal, você pode obter o mesmo resultado que com estas funções usando uma função - Minuto( )

se(Minuto()!= x)
{

ação
x= Minuto();

}

Obrigado.

 
ANDREY:

Ainda não entendo se a utilização das funções TimeSeconds() ou TimeMinute() neste caso é fundamental e obrigatória? Afinal, você pode obter o mesmo resultado que com estas funções usando uma função - Minuto( )

se(Minuto()!= x)
{

ação
x= Minuto();

}

Obrigado.

Não se trata de uma questão de princípio. O que melhor lhe convier
 
MakarFX:

Você pode me dizer por que a "FlagNewBar" é necessária?

Não é a mesma coisa?

É um hábito da BASIC. É mais fácil de usar) Você pode fazê-lo sem ele). E se a condição for inserida em vários lugares, o registro é mais curto.

Zy. Se a lógica é ramificada e histérica, não se pode passar sem bandeiras. E é conveniente imprimi-los)
Razão: