찻주전자의 질문 - 페이지 213

 
lazarev-dm :

삽입하는 가장 쉬운 방법 중 하나

코드의 성능을 확인하거나 조건의 참 여부를 확인해야 하는 경우(즉, 모든 조건이 true이고 작업을 수행해야 하는 경우가 있는지 확인)

예를 들어, 함수가 전혀 실행되고 EA가 도달하는지 확인하기 위해 서로 다른 텍스트가 있는 각 복잡한 함수 내부에 Alert를 삽입 합니다.

아마도 당신은 어떤 조건을 사용하고 그것들은 항상 거짓일 것입니다

고맙습니다.
EA는 오류 없이 작동을 멈추고 터미널을 다시 시작한 후 다시 작동하기 시작합니다.
작동 여부를 프로그래밍 방식으로 확인하는 방법을 알아야 합니다. 녹색이지만 로그에 오류가 없습니다.
그리고 그 확인 기능 이후에 알람이나 프린트나 댓글을 달겠습니다.
 
G001 : Expert Advisor가 작동하는지 여부를 프로그래밍 방식으로 확인하는 방법을 알려주십시오.

사실은 로그에 오류가 없지만 어드바이저가 때때로 작동을 멈추고 터미널을 다시 시작한 후에 만 복원된다는 것입니다.

"어드바이저가 때때로 작동을 멈춘다 "는 것을 어떻게 결정하는지 완전히 명확하지 않습니다. 아마도 그곳에서 그는 끝없는 순환을 시작했을 것입니다. 동시에 일지는 비어 있고 고문은 지칠 줄 모르고 쟁기질합니다. 또는 작동하는 다른 기능.

 

이 게시물의 질문에 대한 답변이 필요합니다. https://www.mql5.com/en/forum/3775/page215#comment_379520

아무도 대답을 알고 있습니까?

 
tol64 : 이 게시물의 질문에 대한 답변이 필요합니다. https://www.mql5.com/en/forum/3775/page215#comment_379520 답변을 아시는 분 계신가요?

분명히 직접적인 대답은 없지만 반영해야 합니다.

따라서 Mql5InfoInteger( MQL5_LICENSE_TYPE )를 사용하여 라이선스 유형을 찾습니다. 저것들. ENUM_LICENSE_TYPE 열거의 가능한 모든 값 중 하나만 반환됩니다. 추가 - 예외 방법에 의해: 시간 제한( LICENSE_TIME )은 지정된 열거의 이전 세 값과 동시에 반환될 수 없습니다. 특히 LICENSE_TIME은 LICENSE_DEMO와 동시에 반환되어서는 안됩니다 .

이러한 추론으로 나는 "마켓용 유료 프로그램이 데모 테스트에서 시간적으로 제한될 수 있다는 것을 의미합니까?"라는 질문에 대해 부정적인 대답을 하고 싶습니다. 마켓의 유료 제품 데모 버전의 경우 고유 식별자인 LICENSE_DEMO가 있습니다.

 
Yedelkin :

분명히 직접적인 대답은 없지만 반영해야 합니다.

따라서 Mql5InfoInteger( MQL5_LICENSE_TYPE )를 사용하여 라이선스 유형을 찾습니다. 저것들. ENUM_LICENSE_TYPE 열거의 가능한 모든 값 중 하나만 반환됩니다. 추가 - 예외 방법에 의해: 시간 제한( LICENSE_TIME )은 지정된 열거의 이전 세 값과 동시에 반환될 수 없습니다. 특히 LICENSE_TIME은 LICENSE_DEMO와 동시에 반환되어서는 안됩니다 .

이러한 추론으로 나는 "마켓용 유료 프로그램이 데모 테스트에서 시간적으로 제한될 수 있다는 것을 의미합니까?"라는 질문에 대해 부정적인 대답을 하고 싶습니다. 마켓의 유료 제품 데모 버전의 경우 고유 식별자인 LICENSE_DEMO가 있습니다.

