MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1185

 
나는 아무 것도 변경하지 않았습니다. 이전에는 MQL의 이전 버전에 오류가 없었고 어드바이저가 시스템을 로드하지 않았지만 이제는 로드하고 오류를 발견했습니다. 테스터와 온라인은 다른 것입니다(경로를 알고 통과하는 것과 같습니다). 나 자신이 언어 지식의 3%를 제거하려고 했지만 더 나빠졌습니다.
 
bbrisk :

좋은 하루! 데이터 작업 시 오류가 발생하는 내 구성:

for(int trade = OrdersTotal() - 1, trade >= 0, trade--)

{

if(주문선택(무역, SELECT_BY_POS, MODE_TRADES))

{

if(OrderSymbol() == Symbol() && OrderMagicNumber()==1 && (OrderType() == OP_BUYSTOP))

....


보류 중인 구매 주문 이 없고 하나의 미결 주문이 있으며 if에 들어갑니다. 누군가 찾아왔나요? 도와주세요

얘들아 기능을 봐

 Print ();

거기에 매개변수를 입력하고 무슨 일이 일어나는지 확인하면 정체가 어디에 있는지 알 수 있습니다. 정보는 전문가 로그(MT4의 전문가 탭)에 인쇄되며 파일을 열 수도 있습니다.


비교를 위해 데이터를 복사하여 붙여넣습니다(파일 이름 20200621은 2020.06.21을 나타냄). 또한 DeskPins를 사용하여 열려 있는 파일과 코드 또는 그래프의 보기에 모든 것을 유지할 수 있습니다. 또한 파일 20200621이 4MB를 초과하지 않아야 한다는 점에 주의하십시오. 파일이 같거나 그 이상이면 파일을 삭제하면 전문가가 새 파일을 만듭니다.

 
안녕하세요 여러분, 고문을 이름에 묶는 방법을 알려주세요.
 
DENYS KOSHCHAVETS :
안녕하세요 여러분, 고문을 이름에 묶는 방법을 알려주세요.

귀하의 작업이 어렵거나 오히려 누가 고문의 이름을 바꿔야 하는지 상상할 수 없습니다. 일반적으로 아이디어와 솔루션이 없습니다.


나는 당신이 WindowExpertName() 함수에 익숙해지도록 제안할 수 있을 뿐입니다. 아마도 도움이 될 것입니다:

실행 중인 Expert Advisor, 스크립트, 사용자 지정 표시기 또는 라이브러리의 이름을 반환합니다.

UPD: 이 방법으로 EA의 이름을 찾을 수도 있습니다.

 MQLInfoString ( MQL_PROGRAM_NAME )
 
Igor Makanu :

귀하의 작업이 어렵거나 오히려 누가 고문의 이름을 바꿔야 하는지 상상할 수 없습니다. 일반적으로 아이디어와 솔루션이 없습니다.


나는 당신이 WindowExpertName() 함수에 익숙해지도록 제안할 수 있을 뿐입니다. 아마도 도움이 될 것입니다:

UPD: 이 방법으로 EA의 이름을 찾을 수도 있습니다.

한 고객이 저를 고문한 적이 있습니다. "하지만 버전이 xxx였던 것을 기억하고 이전에는 ..."이 버전이 어디에서 왔는지 묻습니다. 글쎄, 나는 이름을 바꿨다. 그리고 그녀는 출처가 없습니다. 그리고 거기에 무엇이 있었는지 어떻게 이해하고 기억할 수 있습니까? 그때 고문의 이름이 바뀌면 작품을 비활성화하기로 했다. 도움이 되었습니다. 때때로 오류가 발생한 다음 불완전한 다른 버전을 더 이상 저장하지 않습니다.

 
Alexey Viktorov :

한 고객이 저를 고문한 적이 있습니다. "하지만 버전이 xxx였던 것을 기억하고 이전에는 ..."이 버전이 어디에서 왔는지 묻습니다. 글쎄, 나는 이름을 바꿨다. 그리고 그녀는 출처가 없습니다. 그리고 거기에 무엇이 있었는지 어떻게 이해하고 기억할 수 있습니까? 그때 고문의 이름이 바뀌면 작품을 비활성화하기로 했다. 도움이 되었습니다. 때때로 오류가 발생한 다음 불완전한 다른 버전을 더 이상 저장하지 않습니다.

그렇다면 아마도 옳은 일

누군가와 함께 일하면 파일 이름 xxx_1.01.mql4를 편집합니다.

편집하는 것을 잊지 마십시오.

 #property version    "1.01"

일반적으로 이것은 작업에 충분하고 이전 버전으로 롤백해야 하는 경우 더 빠르게 통신이 이루어집니다. 유일한 불편은 작업하는 동안 모든 버전을 유지한다는 것입니다.

잠시 후 개정판이 있으면 버전 2.00을 넣습니다.


나는 그가 어떤 종류의 보호가 필요하다고 생각했지만 프로그래밍 방식으로 EA 이름을 변경하는 방법을 모릅니다. 그래서 나는 그러한 바인딩에 놀랐습니다)))

 
Alexey Viktorov :

