Erros, bugs, perguntas - página 2933

 
x572intraday:

Afinal de contas, cite a referência:

Impresso no Jornal - consegui-o:

O que faço com ele agora, para onde vou? Sou uma mão má ou...?

Tem a certeza de que é suposto ser uma missão

ArraySize(Arr)=0

e não uma comparação?

ArraySize(Arr)==0
 
Vitaly Muzichenko:

Certamente deve ser uma tarefa

e não uma comparação?

Portanto, este não é o código do programa, mas o resultado da impressão no Registo do Terminal. E aqui está o próprio código:

   int c=CopyTime(_Symbol,tf,0,1,Arr);
   if(c<1)
   {
      Print("ArraySize(Arr)=",ArraySize(Arr),
            "; copied=",c,
            "; TF=",EnumToString((ENUM_TIMEFRAMES)tf)
            //"; Arr[0]=",Arr[0]
           );
      Print("Error Code = ",GetLastError());
      ResetLastError();
      return;
   }
Portanto, não fui eu que perdi o alcance da matriz, mas a longa história de sofrimento nem sempre está supostamente carregada. Sempre pensei que a história está carregada à esquerda e pode estar em falta quando não está totalmente carregada. Mas não há história suficiente no lado certo (novas barras) - isto é um disparate para mim! Além disso, tenho o ArraySetAsSeries=false, se é que isso interessa de alguma forma.
Документация по MQL5: Общие функции / Print
Документация по MQL5: Общие функции / Print
  • www.mql5.com
Print - Общие функции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
x572intraday:

Portanto, este não é o código do programa, mas o resultado da impressão no Registo do Terminal. E aqui está o próprio código:

Portanto, não fui eu que perdi o alcance da matriz, foi a longa história de sofrimento que, de alguma forma, nem sempre é suposto ser carregada. Sempre pensei que a história está carregada no lado esquerdo e pode não ser suficiente quando não está completamente carregada. Mas não há história suficiente no lado certo (novas barras) - isto é um disparate para mim! Além disso, tenho o ArraySetAsSeries=false.

Lê uma matriz vazia sem nada nela?

ArraySize(Arr)

Experimente isto

Print("ArraySize(Arr)=",Arr[0],
 
Vitaly Muzichenko:

Lê uma matriz vazia sem nada nela?

Experimente isto

Tenho a cadeia de saídaArr[0] especificamente comentada (ver acima), porque quando tento enviá-la para o Journal não chega à mensagem de erro 4401, mas acaba por emitir um erro "array out of range".

...por agora vou fumarhttps://www.mql5.com/ru/docs/series/timeseries_access, mas inchar o meu código com este código é assustador...
Документация по MQL5: Константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки компиляции
Документация по MQL5: Константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки компиляции
  • www.mql5.com
Ошибки компиляции - Коды ошибок и предупреждений - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
x572intraday:

A minha cadeia de saídaArr[0] é especialmente comentada (ver acima), porque quando tento enviá-la para o Journal não chega à mensagem de erro 4401, mas acaba com erro "array out of range".

 
Vitaly Muzichenko:

Sim, o conjunto acaba por ficar vazio, ou seja, não são copiadas novas barras para dentro dele.

 
x572intraday:

Sim, o conjunto acaba por ficar vazio, ou seja, não são copiadas novas barras para dentro dele.

Este é o caso da primeira consulta

 
Vitaly Muzichenko:

Acontece ao primeiro pedido

A loucura é quehttps://www.mql5.com/ru/docs/series/timeseries_access menciona Sleep() no artigo sobre o histórico de carregamento no código. Mas a ajuda para Sleep() diz: "A função Sleep() não pode ser chamada a partir de indicadores personalizados, porque os indicadores são executados no fio da interface e não deve abrandá-la". Acontece que preciso de carregar o histórico num indicador.

Документация по MQL5: Доступ к таймсериям и индикаторам / Организация доступа к данным
Документация по MQL5: Доступ к таймсериям и индикаторам / Организация доступа к данным
  • www.mql5.com
Организация доступа к данным - Доступ к таймсериям и индикаторам - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
x572intraday:

A loucura é quehttps://www.mql5.com/ru/docs/series/timeseries_access menciona Sleep() no artigo sobre o histórico de carregamento no código, mas a ajuda para Sleep() diz: "A função Sleep() não pode ser chamada a partir de indicadores personalizados, porque os indicadores são executados no fio da interface e não deve abrandá-la". Acontece que preciso de carregar o histórico no indicador.

Bem, faça uma saída se os dados não forem copiados

int c=CopyTime(_Symbol,tf,0,1,Arr);
if(c<1) return;

No próximo tick tudo será copiado e o código funcionará correctamente

 

Olá, estou a testar o meu robô, depois de terminar os testes vi muitos campos com requotes no Registo, o que significam estas pilhas de mensagens e o que posso acrescentar ao código para evitar que elas apareçam? Obrigado, Feliz Ano Novo!

Arquivos anexados:
1.jpg  412 kb