Retardar o alerta por vários segundos - página 3

 
GumRai:

Qual é o seu objetivo?

Por que não? Não há nada de errado em usar o Time[0] para detectar uma nova barra.

Meu código está ok. Ele quer 3 segundos após o início do bar.

Às vezes a história da wnen atualiza o Tempo[0] não vai funcionar.

https://forum.mql4.com/ru/65066/page6#1016370

(rus)

 
omissamf:
Oi pessoal, vocês são ótimos !!!
Não sei como agradecer a vocês por sua colaboração.
O código postado eevviill funciona muito bem, foi o que eu quis dizer.
O código GumRai , ao invés disso, faz repintar e dar o sinal sempre que o RSI cruza os níveis 30/70.
Eu inseri o código de trabalho de acordo com as sugestões do eevviill, esperando que ele sirva mais.

Obrigado por tudo, Massimo.


O prazer é meu.
 
Olá eevviill, apenas uma curiosidade: o que você quis dizer com isso?
P.S. Não usar o Tempo [0], usar Barras?
É possível mudar o coodice que postou GumRai?
isso é apenas minha curiosidade, porque estou tentando entender e estudar a linguagem.
Obrigado, Max.
 
eevviill: P.S. Não usar Tempo[0], usar Barras
Não usar barras, pode mudar em uma atualização (novo histórico baixado.) Não usar volume (você pode perder carrapatos) Usar sempre o tempo.
 
omissamf:
Olá eevviill, apenas uma curiosidade: o que você quis dizer com isso:
P.S. Não usar o Tempo [0], usar Barras?
É possível mudar o coodice que postou GumRai?
isso é apenas minha curiosidade, porque estou tentando entender e estudar a linguagem.
Obrigado, Max.

Em meu código de barras. Você pode mastigá-lo.

Para detectar novas barras, use somente Barras.

 
WHRoeder:
Não use barras, pode mudar em uma atualização (novo histórico baixado.) Não use volume (você pode perder carrapatos) Use sempre o tempo.

E? Os bares permanecem os mesmos?

Você está errado.

 
omissamf:
O código GumRai , ao invés disso, faz a repintura e o sinal sempre que o RSI cruza os níveis 30/70.


Você está se referindo a este exemplo que eu afixei?

   static datetime BarStart=0;
   static bool check=false;
   if(BarStart!=Time[0])
     {
      BarStart=Time[0];
      check=true;
     }
   if(check && TimeCurrent()>=Time[0]+3)
     {
      check=false;
      //Check Condition
     }

Eu não acredito que isto causará qualquer repintura ou sinais adicionais

Deve ser o seu código. Possivelmente você colocou o código para verificar as condições e alertar fora do

   if(check && TimeCurrent()>=Time[0]+3)
     {
      check=false;
      //Check Condition
     }

bloco.

 
eevviill:

E? Os bares permanecem os mesmos?

Você está errado.

Se uma nova história for recebida, as barras mudam. Entretanto, isso não indica à EA que uma nova barra foi formada.

 
WHRoeder:

Se um novo histórico for recebido, as barras mudam. Entretanto, isso não indica à EA que uma nova barra foi formada.



Se o histórico do gráfico for atualizado e o número de barras aumentar, então as barras não mudarão????

 

Eu editei os últimos 2 posts. Por favor, parem com as brigas, isso não acontece nada.

Continuarei usando o Tempo[0] para detectar uma nova barra, pois nunca tive nenhum problema com ela.

Para ser honesto, não sei o que acontece quando as barras atingem o máximo da história, por isso não usarei barras. Se eevviil prefere usar Barras, a decisão é dele. WHRoeder é um contribuinte extremamente experiente e valioso para este fórum e qualquer coisa que ele diga não deve ser descartada de ânimo leve.