MQL5 언어를 처음부터 자가 학습 - 페이지 48

 
즉각적인 목표가 가장 간단한 후행 중지를 구현하는 것이라면 for 및 while 루프를 추가하여 스크립트를 계속 작성해야 합니다.

"충분한 인내" 스크립트에 논리적 확장이 있는지 확실하지 않습니다. 다음을 구현해야 하는 새로운 아이디어로 전환하는 것이 더 나을 것입니다.

1. if-else 조건 트리.
2. 예상 기능.
3. 주기.

알고리즘 트레이딩 분야에서 일을 해야 하기 때문에 스크립트가 트레이딩 전략과 연관되어 있으면 더 편리합니다. 생각한다.

 
주기의 본질에 대한 더 나은 이해를 위해:

루프를 사용하면 본문에서 닫힌 코드 섹션을 계속해서 반복할 수 있습니다. 각 패스의 결과는 호출된 변수/함수의 값이 각각 다를 수 있기 때문에 다른 패스의 결과와 다릅니다. 루프의 반복 횟수는 프로그래머, 변수 값 또는 함수에 의해 설정되며 특정 코드에 따라 다릅니다.
 
MrBrooklin :

알렉시, 장난해? 예, 먼저 기본을 배우고 싶습니다!

안부 인사를 전합니다. 블라디미르.


별로. 역학과 당신의 기초, 이론과 실천으로 판단하면, 이것은 당신의 프로필입니다. 그러니... 지금이 아니라 조금 후에. . . 당신이 편안해지고 당신을 위한 코드와 함께 있을 때.
 
Реter Konow :
즉각적인 목표가 가장 간단한 후행 중지를 구현하는 것이라면 for 및 while 루프를 추가하여 스크립트를 계속 작성해야 합니다.

"충분한 인내" 스크립트에 논리적 확장이 있는지 확실하지 않습니다. 다음을 구현해야 하는 새로운 아이디어로 전환하는 것이 더 나을 것입니다.

1. if-else 조건 트리.
2. 예상 기능.
3. 주기.

알고리즘 트레이딩 분야에서 일을 해야 하기 때문에 스크립트가 트레이딩 전략과 연관되어 있으면 더 편리합니다. 생각한다.

New7.mq5 스크립트에 후행 기능을 장착하려는 나의 열망을 지원해 주셔서 감사합니다. Peter, 특히 주기를 공부하기 시작한 지금. 그건 그렇고, 나는 이미 스크립트에서 Sleep 기능이 작동하는 방식을 시도했습니다. 이 함수는 후행 중지를 쓸 때 사용하는 것이 좋습니다. 어디서 시작하나요? 아마도 처음에는 전체 후행 알고리즘 을 단어로 설명한 다음 코드 작성으로 넘어가는 것이 더 나을까요?

안부 인사를 전합니다. 블라디미르.

 
Aleksey Masterov :

별로. 역학과 당신의 기초, 이론과 실천으로 판단하면, 이것은 당신의 프로필입니다. 그러니... 지금이 아니라 조금 후에. . . 당신이 편안해지고 당신을 위한 코드와 함께 있을 때.

Alexey, 저를 믿어주셔서 감사합니다. 우리를 실망시키지 않는 것만 남아 있습니다!

안부 인사를 전합니다. 블라디미르.

 
MrBrooklin :

New7.mq5 스크립트에 후행 기능을 장착하려는 나의 열망을 지원해 주셔서 감사합니다. Peter, 특히 주기를 공부하기 시작한 지금. 그건 그렇고, 나는 이미 스크립트에서 Sleep 기능이 어떻게 작동하는지 시도했습니다. 이 함수는 후행 정지를 쓸 때 사용하는 것이 좋습니다. 어디서 시작하나요? 아마도 처음에는 전체 후행 알고리즘 을 단어로 설명한 다음 코드 작성으로 넘어가는 것이 더 나을까요?

안부 인사를 전합니다. 블라디미르.

객관적으로 말해서, 간단한 후행 중지는 스크립트에 쓸 수 없습니다. 설명하겠습니다. 후행은 그 자체로 존재하지 않습니다. "진공"에서는 열린 위치에 "연결"되어 있으며, 이는 차례로 전략에 "연결"되며 이는 Expert Advisor에서만 구현됩니다. .

스크립트에서 후행을 구현하는 문제와 복잡성은 루프에서 열린 위치와 해당 순서에 대한 정보를 수집한 다음 원하는 기호에서 원하는 순서를 선택하고 수정하는 방법을 알아내야 한다는 것입니다. 이것은 복잡하고 혼란스럽지만 Expert Advisor에서는 모든 것이 훨씬 간단합니다. 첫째, 어떤 순서를 수정해야 하는지 이미 알고 있을 것이고, 둘째, OnTick 이벤트가 오기 때문에 언제 수정해야 하는지 알게 될 것입니다.

따라서 스크립트에서 지연을 설정하면 작동하고 위치가 열리고 중지가 추적 될 수 있습니다 ... 여기에 필요한 것 :

1. 스크립트를 반복합니다.
2. 현재 심볼에 가격 변동 이벤트를 고정하는 함수를 작성하십시오.
3. 정지 주문 수정 함수를 작성하십시오.
4. 위치를 닫을 때 스크립트를 언로드(무한 루프 종료)하기 위한 조건을 작성합니다.

대본의 계획을 대략적으로 설명했지만 더 진지하게 생각해야합니다.

추신 절전 기능은 필요할 때 코드 실행을 지연시키는 데 사용됩니다. 예를 들어, 서버에 요청을 하거나 이벤트를 기다릴 때. 후행 스크립트에서 이 기능은 의심할 여지 없이 필요합니다.
 
Реter Konow :
프로그래머는 값을 변경할 때 발생하는 오류 때문에 전역 변수를 사용하는 것을 두려워합니다. 각 기능이 변경될 수 있으므로 오류를 현지화하기 어려운 상황이 발생합니다. 당연히 모든 프로그램 기능이 봐야 하는 변수만 전역 범위에 있어야 합니다. 다른 방법으로는 불가능합니다.

저는 항상 전역 변수를 사용하는 것을 좋아했습니다. 전역 변수를 사용하면 기능이 빠르게 확장되고 프로그램이 거대하고 활동적인 건설 현장으로 변하기 때문입니다. 제가 코드를 작성하는 방식은 종종 비난을 받기도 했지만 그것이 바로 건축을 위한 것입니다. 건물의 건축에 대한 주요 작업이 완료된 후 청결이 가져오고 집이 지어지면 마주보고, 페인팅하고, 청소할 수 있습니다. 영토. 그때까지는 거푸집 조립과 콘크리트 타설이 우선이다.)

그러나 프로그래머는 다르게 생각합니다. 두 줄 반 길이의 코드라도 "세척"하고 "스크러빙"합니다. "갈매기의 코"가있는 프로그램이지만 새 동전처럼 빛날 것입니다.)) 코드에 대한 그러한 태도는 그들이 살고있는 직업에 의해 정당화되지만 창조적 인 관점에서 볼 때 그들은 억제되고 잘 발달하지 않습니다. 그렇게 밝혀졌습니다...

내 조언: 올바르게 쓰는 법을 배우십시오. 그러나 때로는 규칙에서 벗어나 더 다양한 경험을 하기 위해 실험을 하십시오. 이것은 학습에 도움이 될 것이며 자료를 빨리 배우게 될 것입니다.

한 번 목발을 짚기 시작하면 나중에 멈추기가 어려워 결과적으로 프로젝트 코드가 g..code라고 하는 음란물로 변한다는 관찰이 있습니다.

내가 설명한다:

  1. 중간 작업 솔루션과 구현된 기능 개수가 0인 프로젝트가 있습니다.
  2. ++count 기능을 제출하는 작업이 있습니다.
  3. 기능을 나사로 고정하려면 다음이 필요합니다.
    • 객체 트리에서 메서드를 처방하고 이벤트 핸들러에서 모든 것을 로직과 연결합니다(예상 시간 3시간 * count ; count=0)
    • 목발을 전역 변수 로 작성하고 필요한 여러 가지 방법으로 당깁니다(대략 시간 15분 * 개수).
  4. 자동 번호 매기기 버그( 메타따옴표 에 대한 버그 보고서입니다).
  5. 당연히 목발이 있는 옵션이 선택되었습니다(이 경우 강제로 작업하기가 정말 어렵습니다)
  6. (우리가 한 경우) 2로 이동
  7. 그렇지 않으면 모든 것이 지옥에 떨어졌습니다. 우리는 도와주세요라고 외치고 어떻게 당신이 이것을 할 수 없는지에 대한 재미있는 댓글을 읽습니다.

구현된 기능의 카운터가 다음 기능의 구현 시간을 증가시킨다는 사실을 알아차리셨기를 바랍니다. 하지만 올바르게 구현되면 이후에 0으로 재설정됩니까?

물론 모두 매우 과장되어 있지만 실제 생활에서 일어나는 일입니다.

즉, 모든 기능을 도입한 후 프로젝트를 다시 작성하지 마십시오. 따라서 읽을 수 없는 발판으로 프로덕션에 들어갈 것입니다. 그런 다음 모든 프로젝트의 수명 주기는 경영진에게 골칫거리로 이어집니다. 전체 팀을 그들이 망친 모든 것에 대한 글로벌 리팩토링을 하거나(경쟁자는 잠을 자지 않고 새로운 기능을 톱질하는 사악한 사람들입니다), 또는 계속해서 목발을 작성하고 연속 스트림을 올라가는 버그를 패치하십시오.

 
Реter Konow :
객관적으로 말해서, 간단한 후행 중지는 스크립트에 쓸 수 없습니다. 설명하겠습니다. 후행은 그 자체로 존재하지 않습니다. "진공"에서는 열린 위치에 "연결"되어 있으며, 이는 차례로 전략에 "연결"되며 이는 Expert Advisor에서만 구현됩니다. .

