기고글 토론 "초보자를 위한 MQL5 Expert Advisor 코드 작성 가이드" - 페이지 8

 

이 기사에 감사드립니다.

MQL5 예제를 보기 시작했을 때 길을 잃은 느낌이 들었는데... 기사를 보고 나니 모든 것이 훨씬 더 쉽게 이해가 됩니다.

 

오티마 스피치 :-) 그라치오 :-)

훌륭한 기사 탱크 유 :-)

 

좋은 기사입니다,

그것은 3 개월 이상을 절약하는 데 도움이됩니다, 감사합니다, 나는 당신의 다음 관련 기사 (OOP)로 가고 있습니다.

머니 마킹 전문가를 만나고 당신과 공유하기를 바라며, 나는 그런 기사를 기대합니다,

다시 한번 감사드립니다,

 
나도 EA 프로그래머가 되고 싶어요!
 
감사합니다. 아주 좋은 기사, 어쩌면 나는 챔피언십 2013에 참가할 것입니다.
 

샘에게,

나는 이미 당신의; "my_first_ea"를 다운로드하고 나는 시도했습니다.

당신의 EA 때문에, 나는 내 논리 이유에 의해 EA를 만드는 데 관심이 있습니다, 그것은 스스로 거래 할 수 없습니다. 미안 해요 나는 초보자이고 mql 기본에서 어떤 코드를 모르는지 모르겠습니다.

참고로; 이 EA는 컴파일 할 때 오류 및 경고가 아니지만 거래를 실행할 수 없습니다.

저를 도와 주시겠습니까?

도와 주셔서 대단히 감사합니다

파일:
 
abolk:

존경 받고 숙련 된 프로그래머는 5 자리 숫자의 "문제 해결"을 위해 놀라운 "접근 방식"을 사용합니다. 그리고 이제이 "접근 방식"은 교육, 문학에서 초보자 사이에서도 배양됩니다.

저자가 제시 한 "접근 방식"은 5 자리 숫자의 모든 이점을 완전히 무효화합니다. 초보자에게 5자리 호가를 도입하면 예를 들어 10핍이 아닌 10.5핍으로 이익 실현을 설정할 수 있다고 설명하는 대신 5자리 호가를 도입하면 이익 실현을 10핍으로 설정할 수 있다고 설명합니다. 또한 5자리 호가가 있는 전문가 자문을 사용할 때는 10핍이 아닌 100핍으로 테이크프로핏을 지정해야 한다고 설명합니다. 이러한 설명 대신 프로그램 코드에 5자리 호가의 장점을 프로그래밍적으로 사용할 수 없도록 하는 줄이 도입되었습니다.

"우리는 EA가 모든 브로커에서 올바르게 작동하는지 확인해야합니다.". 글쎄, 우리는 확신하고 그 다음에는 무엇입니까? 프로그래밍적으로 전문가 조언자가 "올바르게 제공하도록 선고"한 경우 지금 5 자리 견적의 이점을 어떻게 사용할 수 있습니까?

그리고 만약

_Digits==3

그렇다면 어떻게 되나요 ?

STP = STP*10; 

TKP = TKP*10;

그리고 우리는 무엇을 얻게 되나요? 그냥 쓰는 것이 더 정확하지 않을까요?

STP = STP/10; 

TKP = TKP/10;

 

OnTick 함수에서 같은 코드가 두 번 반복되는 이유는 무엇인가요?

//--- 막대 수가 작동하기에 충분한지 여부
   if(Bars(_Symbol,_Period)<60) // 차트의 총 막대 수가 60개 미만인가요?
     {
      Alert("60개 미만의 막대가 있는 차트에서는 EA가 작동하지 않습니다!!!");
      return;

     }

그리고 조금 더 멀리

//--- 차트에 작업할 막대가 충분합니까?
   int Mybars=Bars(_Symbol,_Period);
   if(Mybars<60) // 총 막대 수가 60개 미만인 경우
     {
      Alert("60개 미만의 막대가 있는 차트에서는 EA가 작동하지 않습니다!!!");
      return;
     }
Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - Документация по MQL5
 

그리고 최적화를 위해 동적 배열에 ArrayResize를 사용하는 것이 좋을 것입니다: https://www.mql5.com/ko/docs/array/arrayresize

그리고 문서에서 또 다른 흥미로운 것을 읽었습니다:

시계열 및 표시기 값의 복사가 자주 수행되어야하는 경우 (예 : Expert Advisor에서 OnTick () 을 호출 할 때마다 또는 표시기에서 OnCalculate ( )를 호출 할 때마다) 동적 배열에 대한 메모리 할당 작업에추가 시간이 필요하고 Expert Advisor의 테스트 및 최적화에 영향을 미치기때문에이 경우 정적으로 분산 된 배열을 사용하는 것이 좋습니다.

https://www.mql5.com/ko/docs/series

Документация по MQL5: Операции с массивами / ArrayResize
Документация по MQL5: Операции с массивами / ArrayResize
  • www.mql5.com
Операции с массивами / ArrayResize - Документация по MQL5
 
mql4에서는 아무런 학습 없이 며칠 만에 몇 개의 ea를 프로그래밍했습니다. 저는 수십 가지 프로그래밍 언어(자바, C, PHP, 기타 사소하거나 오래된 언어)를 알고 있습니다. mql5 언어는 mql4만큼 직관적이지 않습니다. 언어 간 변환기가 없는 것이 아쉽습니다. 심호흡을 하고 공부를 시작해야겠어요...