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
Bobagem.
Bobagem.
Desde que "de repente" (c) não haja nenhuma questão de desempenho limitado do sistema (não importa qual).
Hoje em dia, tenho olhado mais de perto para a OnCalculate e feito um tick no tratamento de dados. Antes foi escrito que tudo é feito para evitar o "congelamento" de indicadores escritos incorretamente, mas se realmente quisermos processar todo o fluxo de dados de carrapatos desde a chamada anterior da OnCalculate, então a um rápido movimento de preços (e rollback) devemos obter uma matriz bastante "profunda", há alguma limitação na profundidade da matriz de carrapatos?
Eu não gostaria de ouvir uma resposta, como "OnCalculate receberá um carrapato(s) acumulado(s)..., para otimizar...".
Quem já está analisando dados de carrapatos, existe algum motivo para tais preocupações?
Hoje em dia, tenho observado como a OnCalculate e tick data processing funciona. Antes foi escrito que tudo é feito para evitar o "congelamento" de indicadores escritos incorretamente, mas se realmente quisermos processar todo o fluxo de dados de carrapatos desde a chamada anterior da OnCalculate, então a um rápido movimento de preços (e rollback) devemos obter uma matriz bastante "profunda", há alguma limitação na profundidade da matriz de carrapatos?
Eu não gostaria de ouvir uma resposta, como "OnCalculate receberá um carrapato(s) acumulado(s)..., para otimizar...".
Quem já está analisando dados de carrapatos, há alguma razão para tais medos?
Em 2008-2009 Renat uma vez escreveu que não há felicidade em carrapatos, ele deu um exemplo de um especialista. As carteiras são puladas de qualquer forma. Se você precisar, obtenhahttps://www.mql5.com/ru/docs/series/copyticks em cada chamada, mas você ainda perderá o 50/50 superior ou inferior que você deseja entrar.
Só vou aparecer aqui por uma questão de publicidade. Há um mês venho tentando descobrir porque isto parou de funcionar:
Aguardando o novo lançamento na Abertura.
Resumir questões relacionadas à otimização e carregamento de dados históricos.
1. O problema do trabalho correto das funções iClose/iOpen, e neste caso o iTime, existe e eu acho que não faz sentido esperar que tudo seja perfeito. Talvez eles devam ser simplesmente retirados da MQL5 para evitar cometer os mesmos erros novamente? (tenho um problema, mas não tenho tempo para descrevê-lo, porque encontrei uma solução, outra "reviravolta")
Talvez haja uma solução, mas eu gostaria que ela fosse documentada e não outra reviravolta da comunidade MQL5. Estamos falando de como lidar com as solicitações assíncronas, que por sua vez sincronizam os bancos de dados locais, por exemplo:
A frase chave é"Após terminar a sincronização, a próxima chamada do CopyTicks() retornará todos os ticks solicitados. ", senhores, como sabem quando a sincronização está terminada?? É escrito como se antes do final da sincronização CopyTicks() retornasse por exemplo -1, mas este não é o caso. Como resultado, após algumas recargas o indicador DB sincroniza e estamos realmente recebendo todo o conjunto de dados, mas se eu não estiver recarregando o indicador não estou recebendo este conjunto de dados, porque eu não sei o resultado de terminar esta maldita sincronização.
Um exemplo marcante foram os últimos golpes, houve um movimento brusco no EURUSD, embora o indicador estivesse ligado durante todo esse tempo e meio que tornou esse período normal, mas depois que eu o tinha recarregado (alterado os parâmetros de entrada), o indicador começou a refletir informações incorretamente, respectivamente foram iniciadas buscas por erros no indicador (recompilados e recarregados várias vezes), mas nada ajudou, e então esse "milagre" aconteceu, "Quandovocê chama CopyTick() de um indicador, ele retornará imediatamente os ticks disponíveis para o símbolo, e também inicia a sincronização da base de ticks", talvez você deva criar (ou ter) uma função que possa nos dizer que no momento em que a sincronização do banco de dados local não estiver concluída, esta função facilitaria nossa tarefa e nos permitiria escrever um produto de melhor qualidade para o Mercado.
P.S.: A função SymbolInfoTick infelizmente não tem esta funcionalidade.
Infelizmente, este exemplo nem sempre funciona:
Para ser exato, funciona 1-2 vezes em cada 10 vezes.
Mas na situação descrita acima, não funcionou nem mesmo uma vez.
Novamente uma pergunta, o banco de dados é atualizado em tempo real?
Como escrevi acima, todo o período que foi problemático, o indicador funcionou, ou seja, a função CopyTicks() foi chamada regularmente, mas, como se vê, não teve efeito sobre o banco de dados local.... Isto é estranho....
Em 2008-2009, Renat escreveu certa vez que não há felicidade em carrapatos, dando o exemplo de um especialista. Os carrapatos são pulados como estão. Se necessário, obtenhahttps://www.mql5.com/ru/docs/series/copyticks em cada chamada, mas você ainda perderá o 50/50 top/trough que você quer entrar.
Resumindo questões relacionadas à otimização e ao carregamento de dados históricos.
1. O problema com o funcionamento correto das funções iClose/iOpen, e neste caso o iTime, provavelmente existe e não há razão para esperar que tudo seja perfeito. Talvez eles possam ser simplesmente removidos da MQL5 para evitar a repetição dos mesmos erros? (tenho um problema, mas não tenho tempo para descrevê-lo, porque encontrei uma solução, outra "reviravolta")
Talvez haja uma solução, mas eu gostaria que ela fosse documentada e não outra reviravolta da comunidade MQL5. Estamos falando de como lidar com as solicitações assíncronas, que por sua vez sincronizam os bancos de dados locais, por exemplo:
A frase chave é"Após terminar a sincronização, a próxima chamada do CopyTicks() retornará todos os ticks solicitados. ", senhores, como sabem quando a sincronização está terminada?? É escrito como se antes do final da sincronização CopyTicks() retornasse por exemplo -1, mas este não é o caso. Como resultado, após algumas recargas o indicador DB sincroniza e estamos realmente recebendo todo o conjunto de dados, mas se eu não estiver recarregando o indicador não estou recebendo este conjunto de dados, porque eu não sei o resultado de terminar esta maldita sincronização.
Um exemplo marcante foram os últimos golpes, houve um movimento brusco no EURUSD, embora o indicador estivesse ligado durante todo esse tempo e meio que tornou esse período normal, mas depois que eu o tinha recarregado (alterado os parâmetros de entrada), o indicador começou a refletir informações incorretamente, respectivamente foram iniciadas buscas por erros no indicador (recompilados e recarregados várias vezes), mas nada ajudou, e então esse "milagre" aconteceu, "Quandovocê chama CopyTick() de um indicador, ele retornará imediatamente os ticks disponíveis para o símbolo, e também começará a sincronizar a base de ticks", talvez você deva criar (ou ter) uma função que possa nos dizer que no momento em que a sincronização do banco de dados local não estiver concluída, esta função facilitaria nossa tarefa e nos permitiria escrever um produto final melhor para o Mercado.
P.S.: A função SymbolInfoTick infelizmente não tem esta funcionalidade.
O que a SERIES_SYNCHRONIZED retorna em tais casos?