{ 인쇄(BarsCalculated(핸들)); 부서지다; } 그렇지 않으면 절전(100);}
이 코드에 따르면 다음 결과를 기다리고 있습니다. - 특정 지표의 계산된 막대 수가 특정 값 이상이 되면 사이클이 중단됩니다. 그렇지 않으면 100ms의 추가 코드 실행 지연이 있습니다. 총 가능한 총 지연은 100*10000ms입니다.... 표시기 계산에 충분한 시간입니다. 그러면 코드가 계속 실행되는 이유는 무엇입니까?(이 루프를 뒤따름) 또는 테스터에서 이 기능이 내가 가정한 대로 작동하지 않습니다. 설명에 미리 감사드립니다.
아이디어에 따르면 Expert Advisor를 일정 시간 동안 중단해야합니까, 아니면 제가 잘못 알고 있습니까?
{for (int sleep=0;sleep<10000;sleep++)
if (BarsCalculated(Handle)>=o_bars_reoptimizate)
{ 인쇄(BarsCalculated(핸들)); 부서지다; } 그렇지 않으면 절전(100);}
이 코드에 따르면 다음 결과를 기다리고 있습니다. - 특정 지표의 계산된 막대 수가 특정 값 이상이 되면 사이클이 중단됩니다. 그렇지 않으면 100ms의 추가 코드 실행 지연이 있습니다. 총 가능한 총 지연은 100*10000ms입니다....표시기를 계산하기에 충분한 시간입니다. 그러면 코드가 계속 실행되는 이유는 무엇입니까?(이 루프 다음에 있음) 또는 테스터에서 이 기능이 내가 가정한 대로 작동하지 않습니다. 설명에 미리 감사드립니다.
뇌의 덜걱거림은 CopyBuffer 와 같은 문서로 인해 발생합니다. " 표시기 값을 다른 배열( 표시기 버퍼 가 아님)에 부분적으로 복사해야 하는 경우 이러한 목적을 위해 중간 배열을 사용해야 합니다. 필요한 양이 복사됩니다. 그리고 이미이 중간 배열에서 원하는 수의 값을 수신 배열의 원하는 위치에 요소별로 복사합니다. "
intCopyBuffer (
int indicator_handle, // handle индикатораint buffer_num, // номер буфера индикатора
[...]
);
buffer_num 이 명시적으로 참조되는 경우 SetIndexBuffer 를 통해 하나 또는 다른 서수 아래에 있는 표시기 버퍼와 수신 배열을 먼저 연결할 필요가 있음을 분명히 의미합니다. 아마도 INDICATOR_CALCULATIONS 로 가장할 것입니다. 그러나 " 지시자 값을 다른 배열(지시자 버퍼가 아님)에 부분적으로 복사해야 하는 경우 " buffer_num 은 지시자가 아니며 정의에 따라 그렇게 하지 않았기 때문에 어떠한 버퍼_num에도 의문의 여지 가 없습니다. 무엇이든 연결하십시오.
모순?
모호?
아니면 완전히 프로그래밍되어 있습니까?
인디케이터 버퍼에 대한 명확한 정의를 스스로 찾으려고 노력했지만 찾을 수 없었습니다. SetIndexBuffer 를 통해 연결된 모든 것입니까, 아니면 충분하지 않고 ID가 INDICATOR_DATA 인 배열이어야 합니까?
ArrayInitialize 코드가 작동하지 않으며 주기의 주석을 제거하면 모든 것이 정상입니다.
그리고 클래스의 변수와 글로벌 수준의 인디케이터를 같은 이름으로 선언하면 경고창이 뜹니다.
주말에 틱이 없는 동안 데모 계정의 표시기를 디버깅하여 마지막 빌드에서 MT5 터미널의 두 인스턴스를 실행했지만 MetaQuotes와 EGlobal은 서로 다른 회사에서 실행했습니다. 설정은 어딜가나 똑같습니다. 확실히 오프라인에서 체크해서 틱팩터는 제외했습니다.
문제는 다른 회사의 다른 터미널에서 가장 단순한 "under-indicator" 코드(완전하고 복잡한 지표는 말할 것도 없고)는 결과의 다른 양의 출력을 표시한다는 것입니다.
1. 이글로벌 . 2. 메타 따옴표 .
나는 두 터미널을 완전히 언로드하고(작업 관리자를 통해 메모리의 프로세스를 확인) 다시 로드했으며 두 코드를 다시 컴파일하는 경우를 대비하여 두 터미널을 모두 로드했습니다. 결국 - 변화가 없습니다.
MathRound() 는 4와 5에서 다르게 작동하지만 동일해야 합니다.
네 번째 코드:
다섯 번째 코드:
MathRound()는 4와 5에서 다르게 작동하지만 동일해야 합니다.
네 번째 코드:
다섯 번째 코드:
문제는 다음과 같습니다.
이 값은 4-ke와 5-ke에서 다르게 반올림됩니다.
여기에는 놀라운 것이 없습니다.
테스트가 중단된 경우 MT5 가 주문 내역 등을 저장하지 않는 이유는 무엇입니까? MT4에 저장되었습니다.
또한 테스트 차트의 주문 내역에는 포지셔닝이 없습니다. 차트를 클릭하여 큰 하락 영역의 주문을 확인하는 것이 편리했습니다.
좋은 저녁이에요.
SLeep() 메서드가 어떻게 작동하는지 설명해 주시겠습니까?
아이디어에 따르면 Expert Advisor를 일정 시간 동안 중단해야합니까, 아니면 제가 잘못 알고 있습니까?
{for (int sleep=0;sleep<10000;sleep++)
if ( BarsCalculated (Handle)>=o_bars_reoptimizate)
{ 인쇄(BarsCalculated(핸들)); 부서지다; } 그렇지 않으면 절전(100);}
이 코드에 따르면 다음 결과를 기다리고 있습니다. - 특정 지표의 계산된 막대 수가 특정 값 이상이 되면 사이클이 중단됩니다. 그렇지 않으면 100ms의 추가 코드 실행 지연이 있습니다. 총 가능한 총 지연은 100*10000ms입니다.... 표시기 계산에 충분한 시간입니다. 그러면 코드가 계속 실행되는 이유는 무엇입니까?(이 루프를 뒤따름) 또는 테스터에서 이 기능이 내가 가정한 대로 작동하지 않습니다. 설명에 미리 감사드립니다.
좋은 저녁이에요.
SLeep() 메서드가 어떻게 작동하는지 설명해 주시겠습니까?
아이디어에 따르면 Expert Advisor를 일정 시간 동안 중단해야합니까, 아니면 제가 잘못 알고 있습니까?
{for (int sleep=0;sleep<10000;sleep++)
if (BarsCalculated(Handle)>=o_bars_reoptimizate)
{ 인쇄(BarsCalculated(핸들)); 부서지다; } 그렇지 않으면 절전(100);}
이 코드에 따르면 다음 결과를 기다리고 있습니다. - 특정 지표의 계산된 막대 수가 특정 값 이상이 되면 사이클이 중단됩니다. 그렇지 않으면 100ms의 추가 코드 실행 지연이 있습니다. 총 가능한 총 지연은 100*10000ms입니다....표시기를 계산하기에 충분한 시간입니다. 그러면 코드가 계속 실행되는 이유는 무엇입니까?(이 루프 다음에 있음) 또는 테스터에서 이 기능이 내가 가정한 대로 작동하지 않습니다. 설명에 미리 감사드립니다.
뇌의 덜걱거림은 CopyBuffer 와 같은 문서로 인해 발생합니다. " 표시기 값을 다른 배열( 표시기 버퍼 가 아님)에 부분적으로 복사해야 하는 경우 이러한 목적을 위해 중간 배열을 사용해야 합니다. 필요한 양이 복사됩니다. 그리고 이미이 중간 배열에서 원하는 수의 값을 수신 배열의 원하는 위치에 요소별로 복사합니다. "
buffer_num 이 명시적으로 참조되는 경우 SetIndexBuffer 를 통해 하나 또는 다른 서수 아래에 있는 표시기 버퍼와 수신 배열을 먼저 연결할 필요가 있음을 분명히 의미합니다. 아마도 INDICATOR_CALCULATIONS 로 가장할 것입니다. 그러나 " 지시자 값을 다른 배열(지시자 버퍼가 아님)에 부분적으로 복사해야 하는 경우 " buffer_num 은 지시자가 아니며 정의에 따라 그렇게 하지 않았기 때문에 어떠한 버퍼_num에도 의문의 여지 가 없습니다. 무엇이든 연결하십시오.
모순?
모호?
아니면 완전히 프로그래밍되어 있습니까?
인디케이터 버퍼에 대한 명확한 정의를 스스로 찾으려고 노력했지만 찾을 수 없었습니다. SetIndexBuffer 를 통해 연결된 모든 것입니까, 아니면 충분하지 않고 ID가 INDICATOR_DATA 인 배열이어야 합니까?