[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 862

 
FOReignEXchange:

Você queria cinco minutos, não é mesmo?

É assim que deve funcionar. A cada 5 minutos haverá um redesenho, se você zerar os parâmetros necessários, que são usados pelo indicador.


tempo int = 1 minuto; - este é um minuto

Quanto aos carrapatos, eles não são muito regulares, mas não são críticos, não serão usados na história - este é um roteiro e um indicador para o comércio manual.

três telas, ou melhor, 4

ZS: Seu código - sim, de fato é mais útil para escrever um indicador a ser usado pela EA

 
FOReignEXchange:

Exceto que às vezes não há carrapatos por três minutos, como agora. Olhando para o gráfico GBPUSD M1, não houve ticks de 3-4 minutos. Você não pode usar o TimeCurrent() na história. Ou você não pode utilizá-lo no testador porque é a hora atual e não muda.

Com base no código acima, podemos dizer que o sinal de mensagem não será a cada 5 minutos, mas a cada 5 barras nos minutos.


data/hora HoraCorrente( )

Retorna a última hora conhecida do servidor (última hora cotada) como o número de segundos decorridos desde as 00:00 de 1 de janeiro de 1970.

Nota: Nos testes, o último tempo conhecido do servidor é simulado.

Mas ainda assim, é simulado? Sim - não será exato com uma margem de erro não insignificante, eu acho, mas o uso no teste é possível. Se eu não souber ou não entender alguma coisa, ficaria grato se você me explicasse.
 
usver:
Mas ainda assim, é simulado? Sim - não será preciso com uma margem de erro não insignificante, acho eu, mas o uso em um teste é possível. Se há algo que eu não sei ou não entendo, ficaria grato se você pudesse explicar.

Eu acho que você está errado. Espere um minuto...

Ah, eu me lembrei, TimeCurrent() não pode ser usado ao recalcular a história do gráfico atual.

Por exemplo, quando o seguinte código está atualmente anexado

                                      while(i>0)
                                      {
if (iHigh(NULL,0,i)>X)     
   {
   t=TimeCurrent();
   }
                                      i--
                                      }                                 

lembrará o tempo real atual, não a i-ésima barra onde iHigh(NULL,0,i)>X

E no testador eu não sei.

 
FOReignEXchange:

Eu acho que você está errado. Espere um minuto...

Ah, eu me lembrei, TimeCurrent() não pode ser usado ao recalcular a história do gráfico atual.

Por exemplo, quando o seguinte código está atualmente anexado

lembrará o tempo real atual, não a i-ésima barra onde iHigh(NULL,0,i)>X

E no testador eu não sei.

TimeCurrent() Retorna o último tempo conhecido do servidor (tempo de chegada da última cotação) como número de segundos, e não tem nada a ver com i-bar tanto no testador, demo e real
 
FOReignEXchange:

Eu acho que você está errado. Espere um minuto...

Ah, eu me lembrei, TimeCurrent() não pode ser usado ao recalcular a história do gráfico atual.

Por exemplo, quando o seguinte código está atualmente anexado

lembrará o tempo real atual, não a i-ésima barra onde iHigh(NULL,0,i)>X

E no testador eu não sei.


Sim, é claro. Eu estava apenas confuso com a frase que TimeCurrent() não pode ser usada na história e no testador.

O seguinte código não estará incorreto? A hora de chegada da última citação é simulada e nós a usamos.

int time;
if (time==0)
   time=iTime(NULL,1,0); // Точка отсчета
if (TimeCurrent()-time>=300) // Проверяем сколько времени прошло - равно ли 5 минутам
   {
      // Выполняем, что хотели
      ...
      ...
      ...
      time=0;
    }

Sua solução me pareceu melhor do que a descrita acima.

 
E obrigado por mim também. Como se costuma dizer, tudo brilhante é simples.
keekkenen:
 
E obrigado por mim também. Como se costuma dizer, tudo brilhante é simples.
keekkenen:
 
Acontece que tudo é genial e simples. Obrigado pelo Bloco de Notas.
keekkenen:
 
usver:

O seguinte código não estará errado?

int time;

   int start()
   {

if (time==0)  time=iTime(NULL,1,0);    // Точка отсчета

if ((TimeCurrent()-time)>=300)        // Проверяем сколько времени прошло - равно ли 5 минутам
   {
      // Выполняем, что хотели
      ...
      ...
      ...
      time=0;
    }

   }

O tempo int; deve ser ajustado acima da hora de início, caso contrário, o tempo será sempre igual a zero. E deve ser agrupado por(TimeCurrent()-time)

O resto do código parece estar bem. Não checou.

 

qual é a melhor maneira de salvar dados/variáveis importantes em caso de desligamento do terminal (falha de energia)?

- variáveis globais do terminal? para um arquivo?

- com que freqüência eles precisam ser salvos? (o último valor patrimonial e alguns bools são importantes)

Razão: