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

 

amavladi :


테이크가 아닙니다. 나중에 복잡한 Expert Advisor를 작성할 수 있도록 주기의 역학을 이해하고 싶습니다. "return" 연산자는 나를 새로운 "start"로 던지고 이것이 항상 필요한 것은 아닙니다.

어쨌든 답변 감사합니다.

예, 아무것도 아닙니다. 결론은 "제3자"의 도움으로 "역학"을 이해하려면 바로 이 "사람", 즉, 문제를 공식화해야 한다는 것입니다. 알고리즘에서 얻고자 하는 것이 무엇인지가 아니라 무엇을 얻고자 하는지 설명하십시오.

"루프 루프"는 문제가 되지 않습니다. 루프 에 continue 문만 포함되어 있으면 루프 조건이 false가 될 때까지 루프를 실행해야 하기 때문입니다.

저것들. "비작동 코드에서 작동하지 않는 것"이라는 정신으로 어리석은 질문을 해서는 안 됩니다. 결국, 술취한 고슴도치조차도 작동하지 않는 코드가 작동하지 않기 때문에 작동하지 않는다는 것을 이해합니다. 그러나 코드 작성자 외에 텔레파시 능력을 가진 사람은 프로덕션 코드에서 작동해야 하는 내용을 이해할 수 없습니다.

 
amavladi :

돕다!

포럼에 친절한 영혼이 있다면 내 실수를 알려주십시오. 나는 MQL4를 마스터하기 시작했고, 주문을 연 다음 작은 이익으로 마감 하는 간단한 Expert Advisor를 작성했습니다 . 나는 전략 테스터에서 그것을 테스트하려고 했고 다음과 같이 작성될 때 for 및 while 루프 문이 반복된다는 것을 발견했습니다.

//--------------------------------------------------------------------

   while (Ask<=Level)

   { RefreshRates();

     continue;

   }          

글쎄, 모든 것이 여기에서 간단해 보인다.

전략 테스터는 틱을 생성하고, start()를 호출하고, 다음 틱을 생성하기 위해 이 함수가 완료될 때까지 기다립니다.

따라서 로봇이 테스터에 매달리지 않도록 하려면 이 디자인에서 벗어나십시오. 귀하의 경우 시작() 종료가 완료될 때까지 Ask 가격이 변경되지 않습니다.

그리고 반환 명령을 받으면 시작 기능이 작업을 완료하여 테스터가 다음 틱을 생성해야 함을 이해할 수 있습니다.

또한, 전략 테스터가 아니라 실제 모드에서 RefreshRates가 Ask 가격을 업데이트하므로 코드가 예상대로 작동합니다.

코드는 잘 작동하지만 전략 테스터의 경우 무한 루프에 들어갑니다.

여기에서 return을 사용하면 도움이 됩니다. 더 많은 경험을 얻으면 자신이 그러한 구조를 떠날 것입니다. 행운을 빕니다.

 
Reshetov :


저것들. "비작동 코드에서 작동하지 않는 것"이라는 정신으로 어리석은 질문을 해서는 안 됩니다. 결국, 술취한 고슴도치조차도 작동하지 않는 코드가 작동하지 않기 때문에 작동하지 않는다는 것을 이해합니다. 그러나 코드 작성자 외에 텔레파시 능력을 가진 사람은 프로덕션 코드에서 작동해야 하는 내용을 이해할 수 없습니다.

코드가 작동하고 있습니다. 초보자가 모르는 뉘앙스가 항상 있다는 것입니다...
 
Reshetov :

예, 아무것도 아닙니다. 결론은 "제3자"의 도움으로 "역학"을 이해하려면 바로 이 "사람"에게 문제를 공식화해야 한다는 것입니다. 알고리즘에서 얻고자 하는 것이 무엇인지가 아니라 무엇을 얻고자 하는지 설명하십시오.

"루프 루프"는 문제가 되지 않습니다. 루프 에 continue 문만 포함되어 있으면 루프 조건이 false가 될 때까지 루프를 실행해야 하기 때문입니다.

저것들. "비작동 코드에서 작동하지 않는 것"이라는 정신으로 어리석은 질문을 해서는 안 됩니다. 결국, 술취한 고슴도치조차도 작동하지 않는 코드가 작동하지 않기 때문에 작동하지 않는다는 것을 이해합니다. 그러나 코드 작성자 외에 텔레파시 능력을 가진 사람은 프로덕션 코드에서 작동해야 하는 내용을 이해할 수 없습니다.

나는 새로 온 사람들이 먼지를 많이 받는 것을 좋아하지 않는다. 글쎄, 그냥 인간적인 방식으로 쓰십시오 - 질문이 나쁘거나/정확하지 않거나/올바르게 공식화되지 않았습니다. 또는 - 오류가 여기 저기에 있습니다. 무엇인가를 배우기 시작했을 때 자신을 기억하십시오. 결국 한 번 이상 어리석은 질문을 한 것 같습니다. 그리고 술 취한 고슴도치에 대한 은유가 문제의 해결에 적어도 어느 정도 긍정적인 영향을 줍니까? 자신의 위대함의 광채에 초보자의 배경에 대해 시원함을 느끼는 것이 좋습니다.
 
