오류, 버그, 질문 - 페이지 2933

 
x572intraday :

도움말에서 인용한 오류를 잡았습니다.

잡지에 인쇄됨 - 수신:

이제 그녀와 무엇을해야합니까? 어디로 가야합니까? 제가 손이 비뚤어진건지...?

반드시 과제가 있어야 합니다

 ArraySize (Arr)= 0

비교 아님?

 ArraySize (Arr) == 0
 
Vitaly Muzichenko :

반드시 과제가 있어야 합니다

비교 아님?

따라서 이것은 프로그램의 코드가 아니라 터미널 로그 에 Print 'a의 결과입니다 . 다음은 코드 자체입니다.

   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 ;
   }
즉, 배열의 범위를 놓치지는 않았지만, 어떤 이유에서인지 항상 고뇌의 이야기가로드되지는 않는다고합니다. 항상 히스토리가 왼쪽에 로드되어 있고 완전히 로드되지 않으면 충분하지 않을 수 있다고 생각했습니다. 그러나 오른쪽(새 막대)에 히스토리가 충분하지 않다는 것은 저에게는 말도 안되는 소리입니다! 특히 ArraySetAsSeries=false가 있기 때문에 그것이 중요하다면.
Документация по MQL5: Общие функции / Print
Документация по MQL5: Общие функции / Print
  • www.mql5.com
Print - Общие функции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
x572intraday :

따라서 이것은 프로그램의 코드가 아니라 터미널 로그 에 Print 'a의 결과입니다 . 다음은 코드 자체입니다.

즉, 배열의 범위를 놓치지는 않았지만, 어떤 이유에서인지 항상 고뇌의 이야기가로드되지는 않는다고합니다. 항상 히스토리가 왼쪽에 로드되어 있고 완전히 로드되지 않으면 충분하지 않을 수 있다고 생각했습니다. 그러나 오른쪽(새 막대)에 히스토리가 충분하지 않다는 것은 저에게는 말도 안되는 소리입니다! 또한 ArraySetAsSeries=false가 있습니다.

아무 것도 없는 빈 배열을 읽습니까?

 ArraySize ( Arr )

이렇게 시도

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

아무 것도 없는 빈 배열을 읽습니까?

이렇게 시도

Arr[0] 출력 라인을 특별히 주석 처리했습니다(위 참조). 저널에 출력하려고 하면 4401 오류 메시지 에 도달하지 않지만 모든 것이 "array out of range" 오류로 끝나기 때문입니다.

...내가 담배를 피우는 동안 https://www.mql5.com/en/docs/series/timeseries_access 하지만 이 코드로 코드를 부풀리는 것은 끔찍합니다...
Документация по MQL5: Константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки компиляции
Документация по MQL5: Константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки компиляции
  • www.mql5.com
Ошибки компиляции - Коды ошибок и предупреждений - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
x572intraday :

Arr[0] 출력 라인을 특별히 주석 처리했습니다(위 참조). 저널에 출력하려고 하면 4401 오류 메시지 에 도달하지 않지만 모든 것이 "array out of range" 오류로 끝나기 때문입니다.

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

오류, 버그, 질문

비탈리 무지첸코 , 2020.12.31 13:06

아무것도 없는 빈 배열을 읽습니까?

 ArraySize ( Arr )

 
Vitaly Muzichenko :

예, 배열이 비어 있습니다. 즉, 새 막대 가 복사되지 않습니다.

 
x572intraday :

예, 배열이 비어 있습니다. 즉, 새 막대 가 복사되지 않습니다.

이것은 첫 번째 요청에서 발생합니다.

 
Vitaly Muzichenko :

이것은 첫 번째 요청에서 발생합니다.

미친 것은 https://www.mql5.com/ru/docs/series/timeseries_access 에 따르면 코드의 로딩 기록에 대한 기사에 Sleep()이 언급되어 있고 Sleep()에 대한 도움말은 다음과 같이 말합니다. () 함수는 사용자 지정 표시기에서 호출할 수 없습니다. 표시기는 인터페이스 스레드에서 실행되고 속도를 늦춰서는 안 되기 때문입니다." 그리고 지표에 기록을 로드해야 하는 것으로 나타났습니다.

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

미친 것은 https://www.mql5.com/ru/docs/series/timeseries_access 에 따르면 코드의 로딩 기록에 대한 기사에 Sleep()이 언급되어 있고 Sleep()에 대한 도움말은 다음과 같이 말합니다. () 함수는 사용자 지정 표시기에서 호출할 수 없습니다. 표시기는 인터페이스 스레드에서 실행되고 속도를 늦춰서는 안 되기 때문입니다." 그리고 지표에 기록을 로드해야 하는 것으로 나타났습니다.

글쎄, 데이터가 복사되지 않으면 종료

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

두 번째 틱으로 모든 것이 복사되고 코드가 올바르게 작동합니다.

 

안녕하세요, 저는 로봇을 테스트 하고 있습니다. 테스트 후 저널에서 따옴표가 있는 많은 필드를 보았습니다. 이 메시지 팩은 무엇을 의미하며 표시되지 않도록 코드에 무엇을 추가할 수 있습니까? 감사합니다 새해 복 많이 받으세요!

파일:
1.jpg  412 kb