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

 
Interesting :
배열의 각 요소를 별도로 번역해야 할 것 같습니다.

나는 도움이 될 것이고 불평하지 않을 것입니다. 명확히 하기 위해 CharArrayToString 함수를 CP_UTF16으로 번역을 시도했지만 지원하지 않는 것 같습니다. 코드 페이지를 변경하시겠습니까?

개발자에게 질문 - 표준 상수에 없는 페이지는 수동으로 추가할 수 있다고 도움말에 나와 있습니다. 모두 지원되나요, 안되나요?

 
TheXpert :

나는 도움이 될 것이고 불평하지 않을 것입니다. CP_UTF16에서 CharArrayToString 함수 로 번역을 시도했습니까? 하지만 지원되지 않는 것 같습니다. 코드 페이지를 변경하시겠습니까?

개발자에게 질문 - 표준 상수에 없는 페이지는 수동으로 추가할 수 있다고 도움말에 나와 있습니다. 모두 지원되나요, 안되나요?

질문을 이해하지 못했습니다. CP_UTF16에 대한 설명서를 올바르게 이해했다면 필요한 숫자 코드를 지정해야 합니다(어떤 코드인지 알아내기 위해 남아 있음).

요컨대, 이것은 개발자에게 가장 가능성이 높습니다.

 
아직 답변을 받고 싶은 질문( https://www.mql5.com/ru/forum/1111/page455#comment_80246 )에 덧붙여 상황을 설명하겠습니다. 다중 통화 칠면조가 있습니다. MetaQuotes 및 Alpari 데모에서 테스트 중입니다. MetaQuotes의 Alpari에서 작동합니다. 다른 기호, 특히 오류 4806 또는 0개의 계산된 막대에 대해 BarsCalculated에서 오류가 반환되는 경우가 종종 있습니다. Pliz, 어디에서 더 자세히 읽을 수 있는지, 4806의 원인은 무엇이며 해결 방법을 알려주세요. 데이터를 동기화하기 위해 https://www.mql5.com/ru/docs/series/timeseries_access 페이지의 CheckLoadHistory 함수인 메타쿼터 코드를 사용합니다. BarsCalculated의 오류는 이 함수가 0이 된 후에 발생합니다(즉, 계산을 위한 데이터가 제자리에 있는 것처럼 보임). 그녀는 전혀 신뢰할 수 있습니까 아니면 다른 것이 필요합니까? 만일의 경우를 대비하여 칠면조는 계산에 표준 차량을 사용하며 BarsCalculated를 호출하여 준비 상태를 확인한다는 점을 분명히 하겠습니다.
 
marketeer :
아직 답변을 받고 싶은 질문( https://www.mql5.com/ru/forum/1111/page455#comment_80246 )에 덧붙여 상황을 설명하겠습니다. 다중 통화 칠면조가 있습니다. MetaQuotes 및 Alpari 데모에서 테스트 중입니다. MetaQuotes의 Alpari에서 작동합니다. 다른 기호, 특히 오류 4806 또는 0개의 계산된 막대에 대해 BarsCalculated에서 오류가 반환되는 경우가 종종 있습니다. Pliz, 어디에서 더 자세히 읽을 수 있는지, 4806의 원인은 무엇이며 해결 방법을 알려주세요. 데이터를 동기화하기 위해 https://www.mql5.com/en/docs/series/timeseries_access 페이지의 CheckLoadHistory 함수인 메타쿼터 코드를 사용합니다. BarsCalculated의 오류는 이 함수가 0이 된 후에 발생합니다(즉, 계산을 위한 데이터가 제자리에 있는 것처럼 보임). 그녀는 전혀 신뢰할 수 있습니까 아니면 다른 것이 필요합니까? 만일의 경우를 대비하여 칠면조는 계산에 표준 차량을 사용하며 BarsCalculated를 호출하여 준비 상태를 확인한다는 점을 분명히 하겠습니다.

답변이 자신 으로부터 온 것이 아닌 경우 데이터는 xs 시간 후에 동기화됩니다. 동기화 당시 BarsCalculate=0으로 설정되었습니다.
 
Swan :
답변이 자신 으로부터 온 것이 아닌 경우 데이터는 xs 시간 후에 동기화됩니다. 동기화 당시 BarsCalculate=0으로 설정되었습니다.

정보에 감사드립니다. 비록 이 동작이 만족스럽지 않다고 "스스로" 말할 수는 있지만, 이는 소프트웨어 성능에 상당한 불확실성을 부과합니다. 예를 들어, 한 시간 이상 전에 나는 몇 가지 새로운 시세 표시기를 표시한 칠면조를 걸었습니다. 시장 검토 중입니다. 위에 표시된 기능으로 데이터에 액세스하면 다운로드 및 계산이 시작되어야 합니다. 이미 오래전에 완료되었지만 아직 완료되지 않았습니다. 최소한 시스템 로그에서 다운로드 및 기타 "지하" 작업에 대해 터미널의 모든 재채기를 확인하는 것이 바람직합니다. 그렇지 않으면 "셧다운" 이유가 전혀 명확하지 않습니다. 오류 4806이 발생하고 시스템에서 터미널이 동기화되었다고 말합니다. 주말에 진드기가 없는 것을 감안해 설정을 여러 번 조정했지만 여전히 데이터가 없습니다.

예를 들어, 링크에서 위의 MetaQuotes 새로 고침 기능이 정기적으로 로드 실패를 반환하는 RTS-9.11을 사용했습니다.

 
질문 하나 더. 쿼드러플에서는 다차원 배열 func(int array[][])을 함수 인수로 작성할 수 있었습니다. 다섯 가지에서 컴파일러는 잘못된 인덱스 값 오류를 생성합니다. 이를 위해서는 차원을 지정해야 합니다. 나는 func(int &array[][3])를 썼습니다. 그래서 오류는 없지만 이것은 해결책이 아닙니다. 그렇다면 함수를 작성하는 방법은 무엇입니까? 그 의미는 정의상 다른 데이터, 다른 배열에 적용할 수 있는 추상적인 코드 조각을 강조 표시하는 것입니다.
 
marketeer :
질문 하나 더. 쿼드러플에서는 다차원 배열 func(int array[][])을 함수 인수로 작성할 수 있었습니다. 다섯 가지에서 컴파일러는 잘못된 인덱스 값 오류를 생성합니다. 이를 위해서는 차원을 지정해야 합니다. 나는 func(int &array[][3])를 썼습니다. 그래서 오류는 없지만 이것은 해결책이 아닙니다. 그렇다면 함수를 작성하는 방법은 무엇입니까? 그 의미는 정의상 다른 데이터, 다른 배열에 적용할 수 있는 추상적인 코드 조각을 강조 표시하는 것입니다.

나는 이것을 좋아한다:

 class cArray2
  {
   double             _Data[];
   int                _ColumnsCount;
   int                _RowsCount;
   ...
   ...
  }

이 클래스의 객체를 인수로 전달합니다.

다시 말해서, 저는 1차원 배열을 모든 차원의 데이터 저장소로 사용하는 반면 "다차원" 인덱스는 "1차원" 인덱스로 재계산합니다(반대의 경우도 마찬가지).

꽤 수용 가능한 속도로 작동합니다.

메타 인용문을 이해할 수 있습니다. "하나의 차원만 정의되지 않음"이라는 제한을 도입하지 않으면 컴파일 단계에서 배열 요소에 대한 신속한 액세스 코드를 생성할 수 없습니다.

 
marketeer :

정보에 감사드립니다. 비록 이 동작이 만족스럽지 않다고 "스스로" 말할 수는 있지만, 이는 소프트웨어 성능에 상당한 불확실성을 부과합니다. 예를 들어, 한 시간 이상 전에 나는 몇 가지 새로운 시세 표시기를 표시한 칠면조를 걸었습니다. 시장 검토 중입니다. 위에 표시된 기능으로 데이터에 액세스하면 다운로드 및 계산이 시작되어야 합니다. 이미 오래전에 완료되었지만 아직 완료되지 않았습니다. 최소한 시스템 로그에서 다운로드 및 기타 "지하" 작업에 대해 터미널의 모든 재채기를 확인하는 것이 바람직합니다. 그렇지 않으면 "셧다운" 이유가 전혀 명확하지 않습니다. 오류 4806이 발생하고 시스템에서 터미널이 동기화되었다고 말합니다. 주말에 진드기가 없는 것을 감안해 설정을 여러 번 조정했지만 여전히 데이터가 없습니다.

예를 들어, 링크에서 위의 MetaQuotes 새로 고침 기능이 정기적으로 로드 실패를 반환하는 RTS-9.11을 사용했습니다.

참조:

표시기 및 시계열 데이터에 대한 액세스는 요청된 데이터가 준비되었다는 사실에 관계없이 수행됩니다(소위 비동기 액세스 ). 이것은 사용자 지정 표시기를 계산하는 데 중요하므로 요청된 데이터가 누락된 경우 Copy...() 유형의 함수는 즉시 오류를 반환합니다 .

주말에 진드기가 전혀없고 표시기가 시작되고 즉시 오류가 발생 했습니다.

imho 지금까지 하나의 솔루션을 보고 필요한 기록을 로드하는 추가 전문가를 시작합니다..

저것들. 전문가가 데이터를 사용할 수 있는 경우 지표에도 사용할 수 있습니다. 확인하지 않았으며 솔루션이 비뚤어진 것처럼 보입니다.


내 질문을 반복하겠습니다.

도움말:

표시기는 인터페이스 스레드에서 실행되고 속도를 늦추지 않아야 하므로 Sleep() 함수는 사용자 정의 표시기 에서 호출할 수 없습니다.

여전히, 절대적으로, 절대적으로 불가능하거나, 정말로 원한다면 할 수 있지만 조심스럽게? :)


표시기에서 다른 기호의 데이터에 액세스하는 데 문제가 있습니다.

틱이 없는 경우)
저것들. 주말에는 표시기가 자체 TF가 아닌 데이터를 수신할 수 없으며 어떤 식으로든 해당 기호가 아닌 데이터를 수신할 수 없습니다.
 