그리고 LICENSE_DEMO와 LICENSE_TIME을 동시에 LICENSE_TIME에 넣을 수 있다고 생각합니다 . MQL5_VISUAL_MODE 및 MQL5_TESTING과 같은 식별자에 생생한 예가 반영됩니다. 즉, 둘 다 우리가 테스터에 있음을 분명히 합니다. ))

매우 흥미롭습니다. 개발자가 실제로 이 식별자에 무엇을 넣었습니까? 그리고 일반적으로 데모 모드에서 일부 유료 프로그램의 시간을 제한할 수 있는 방법이 없다면 그런 기회를 갖고 싶습니다. 프로그램을 구입하지 않고도 매우 수익성 있게 사용할 수 있는 옵션이 있을 수 있기 때문입니다. )))

 
tol64 : LICENSE_TIME에는 LICENSE_DEMO와 LICENSE_TIME 이 모두 포함될 수 있다고 생각 합니다.

나는 제외 방법이 여러 가지 이유로 잘못된 결과를 초래할 수 있기 때문에 참조 자료의 용어적 특징을 완전히 잊어버렸다는 데 동의합니다. ... 글쎄, 적어도 그들은 주제에 대한 오해를 표명했으며이 목록의 저자 만이 대답 할 수 있습니다.

 
tol64 : 그리고 일반적으로 데모 모드에서 일부 유료 프로그램의 시간을 제한할 수 있는 방법이 없다면 그런 기회를 갖고 싶습니다. 프로그램을 구입하지 않고도 매우 수익성 있게 사용할 수 있는 옵션이 있을 수 있기 때문입니다. )))
그리고 이 제안을 서비스 데스크에 직접 발행하게 됩니다. 실제로 어떤지 보러 오세요:)
 
Yedelkin :

"어드바이저가 때때로 작동을 멈춘다 "는 것을 어떻게 결정하는지 완전히 명확하지 않습니다. 아마도 그곳에서 그는 끝없는 순환을 시작했을 것입니다. 동시에 일지는 비어 있고 고문은 지칠 줄 모르고 쟁기질합니다. 또는 작동하는 다른 기능.

주기가 없습니다. 하루에 10-20번 꽤 자주 열립니다. 차트에서 지표 신호를 보았지만 어드바이저가 포지션을 열지 않으면 작동하지 않는다는 의미입니다. 터미널을 다시 시작하면 다시 작동합니다.
 
G001 : 차트에서 지표 신호를 보았지만 EA가 포지션을 열지 않았다는 것은 작동하지 않는다는 의미입니다

이제 이것은 주제에 더 가깝습니다. 귀하의 고문이 표시기 신호에 응답하지 않는 것으로 나타났습니까? 그러나 이것이 고문이 "작동하지 않음"을 의미하지는 않습니다. 아마도 그것은 여전히 작동하지만 작성자가 의도 한 방식은 아닙니다.

타이머를 예를 들어 10분으로 설정해 보십시오. 그리고 Expert Advisor에게 중요한 모든 지표를 인쇄 하십시오. 이 숫자가 시간이 지남에 따라 변경되는지 확인하십시오. 이 경우 로그가 비어 있으면 코드 사본을 가지고 서비스 데스크로 보내십시오.

덧셈. 또는 여기 또 다른 아이디어가 있습니다. 또한 if-type 조건이 있는 코드의 위치가 있으며 그 후에 거래 요청을 보내야 합니다. 이 조건이 충족/실패한 경우를 인쇄해 보십시오. 예를 들면 다음과 같습니다.

 if ()
  {
   ... 
   Print ( "Сработало условие такое-то, время такое-то" );
  }
else
  {
   ...
   Print ( "Не сработало условие такое-то, время такое-то" );
  }
 
고맙습니다. 문제가 어드바이저에 있을 가능성은 낮습니다. 그렇지 않으면 터미널 다시 시작 규칙이 항상 작동하지 않습니다. 또한 일부 브로커는 MT4에서도 이 문제를 가지고 있습니다. 다음 신호 전에 다시 시작되도록 작동을 멈출 때를 프로그래밍 방식으로 확인하기만 하면 됩니다. 지문과 주석이 추가되었습니다.