사용자 정의 기호. 오류, 버그, 질문, 제안. - 페이지 28

 

며칠 전 사용자 지정 기호를 만들 때 이 오류가 발생했습니다. 나는 많은 것을 손으로 확인했다. 또한 ArrayCopy 후 일부 틱이 임의의 값을 수신하는 매우 이상한 버그를 발견했습니다. 클린 머신에서 반복하는 것은 다소 지루하기 때문에 커스텀에서 또 다른 합성 커스텀이 생성되었고, 여기에서 보고하는 태도는 최근 구체적, 즉 완전한 무시, 보고하지 않았습니다. 그러나 나 자신 을 위해 CustomTicksAdd 에 대한 단일 호출로 문제를 해결했습니다. 저것들. 모든 눈금은 먼저 하나의 배열에 붓고 수동으로 복사하며 이미 사용자 정의 기호에 대한 하나의 호출입니다. 따라서 오류가 발생하지 않습니다. 시도 해봐.

추신: 또한 CopyTicksRange로 전환된 CopyTicks에서 모든 종류의 이상한 버그가 발생했다고 덧붙일 것입니다.

 
fxsaber :

코드를 더 자세히 살펴보았습니다. 청크를 수신할 때 틱을 건너뜁니다. 상황은 가능합니다 Ticks[Limit - 1].time_msc == Ticks[Limit + k], k >= 0 .

따라서 간격을 두고 추가할 경우 플래그가 일치하지 않을 수 있습니다.


문제의 원인이 아직 명확하지 않고 진드기의 중복으로 인해 발생할 수 있기 때문에 중복이 없는지 확인하기 위해 이 테스트에서 의도적으로 건너뛰고 있습니다(Andrey와 유사하게 "빠르고 더러운" 방법 사용).

플래그에 관해서는 자세히 설명해 주십시오. 결국 아무도 틱(플래그 포함)의 내용을 변경하지 않으며 틱 시퀀스에 대한 플래그의 영향에 대해 읽지 않았습니다. 최소한 오류 코드에 대한 설명은 플래그에 대해 아무 것도 말하지 않습니다.

 
Stanislav Korotky :

플래그에 관해서는 자세히 설명해 주십시오. 결국 아무도 틱(플래그 포함)의 내용을 변경하지 않으며 틱 시퀀스에 대한 플래그의 영향에 대해 읽지 않았습니다. 최소한 오류 코드에 대한 설명은 플래그에 대해 아무 것도 말하지 않습니다.

플래그에 의해 - 가설. 일단 문제가 발생하여 타사 진드기에 대해 보내기 전에 직접 플래그를 형성했습니다.


예를 들어, 건너뛰기 후 첫 번째 틱은 다른 입찰 가격을 갖지만 이에 대한 플래그는 없습니다.

 

ms가 하나 증가된 _start 변수가 다른 곳에서는 사용되지 않는 경우 이 행이 왜 사용되는지는 분명하지 않습니다.
그리고 함수가 종료되면 소멸됩니다.
내가 볼 때 시간 이동은 어디에도 사용되지 않고 기억되지 않습니다.
그리고 왜 입력 역할을 하는 이 _start 변수에 무엇인가를 할당하는 것입니다.
결국 이 값을 다시 while 함수로 반환하고 사용에 막다른 골목이 있습니다.
일반적으로 코드는 다소 혼란스럽고 명시적이지 않습니다. 아니면 이 디자인을 따라잡지 못하고 있습니다))

_start = array[size - 1 ].time_msc + 1 ;
 
Roman :

ms가 하나 증가된 _start 변수가 다른 곳에서는 사용되지 않는 경우 이 행이 왜 사용되는지는 분명하지 않습니다.
그리고 함수가 종료되면 소멸됩니다.
내가 볼 때 시간 이동은 어디에도 사용되지 않고 기억되지 않습니다.
그리고 왜 입력 역할을 하는 이 _start 변수에 무엇인가를 할당하는 것입니다.
결국 이 값을 다시 while 함수로 반환하고 사용에 막다른 골목이 있습니다.
일반적으로 코드는 다소 혼란스럽고 명시적이지 않습니다. 아니면 이 디자인을 따라잡지 못하고 있습니다))

이 변수 참조는 호출 코드에서 "제자리에" 함수 매개변수로 전달되어 지속적으로 변경되고 반복에서 사용됩니다.

 
fxsaber :

플래그에 의해 - 가설. 일단 문제가 발생하여 타사 진드기에 대해 보내기 전에 직접 플래그를 형성했습니다.


예를 들어 건너뛴 후 첫 번째 틱은 입찰가가 다르지만 이에 대한 플래그는 없습니다.

아이디어는 명확합니다. 그러나 MQ의 설명 없이는 이 모든 것이 우리의 추측 수준으로 남을 것입니다(특정 오류의 출현에 대한 가능한 영향 측면에서).

 
Stanislav Korotky :

이 변수 참조는 호출 코드에서 "제자리에" 함수 매개변수로 전달되어 지속적으로 변경되고 반복에서 사용됩니다.

예, 링크에주의를 기울이지 않았고 제공하고 싶었지만 거기에 있습니다.
증가된 시간을 절약하기 위해 변수를 명시적으로 할당하려면 모두 동일하게 시도하십시오.

 

새로운 수수께끼. 빌드 2507의 CopyTicks 문제, 이전 버전(특히 2374)은 제대로 작동했습니다.

응용 프로그램의 간단한 테스트 스크립트로 모든 것을 줄였습니다. 이전 폴링 이후 새로운 틱을 요청합니다.

루프의 첫 번째 올바른 전달 직후 스크립트는 from 매개변수에 지정된 시간보다 빠른 것으로 알려진 시간으로 또는 오히려 현재 날짜의 시작 부분에 틱을 배열에 복사하기 시작합니다.

잼이 뭔가요?

파일:
CopyTicks.mq5  1 kb
 
Stanislav Korotky :

새로운 수수께끼. 빌드 2507의 CopyTicks 문제, 이전 버전(특히 2374)은 제대로 작동했습니다.

응용 프로그램의 간단한 테스트 스크립트로 모든 것을 줄였습니다. 이전 폴링 이후 새로운 틱을 요청합니다.

루프의 첫 번째 올바른 전달 직후 스크립트는 from 매개변수에 지정된 시간보다 빠른 것으로 알려진 시간으로 또는 오히려 현재 날짜의 시작 부분에 틱을 배열에 복사하기 시작합니다.

잼이 뭔가요?

2509에서 버그를 확인합니다.

이 옵션이 작동하지 않는 것 같습니다.

 int size = CopyTicksRange ( _Symbol , array, COPY_TICKS_ALL , cursor);
 
사용자 정의 기호 로 매복하십시오. 대소문자만 다른 두 개의 기호(예: "xEURUSD" 및 "XEURUSD")를 생성할 수 있지만 "중복"에 따옴표를 추가하면 작동하지 않습니다. CustomRatesUpdate는 오류 없이 0을 반환합니다. 대소문자를 구분하는 이름을 허용하거나(그러한 문자가 완전히 작동하도록) 이러한 "유사한" 이름의 생성을 허용하지 않아야 합니다.