스크립트에서 후행을 구현하는 문제와 복잡성은 루프에서 열린 위치와 해당 순서에 대한 정보를 수집한 다음 원하는 기호에서 원하는 순서를 선택하고 수정하는 방법을 알아내야 한다는 것입니다. 이것은 복잡하고 혼란스럽지만 Expert Advisor에서는 모든 것이 훨씬 간단합니다. 첫째, 어떤 순서를 수정해야 하는지 이미 알고 있을 것이고, 둘째, OnTick 이벤트가 오기 때문에 언제 수정해야 하는지 알게 될 것입니다.

따라서 스크립트에서 지연을 설정하면 작동하고 위치가 열리고 중지가 추적 될 수 있습니다 ... 여기에 필요한 것 :

1. 스크립트를 반복합니다.
2. 현재 심볼에 가격 변동 이벤트를 고정하는 함수를 작성하십시오.
3. 정지 주문 수정 함수를 작성하십시오.
4. 위치를 닫을 때 스크립트를 언로드(무한 루프 종료)하기 위한 조건을 작성합니다.

대본의 계획을 대략적으로 설명했지만 더 진지하게 생각해야합니다.

추신 절전 기능은 필요할 때 코드 실행을 지연하는 데 사용됩니다. 예를 들어, 서버에 요청을 하거나 이벤트를 기다릴 때. 후행 스크립트에서 이 기능은 의심할 여지 없이 필요합니다.

Peter, 스크립트에 후행 코드를 생성할까요? 괜찮은! 이제 기본 섹션으로 나열한 것을 가져와서 단어로 설명하기 시작합니다. 그래야 나중에 함수, 주기 등을 어떻게 작성해야 하는지 명확해집니다. 모든 것이 맞습니까?

안부 인사를 전합니다. 블라디미르.

 
MrBrooklin :

Peter, 스크립트에 후행 코드를 생성할까요? 괜찮은! 이제 기본 섹션으로 나열한 것을 가져와서 단어로 설명하기 시작합니다. 그래야 나중에 함수, 주기 등을 어떻게 작성해야 하는지 명확해집니다. 모든 것이 맞습니까?

안부 인사를 전합니다. 블라디미르.

네, 맞습니다.
 
Vladimir Simakov :

한 번 목발을 짚기 시작하면 나중에 멈추기가 어려워 결과적으로 프로젝트 코드가 g..code라고 하는 음란물로 변한다는 관찰이 있습니다.

내가 설명한다:

  1. 중간 작업 솔루션과 구현된 기능 개수가 0인 프로젝트가 있습니다.
  2. ++count 기능을 제출하는 작업이 있습니다.
  3. 기능을 나사로 고정하려면 다음이 필요합니다.
    • 객체 트리에서 메서드를 처방하고 이벤트 핸들러에서 모든 것을 로직과 연결합니다(예상 시간 3시간 * count ; count=0)
    • 목발을 전역 변수 로 작성하고 필요한 여러 가지 방법으로 당깁니다(대략 시간 15분 * 개수).
  4. 자동 번호 매기기 버그( 메타따옴표 에 대한 버그 보고서입니다).
  5. 당연히 목발이 있는 옵션이 선택되었습니다(이 경우 강제로 작업하기가 정말 어렵습니다)
  6. (우리가 한 경우) 2로 이동
  7. 그렇지 않으면 모든 것이 지옥에 떨어졌습니다. 우리는 도와주세요라고 외치고 어떻게 당신이 이것을 할 수 없는지에 대한 재미있는 댓글을 읽습니다.

구현된 기능의 카운터가 다음 기능의 구현 시간을 증가시킨다는 사실을 알아차리셨기를 바랍니다. 하지만 올바르게 구현되면 이후에 0으로 재설정됩니까?

물론 모두 매우 과장되어 있지만 실제 생활에서 일어나는 일입니다.

내 말은, 모든 기능을 도입한 후에 프로젝트를 다시 작성하지 마십시오. 그러면 읽을 수 없는 발판으로 프로덕션에 들어갈 것입니다. 그런 다음 모든 프로젝트의 수명 주기는 경영진에게 골칫거리로 이어집니다. 전체 팀을 그들이 망친 모든 것에 대한 글로벌 리팩토링을 하거나(경쟁자는 잠을 자지 않고 새로운 기능을 톱질하는 사악한 사람들입니다), 또는 계속해서 목발을 작성하고 연속 스트림을 올라가는 버그를 패치하십시오.

안녕하세요 블라디미르님! 나는 당신에 대한 크고 심지어 큰 요청이 있습니다! 이 메시지가 대부분 Peter를 위한 것이라는 사실에도 불구하고, 나는 여전히 당신이 당신의 메시지를 완전히 이해하기 위해, 즉, i.е. 프로그래밍 학교 1학년 학생이 사용할 수 있는 언어로 처음부터 초보자를 위한 테마.

안부 인사를 전합니다. 블라디미르.