초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 601

 

안녕하세요!

조언, 해결책을 제시하거나 어디에서 무엇을 읽을지 찌르십시오.

문제를 해결합니다. iCustom() 호출 시 오류 처리 ...

 // MQL4
void OnTick ()
{
....
   ResetLastError ();
   double val= iCustom ( NULL , 0 ,INDUK_NAME,..., i);
   if ((nErr= GetLastError ())> 0 )
   {
       Print ( "Error in " , __FUNCTION__ , " code=" ,nErr);
       ExpertRemove ();
       return ;
   }
...
}

테스터 에서 EA를 디버깅 할 때 "array out of range" 메시지와 함께 "turkey"가 충돌하는 경우 이 코드 구성은 EA 종료를 처리하지 않습니다.

 
범위를 벗어난 배열은 심각한 오류이며, 그 이후 에는 프로그램 실행 이 중지되고 더 이상 코드가 실행되지 않습니다. 따라서 이 오류 처리기는 작동하지 않습니다. 예,이 경우 오류 코드가 필요하지 않습니다. 잡지에는 출발 이유가 무엇인지 흑백으로 기록되어 있습니다. 그리고 발생한 선과 위치까지 표시됩니다.
 
Sergei Vladimirov :
범위를 벗어난 배열은 심각한 오류이며, 그 이후 에는 프로그램 실행 이 중지되고 더 이상 코드가 실행되지 않습니다. 이것이 바로 이 오류 처리기가 작동하지 않는 이유입니다. 예,이 경우 오류 코드가 필요하지 않습니다. 잡지에는 출발 이유가 무엇인지 흑백으로 기록되어 있습니다. 그리고 발생한 라인과 위치까지 표시됩니다.

1. 오류가 로그에 있고 중요하다는 것을 알고 있습니다.

2. 테스터가 왜 EA를 중지하지 않고 강제로 "중지"를 눌러야 하는지 이해가 안 가나요?

3. 중대한 오류가 발생한 경우 Expert Advisor의 작동 및 사용자와의 상호 작용을 편리한 방식으로 구성하기 위해 예외(예외)를 처리하기 위한 언어 구성이 있습니까?

 
fromme2you :

1. 오류가 로그에 있고 중요하다는 것을 알고 있습니다.

2. 테스터가 왜 EA를 중지하지 않고 강제로 "중지"를 눌러야 하는지 이해가 안 가나요?

3. 중대한 오류가 발생한 경우 Expert Advisor의 작동 및 사용자와의 상호 작용을 편리한 방식으로 구성하기 위해 예외(예외)를 처리하기 위한 언어 구성이 있습니까?

테스터는 EA 자체의 코드에서 심각한 오류 (예: 0으로 나누기 또는 배열 범위를 벗어남)가 발생한 경우 중지합니다.

테스터에서나 실생활에서 코드를 중지하는 것을 방지할 수 있는 것은 코드에 적절한 검사를 도입하는 것뿐입니다. 항상 가능한 것은 아닙니다. 다른 사람의 코드를 사용하거나 다른 사람의 코드를 제품의 서브루틴으로 삽입하는 경우 특히 그렇습니다.

또 다른 까다로운 방법은 프로그래밍 방식으로 로그를 읽는 것입니다.

 
Yuri Evseenkov :

테스터는 EA 자체의 코드에서 심각한 오류 (예: 0으로 나누기 또는 배열 범위 초과)가 발생한 경우 중지합니다....

또 다른 까다로운 방법은 프로그래밍 방식으로 로그를 읽는 것입니다.

알았습니다. 답변 해주셔서 감사합니다.

또 다른 질문: MT4 및 MQL 코드 실행 환경의 개발자를 어떻게 긴장시켜 그가 (그들이) 내 예나 유사한 의미에서 예외 처리를 위한 언어 개발에 마음과 손을 쏟을 수 있습니까?

 
fromme2you :

알았습니다. 답변 해주셔서 감사합니다.

또 다른 질문: MT4 및 MQL 코드 실행 환경의 개발자를 어떻게 긴장시켜 그가 (그들이) 내 예나 유사한 의미에서 예외 처리를 위한 언어 개발에 마음과 손을 쏟을 수 있습니까?

서비스 데스크에 연락하여 포럼에 주제/설문조사를 작성하십시오.

얼마 전까지만 해도 MT4는 일반적으로 묻혔습니다. 이제 추세는 바뀌지 않았다면 적어도 최근에 플랫폼과 언어가 크게 현대화되었습니다.

 
Yuri Evseenkov :

서비스 데스크에 연락하여 포럼에 주제/설문조사를 작성하십시오.

얼마 전까지만 해도 MT4는 일반적으로 묻혔습니다. 이제 추세는 바뀌지 않았다면 적어도 최근에 플랫폼과 언어가 크게 현대화되었습니다.

2009년 그는 처음으로 묻혔다.

 

안녕하세요. 아는 사람이이 문제를 해결하는 방법을 알아내는 데 도움을 줄 수 있습니까? 예를 들어 마지막 50개 막대를 분석하여 특정 시간(예: 01:00)의 막대 시가를 찾아야 합니다 . mql5에서 작업에 더 잘 접근하는 방법을 모르겠습니다.


현재 날짜 계산 + 필요한 시간 추가, 그리고 이미 날짜 추가를 통해 이 방법은 mql4에서 작동했습니다.

mql5에는 시간 출력이 있는 특수 구조가 있지만 어떤 이유로 인해 작동하지 않는 것으로 알고 있습니다.

답변에 미리 감사드립니다.

누군가가 생각의 방향을 이해하기 위해 코드를 던진다면 매우 감사할 것입니다.
 
Alex :

안녕하세요. 아는 사람이 이 문제를 해결하는 방법을 알아내도록 도와줄 수 있습니까? 예를 들어 마지막 50개 막대를 분석하여 특정 시간(예: 01:00)의 막대 시가를 찾아야 합니다 . mql5에서 작업에 더 잘 접근하는 방법을 모르겠습니다.


현재 날짜 계산 + 필요한 시간 추가, 그리고 이미 날짜 추가를 통해 이 방법은 mql4에서 작동했습니다.

mql5에는 시간 출력이 있는 특수 구조가 있지만 어떤 이유로 인해 작동하지 않는 것으로 알고 있습니다.

답변에 미리 감사드립니다.

누군가가 생각의 방향을 이해하기 위해 코드를 던진다면 매우 감사할 것입니다.
지표에서 또는 EA/스크립트에서?
 
여보세요. 그러한 질문: 보류 중인 주문에 대해 mt5 의 ordersendasync 기능 을 사용하는 경우 어떻게 작동합니까? 예를 들어 응답을 기다리지 않고 구매 중지를 보내지만 주문이 트리거되면 구매 주문에 대한 서버의 응답을 기다립니다.
사유: