Erros, bugs, perguntas - página 132

 

Dmitriy2:

Todas as verificações têm de ser incorporadas no testador, e se houver um pedido de alguns dados e estes estiverem em falta, então o erro aparecerá. Caso contrário, o testador tem barras, mas por alguma razão não pode calcular os dados e mantém-se em silêncio...


O testador não tem nada a ver com a emulação de um terminal real. A mesma situação (teoricamente) pode ocorrer no terminal.

E que erro deseja obter?

Actualmente, a função BarsCalculated retorna -1 se os dados ainda não tiverem tido tempo de ser calculados. A própria função CopyBuffer também retornará -1, se não houver dados calculados. Tudo isto é descrito na ajuda.

Документация по MQL5: Доступ к таймсериям и индикаторам / BarsCalculated
Документация по MQL5: Доступ к таймсериям и индикаторам / BarsCalculated
  • www.mql5.com
Доступ к таймсериям и индикаторам / BarsCalculated - Документация по MQL5
 
Para onde foi o botão para abrir o gráfico no provador?
Документация по MQL5: Операции с графиками / ChartOpen
Документация по MQL5: Операции с графиками / ChartOpen
  • www.mql5.com
Операции с графиками / ChartOpen - Документация по MQL5
 
vasya_vasya:
Para onde foi o botão para abrir o gráfico no testador?
O gráfico abre-se agora automaticamente assim que o teste estiver concluído.
 
vasya_vasya:
Para onde foi o botão para abrir o gráfico no provador?
O gráfico deve abrir por si só no final dos testes, depois de adicionar o modo visual abrirá também no início dos testes (em modo visual).
 
alexvd:

O testador não tem nada a ver com isto, está apenas a emular um verdadeiro terminal. A mesma situação (teoricamente) poderia ter ocorrido apenas no terminal.

E que erro deseja obter?

Actualmente, a função BarsCalculated retorna -1, se os dados ainda não tiverem tido tempo de ser calculados. A própria função CopyBuffer também retornará -1, se não houver dados calculados. Tudo isto é descrito na ajuda.

Não... a culpa é do testador...

Retirei o BarsCalculated novamente, deixei a função de calcular o parabólico tal como está, sem alterar nada.

apenas acrescentou a condição Parabólica(PERIOD_CURRENT,0.02,0.2,i+1)<=0 ao código

if(iLow(PERIOD_CURRENT,i+1,1)<Параболик(PERIOD_CURRENT,0.02,0.2,i+1) || Параболик(PERIOD_CURRENT,0.02,0.2,i+1)<=0)
    break;
            

Assim, ao exibir valores no registo, apenas uma vez (a primeira vez) a função parabólica, ou seja, CopyBuffer, retorna 0, e não -1, como deveria ser no caso de um erro (embora isto não deva ser, todos os dados são todos descarregados, sem grandes matrizes multidimensionais, nenhum erro não deveria ser!) E assim acontece SOMENTE no teste e SOMENTE UMA VEZ! A partir daqui, tudo funciona bem.

No código principal não me interessa que funções retornam, no final, quando se trata de pedido de troca, os valores recebidos para pedido são verificados por função universal, e se tudo estiver bem, enviamos pedido, se não - esperamos até que tudo esteja bem...

 
A propósito, o que acontece no campeonato às 12 horas da noite... Reabertura ou taxa de troca?
 
Rosh:
Agora o gráfico abre-se automaticamente assim que os testes são concluídos.

Há casos em que o gráfico não abre após o fim dos testes, é gerado um relatório normal, mas quando se vai para os ofícios, constata-se que não há ofícios. E o estatuto do agente permanece "ocupado". A que é que está relacionado?

Mais uma coisa, quando volto a executar o EA, depois de terminar o teste, o gráfico abre-se, as trocas são abertas, tudo está bem, mas novamente há momentos em que os objectos são adicionados ao gráfico depois do primeiro teste "falhado".

 
Kos:

Há casos em que o gráfico não abre após o fim dos testes, é gerado um relatório normal, mas quando se vai para os ofícios, constata-se que não há ofícios. E o estatuto do agente permanece "ocupado". A que é que está relacionado?

Mais uma coisa, quando a EA é repetida após a conclusão dos testes, o gráfico abre, as trocas estão disponíveis, tudo é normal, mas novamente há momentos em que os objectos são adicionados ao gráfico após o primeiro teste "falhado".

É melhor escrever sobre tais casos ao Service Desk. A descrição detalhada ajuda a reproduzir e eliminar o erro.
Общайтесь с разработчиками через Сервисдеск!
Общайтесь с разработчиками через Сервисдеск!
  • www.mql5.com
Ваше сообщение сразу станет доступно нашим отделам тестирования, технической поддержки и разработчикам торговой платформы.
 
Rosh:
É melhor reportar tais casos ao Service Desk. Uma descrição detalhada ajuda a reproduzir e rectificar o erro.
OK
 
maryan.dirtyn:
A propósito, o que acontece no campeonato às 12 horas da noite... Reabertura ou troca de acumulação?
Tanto quanto sei, como na demonstração ou no provador.
Razão: