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

 
PolarSeaman:

É a hora atual que subtrai o tempo de abertura do bar?

//+------------------------------------------------------------------+
//| Количество секунд, остающихся до закрытия свечи                  |
//+------------------------------------------------------------------+
long SecondsToCandleClose(const string symbol_name,const ENUM_TIMEFRAMES timeframe)
  {
   datetime array[];
   return(CopyTime(symbol_name,timeframe,0,1,array)==1 ? PeriodSeconds(timeframe)+array[0]-TimeCurrent() : 0);
  }
//+------------------------------------------------------------------+
 
PolarSeaman:

a OnCalculate() pode ser inserida no OnTimer()?

Não sei como sincronizara hora local eatual, não consigo encontrá-la na ajuda.

Estes são dois manipuladores de eventos diferentes. OnCalculate() é acionado por um novo tick, OnTimer() é acionado pelo tempo que é definido quando você inicia o timer.

 
PolarSeaman:

como, não fazer? apenas neste minuto você tem que verificar, e dormir por 24 horas)

Então você não pode passar sem um temporizador.

 
Artyom Trishkin:

Obrigado. agora precisamos fazer com que funcione, como quem, na ausência de um tique.

        if(SecondsToCandleClose(Symbol(),0)<=60)
              {
               if(open[i]>close[i] && high[i]-low[i]>=100*Point)
                 {
                  BufferUP[i]=low[i]-distance*Point;
                 }
              }
 
PolarSeaman:

a OnCalculate() pode ser inserida no OnTimer()?

Não sei como sincronizara hora local eatual, não consigo encontrá-la em ajuda.

No momento de um tick, contamos a diferença TimeCurrent()-TimeLocal()
- esta é nossa compensação em relação ao corretor; se esta compensação mudar mais tarde, tudo deve ser recalculado
- no início ou aparência da barra D1, recalcular todos os horários necessários, até a hora local
- esperamos pelo tempo que "contamos" no temporizador, ao mesmo tempo verificamos a dessincronização, desconectamos com o corretor, recolocamos as setas locais.

 
Ihor Herasko:

Estes são dois manipuladores de eventos diferentes. OnCalculate() é acionado por um novo tick, OnTimer() é acionado pelo tempo que é definido quando o timer é iniciado.

Obrigado, entendo. O indicador pode funcionar no OnTimer() ?

 
PolarSeaman:

Obrigado. Agora precisamos fazer com que funcione na ausência de um carrapato.

O código deve ser inserido no OnTimer(). Mas, mais uma vez, não pode ser usado na história. Portanto, coloque 0 em vez de i imediatamente.

 
PolarSeaman:

Obrigado, estou vendo. O indicador pode funcionar no OnTimer() ?

O evento OnTimer() funciona no indicador. Mas você não deve colocar o código inteiro no OnTimer(). Deve haver apenas a parte responsável por rastrear o tempo restante até o final da vela. Tudo o resto deve funcionar na OnCalculate().

 
Taras Slobodyanik:

no momento em que o tique chegar...

Bem... E se o carrapato não vier? É preciso "começar" sem o carrapato.

 
Ihor Herasko:

Mas, mais uma vez, não se pode usá-lo em uma história.

Desculpe, não entendo porque você não pode.