한 고객이 저를 고문한 적이 있습니다. "하지만 버전이 xxx였던 것을 기억하고 이전에는 ..."이 버전이 어디에서 왔는지 묻습니다. 글쎄, 나는 이름을 바꿨다. 그리고 그녀는 출처가 없습니다. 그리고 거기에 무엇이 있었는지 어떻게 이해하고 기억할 수 있습니까? 그때 고문의 이름이 바뀌면 작품을 비활성화하기로 했다. 도움이 되었습니다. 때때로 오류가 발생한 다음 불완전한 다른 버전을 더 이상 저장하지 않습니다.

사람은 특정 작업을 수행할 수 있습니다. 예를 들어 로봇을 모니터링하고 로봇이 하는 일을 기록하고 사용 가능한 일부 전역 변수 를 변경하는 로봇이 있습니다. 나는 확실히 그렇지 않기를 바랍니다. 그러한 작업을 구현하는 것이 매우 어렵기 때문입니다. 그리고 네, 맞습니다.

 
Igor Makanu :

그렇다면 아마도 옳은 일

누군가와 함께 일하면 파일 이름 xxx_1.01.mql4를 편집합니다.

편집하는 것을 잊지 마십시오.

일반적으로 이것은 작업에 충분하고 이전 버전으로 롤백해야 하는 경우 더 빠르게 통신이 이루어집니다. 유일한 불편은 작업하는 동안 모든 버전을 유지한다는 것입니다.

잠시 후 개정판이 있으면 버전 2.00을 넣습니다.


나는 그가 어떤 종류의 보호가 필요하다고 생각했지만 프로그래밍 방식으로 EA 이름을 변경하는 방법을 모릅니다. 그래서 나는 그러한 바인딩에 놀랐습니다)))

도움을 위해 자식)
 
Vladimir Simakov :
도움이 필요합니다)

나는 git에서 가져옵니다. 흥미롭습니다. 문제가 없습니다.

하지만 문제는 사용자에게 있습니다. 마치 달에 걸어가는 것과 같습니다.)))

5개의 경우 중 4개의 경우는 테스터에서 TS를 테스트하는 방법을 모르고 테스트/최적화 버튼을 누를 수 있습니다. 그게 전부입니다. MT4에 기록을 로드한 다음 시각적 테스트 모드에서 차트에 표시기를 던지고 EA가 어떻게 작동하는지 볼 수 있다는 것을 깨닫지 못하기 때문에 EA가 표시기를 따라가지 못한다는 환상을 ...


휴, 그리고 당신은 git에 대해 이야기하고 있습니다. 여기서 사용자 수준에서 MT를 사용하여 알아낼 수 있습니다.)

 
Igor Makanu :

나는 git에서 가져옵니다. 흥미롭습니다. 문제가 없습니다.

하지만 문제는 사용자에게 있습니다. 마치 달에 걸어가는 것과 같습니다.)))

5개의 경우 중 4개의 경우는 테스터에서 TS를 테스트하는 방법을 모르고 테스트/최적화 버튼을 누를 수 있습니다. 그게 전부입니다. MT4에 기록을 로드한 다음 시각적 테스트 모드에서 차트에 표시기를 던지고 EA가 어떻게 작동하는지 볼 수 있다는 것을 깨닫지 못하기 때문에 EA가 표시기를 따라가지 못한다는 환상을 ...


휴, 그리고 당신은 git에 대해 이야기하고 있습니다. 여기서 사용자 수준에서 MT를 사용하여 알아낼 수 있습니다.)

예, 고객에 대해 말하는 것이 아닙니다.))) 프로젝트 버전 관리에 대해 말하는 것입니다. 고객은 내가 이것으로 롤백하고 싶다고 말하며 롤백할 수 있을 뿐만 아니라 새 분기를 생성할 수 있으며 카탈로그를 여러 버전으로 막지 않아도 됩니다.