paladin800 :
나는 새로 온 사람들이 먼지를 많이 받는 것을 좋아하지 않는다.

돼지는 어디에서나 흙을 찾을 것입니다 © 인기있는 속담

어디에서 흙을 찾았습니까? 발견되면 중재자에게 문의하십시오.

팔라딘800 :
그리고 술 취한 고슴도치에 대한 은유가 문제의 해결에 적어도 어느 정도 긍정적인 영향을 줍니까?

규칙에 은유 및 고슴도치 금지를 추가하려면 행정부에 문의하십시오.

 
Reshetov :

돼지는 어디에서나 흙을 찾을 것입니다 © 인기있는 속담

어디에서 흙을 찾았습니까? 발견되면 중재자에게 문의하십시오.

규칙에 은유 및 고슴도치 금지를 추가하려면 행정부에 문의하십시오.

그리고 왜 중재자와 관리자는... 예의, 직업 윤리, 재치, 관용, 결국 인간성의 문제입니다... 관리자는 여기에서 도움을 주지 않을 것입니다.

그리고 문제의 본질을 완전히 이해하지 못하면 아무 것도 조언하지 않는 것이 좋습니다 ... 때로는 씹는 것이 좋습니다 ... 다른 사람을 희생시키면서 과시하는 것이 당신의 권리이지만 ...

 
elugovoy :

그것은 좋은 번식, 직업 윤리, 재치, 관용, 결국 인류에 관한 것입니다 ...

네. 한 병에 유치원과 고귀한 처녀의 연구소.

그럼 이제 개인 정보를 얻고 초보자의 질문에 계속 답변해 볼까요? 그리고 순전히 기술적인 주제에 대한 인도주의적 접근의 지지자들로부터 일종의 플루데라스티야를 얻습니다.

 
나는 Evgeny Lugovoy(놀라운 텔레파시 능력을 가지고 있음)에게 감사를 표하고 싶습니다. 당신은 테스터와 실생활의 사이클 문제에 대해 내 질문에 100% 대답했습니다. 그날 저녁 나는 "Testing and Optimization of Expert Advisors " 링크 http: //articles.mql4.com/en/824 (이것은 저와 같은 초보자를 위한 것입니다) 테스터가 실제 가격 움직임을 개별적으로 생성하고 다음 반복에서만 새로운 견적을 발행한다는 것을 깨달았습니다. 전체 조언자, 그래서 루프 문이 사용되었던 일련의 연산자 IF 를 사용하여 테스트하기 위해 코드를 다시 작성했습니다. 또한 저 같은 초보자를 위해 MQL4 언어의 "공통 기능"(링크 http://docs.mql4.com/en/common)에 대해 자세히 알아보는 것이 좋습니다. 실제 터미널과 전략 테스터의 터미널에서 동일한 기능의 동작의 차이 예를 들어 테스터의 Sleep()은 예상대로 지연을 일으키지 않으며 실제 생활에서만 작동합니다. 조건부 무한 루프의 무모한 (나 같은) 애호가를 위해 int start() { double level=1300; while (Ask<=Level) 계속; 이 코드의 마지막 두 줄은 순수함에도 불구하고 실제 통화 창에서 터미널에서 실행한 후 가격이 1300에 도달할 때까지 엄청난 양의 프로세서 시간이 소요됩니다(on 내 2x 핵 25%. 내 친구는 주기를 거부할 수 없다면 Sleep( int 100) 을 삽입해야 한다고 조언했습니다. 더블 레벨=1300; while (Ask<=Level) { Sleep( int 100) 계속; }
PS 표현을 좋아하는 "제3자"를 위해: 술취한 고슴도치, 죽여버리자, 유황 등. (우리는 순전히 기술적인 주제에 속하지만) Myshkin 왕자의 소설 "The Idiot"에서 "아름다움이 세상을 구할 것입니다!"라는 매우 이상한 말을 한 Fyodor Mikhailovich Dostoevsky에 대해 간단히 언급하겠습니다. 그를 둘러싸고 있는 "제3자"가 조롱하듯이 우리의 위대한 고전을 상기시켜 주셔서 다시 한 번 감사드립니다. 그리고 유진아, 나는 다른 나라에서 오래 살았지만 키시나우에서 태어났지만 몰도바에게 인사를 부탁한다.
 
amavladi :

예, 텔레파시가 없습니다.))) 6 년 전 나를 포함하여 트롤에 대해 가격을 "잡고"싶었던 모든 사람들이 그런 갈퀴를 밟았다고 생각합니다.

그건 그렇고, 주제는 초보자를위한 것이며 "순전히 기술적인"것이 아닙니다.

안녕하세요 패스하겠습니다.

행운을 빕니다.

 
elugovoy :

예, 텔레파시가 없습니다.))) 6 년 전 나를 포함하여 트롤에 대해 가격을 "잡고"싶었던 모든 사람들이 그런 갈퀴를 밟았다고 생각합니다.

그건 그렇고, 주제는 초보자를위한 것이며 "순전히 기술적인"것이 아닙니다.

안녕하세요 패스하겠습니다.

행운을 빕니다.

텔레파시와 "순수한 기술"에 관해서는 - Reshetov 씨의 경우입니다 :)))

행운을 빕니다.

사유: