Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
A maneira mais fácil:
data/hora estática tlastbar=0;
datetime tnewbar=iTime(NULL,PERIOD_CURRENT,0);
bool isewbar=tnewbar!=tlastbar;
tlastbar=tnewbar=tnewbar;
Aqui está minha versão final.
Na verdade, estou um pouco preocupado porque é tão fácil.
Alain: Seria bom se você emitisse a bênção.
// -----------------------------------------------------------------------
if(MathMod(TimeCurrent(),PeriodSeconds()) < currPeriodProgress) iNewBar = true;bool NewBar(void)
{
bool iNewBar = false;
static double currPeriodProgress = 0;
currPeriodProgress = MathMod(TimeCurrent(),PeriodSeconds());
return(iNewBar);
}
// ------------------------------------------------------------------------
void OnTick()
{
if(NewBar()) PlaySound("tick.wav");
Saudações de Colônia
Willbur
O problema é que ele só pode ser usado da OnTick(). De outros manipuladores de eventos, você nunca tem certeza se o TimeCurrent() está relacionado ao símbolo que você deseja.
E eu sugiro que você nunca faça o mesmo cálculo duas vezes:
Tanto quanto sei, o tópico é para mql5. Seu código é apenas mql4.
Eu usei estes na MQL4
O que você quer dizer com isso? É apenas um corte e pode ser incluído onde quer que se queira, por exemplo, dentro de sua função NewBar(). E imo é a solução mais simples e mais rápida e confiável. Incluí isto em um derivado da classe CSymbolInfo para todos os períodos de tempo separadamente e funciona perfeitamente.
Não há função iTime() em mql5.
MT5, realmente? Mas a MQL5 não é apenas MT5, isto é, pelo menos como eu sempre entendi, pois a MT4 usa o compilador MQL5. Mas na verdade não sabia disso, eu uso principalmente o MT4. De qualquer forma, obrigado pela informação sobre a restrição.
A MQL4 iTime() é fácil e compreensível para os comerciantes, assim como a maioria das outras funções da MQL4.
A MQL5 é diferente, você precisa de um diploma em ciência da computação para codificar isso, e é isso que coloca a maioria das pessoas no chão.
Eis um exemplo que encontrei na semana passada, quando quis começar e converter meus EA MT4 para MT5 e a solução que encontrei.
Não, mql4 é para MT4, mql5 é para MT5. Eles têm um subconjunto de funções em comum, mas isso são 2 idiomas diferentes.
O idioma é o mesmo, mas eles têm um pequeno subconjunto de funções não em comum ;) De qualquer forma, você provavelmente está certo com esta definição. A MQ fez muito para gerar confusão neste ponto.
MT5, realmente? Mas a MQL5 não é apenas MT5, isto é, pelo menos como eu sempre entendi, pois a MT4 usa o compilador MQL5. Mas na verdade não sabia disso, eu uso principalmente o MT4. De qualquer forma, obrigado pela informação sobre a restrição.