Erros, bugs, perguntas - página 2938
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
Sim, lembro-me perfeitamente: fazer uma falsa tentativa de pré-carregamento da história no OnInit. Não funcionou ali ou na OnCalculate, mesmo em loop com uma centena de repetições. Não sei como funciona realmente, mas externamente não houve qualquer carga histórica prometida (embora com um atraso), o resultado permaneceu insatisfatório até ao fim.
Além disso, houve outros casos em que a resposta foi repetidamente devolvida:
mas no final não houve continuação do indicador, houve silêncio na resposta.
Não há necessidade de fazer ciclos com repetições.
Se for um indicador, fazer um único pedido para o período de símbolo certo na OnCalculate. Se falhou, então devolva(0)
Tirar o tempo de recepção do símbolo requerido, normalizar este tempo até ao início do período requerido, pedir 1 última barra do período do símbolo requerido e verificar o seu tempo. Em seguida, pedir o estado do calendário da história
Dependendo da lentidão do seu computador e da carga de recursos, mais de uma centena de OnCalculate pode passar.
Esse código a que se refere é muito antigo. Mas é bom para a ilustração. Mas não é adequado para indicadores, porque os pedidos de histórico dos indicadores são realizados sem qualquer espera (que está claramente escrito na documentação) e Dormir nos indicadores é inútil.
O servidor dá o histórico mesmo aos fins-de-semana.
Controlar a construção de barras até ao momento do último tique do símbolo apropriado
Se for um indicador, fazer um pedido único para o período de caracteres requerido na OnCalculate. Se falhou, então regressar(0)
O retorno do poço(falso) em caso de falha é um clássico. É o que eu faço. Tudo estaria bem, mas o problema é que os meus cálculos adicionais estão ligados ao carregamento bem sucedido da história (e esta lógica não pode mudar), e em caso de falha e retorno da função de cálculos, eles simplesmente não acontecem e as construções gráficas adicionais não obtêm as coordenadas necessárias, tudo falha. Como evitar isto - ainda não pensaram e não esperam mudar algo também. Até agora tenho o seguinte: ou todo o histórico é carregado e todas as séries cronológicas para todos os períodos de tempo são construídas e o indicador funciona quase imediatamente sem faltar nenhum cálculo devido ao retorno (falso), ou falta parte do histórico, e o códigovolta a uma função de nível superior comretorno e tenta solicitar o histórico em falta num loop infinito, o que não leva a nada. Recusei simplesmente a terceira variante - sem retorno - e alguns cálculos falham, o que torna o desenho dos gráficos incompleto.
Ainda sentado no tanque um pouco, ainda estou perplexo... É real organizar o MQL-logic do indicador para trabalhar apenas com a história local, sem a necessidade de descarregar o histórico em falta e de sofrer atrasos por causa disso? Ou qualquer função de cópia... ... inevitavelmente ter de contactar o servidor para descarregar até aquela parte da história, da qual não preciso para processar? Em termos simples, os indicadores padrão são instantaneamente desenhados no histórico existente no meu PC, sem qualquer descarregamento (pesquisei os indicadores na pasta Exemplos e lá eles usam apenas CopyBuffer(), e não em todos eles)... Ou o recomeço está escondido dos olhos? Qual é o objectivo de retomar?
Obrigado. Pensarei nas vossas recomendações - provavelmente, elas serão úteis para mim.
Estive fora do computador durante algumas horas. Durante este tempo, ocorreu uma situação anormal e o robô começou a coser muitas impressões digitais. Como resultado, o disco está completamente entupido. Isto perturba o trabalho dos terminais, porque eles não podem despejar o seu histórico de preços no disco.
Temos de evitar esse entupimento do disco. Uma das alternativas é desactivar a escrita para pasta. Isto é, viver sempre sem registos em disco. Outra opção é matar ficheiros de registo quando não há espaço livre suficiente.
Alguém já resolveu este problema?
Se for um indicador, fazer um pedido único para o período de caracteres requerido na OnCalculate. Se falhar, então devolva(0)
E se quiser correr o indicador ao fim-de-semana?
Apenas chamada forçada da OnCalculate a partir do temporizador (com todas as muletas sob a forma de matrizes de cópia para passar por referência)?
É realista organizar o MQL-logic do indicador para trabalhar apenas com a história local, sem necessidade de descarregar o histórico em falta e tolerar os atrasos associados? Ou qualquer função de cópia... ... inevitavelmente ter de aceder ao servidor para descarregar mesmo aquela parte da história, da qual não preciso para processar?
Pode fazer a sua própria cache(escrever em ficheiros).
Quando isto me foi sugerido, eu, claro, torci o meu templo, mas é realmente melhor do que esperar que a MQ mude a sua abordagem ao manuseamento de séries temporais.
Estive fora do computador durante algumas horas. Durante este tempo, ocorreu uma situação anormal e o robô começou a coser muitas impressões digitais. Como resultado, o disco está completamente entupido. Isto perturba o trabalho dos terminais, porque eles não podem despejar o seu histórico de preços no disco.
Temos de evitar esse entupimento do disco. Uma das alternativas é proibir a escrita para a pasta. Isto é, viver sempre sem registos em disco. Outra opção é matar ficheiros de registo quando não há espaço livre suficiente.
Alguém já resolveu este problema?
Por uma questão de interesse, atirei-me ao chão com o meu maxilar: 183 Gb! Isso é quase 4/5 do meu SSD. As imagens da máquina virtual levam menos tempo. Pelo menos terei algo para ler na minha velhice...
Só por diversão, corri para verificar na minha casa e bati no chão com o meu maxilar: 183GB! Isso é quase 4/5 do meu SSD. As imagens da máquina virtual levam menos tempo. Pelo menos tenho algo para ler na minha velhice...
A impressão e o alerta são funções potencialmente perigosas.
Price=0.7235200000000001
Porque o faria? É um erro ou devemos ajustar a saída de uma forma unificada? Bem, digamos, vou penteá-lo com PrintFormat ou fprint, mas em princípio não é uma representação incorrecta do número?