Swan :
저것들. 주말에는 표시기가 자체 TF가 아닌 데이터를 수신할 수 없으며 어떤 식으로든 해당 기호가 아닌 데이터를 수신할 수 없습니다.
제 생각에는 이것들이 모두 버그입니다. 틱 - 틱, 그리고 틱이 없을 때 (터미널)이 데이터를 로드하고 칠면조를 계산하는 것을 막는 것은 없습니다. 더 흥미로운 것은 다른 데모 서버에서 동일한 코드가 다르게 작동한다는 것입니다. 예를 들어 Alpari에서 나는 금과 은을 모두 얻었고 칠면조가 계산되었습니다. 그래서 문제가 더 넓어진 것 같다.
 
MetaDriver :

메타 인용문을 이해할 수 있습니다. "하나의 차원만 정의되지 않음"이라는 제한을 도입하지 않으면 컴파일 단계에서 배열 요소 에 대한 신속한 액세스 코드를 생성할 수 없습니다.

글쎄, 나는 그것을 이해할 수 없다 ;-). 나는 다섯 가지가 (특히 이전 API 기능에 대한 구문 및 지원과 관련하여) 가능한 한 네 가지와 호환되어야 한다는 생각을 오랫동안 표현해 왔으며, 물론 빠른 생성과 같은 새로운 기능을 추가했습니다. 그러나 이것은 새로운 구문 구조(제한)에 대해 수행될 수 있습니다. 예를 들어 다음 배열 매개변수를 사용하여: 속도를 최적화하려는 사람은 차원을 표시하고 이전 코드를 문제 없이 빠르게 이식하려는 사람은 그대로 둡니다. 코드가 더 느리게 나온다는 사실과 무화과입니다. 속도와 편의성 사이에 타협이 있을 수 있습니다. 그렇지 않으면 어셈블러를 mql5로 제공할 수 있습니다. ;-).