MQL5 마법사 및 표준 무역 클래스 라이브러리에 대한 질문 - 페이지 6

 
uncleVic :
마스터 및 클래스는 당분간 "유지 관리 모드"로 전환되었습니다. 클래스는 이미 가장 단순한 다중 통화 거래자를 생성하도록 조정되었습니다(지금은 준비되지 않았지만 나중에 여기에 예를 둡니다).

마스터가 생성한 것을 기반으로 하는 클래스의 다중 통화를 번들로 묶었습니다. 그러나 동시에 EXPERT 클래스는 수정되어야 했습니다.

거기에는 맨 처음에 INIT() 메서드에서 작동하는 기호에 대한 확인이 있으므로 만화가 작동하지 않습니다. 수표를 제거하고 모든 것이 진행되었습니다. 봐, 시간이있을거야 - 적어도 그 아이디어는 ???

if(symbol!=Symbol() || period!=Period()) 

на

 if(period!=Period())

파일:
Master01_ML.mq5  14 kb
 

안녕하세요 진행자님!

질문이 있습니다:

MQL5 마법사에는 다이버전스, 과매수, 과매도 등을 감지하기 위해 분석을 수행하는 20개의 신호 모듈이 있습니다. 이 라이브러리에서 MQL5 마법사의 신호 모듈을 빌려 동일한 것을 분석할 수 있는지 알려주실 수 있습니까? 표시기 사용자 정의 , 자체 개발 및 이를 위해 수행해야 하는 작업은 무엇입니까? 많은 마무리 작업(재작업)이 필요합니까? 아니면 표준 납품에서 모듈(해당 사본)의 무언가를 변경하는 것으로 충분합니까?

미리 감사드립니다!

Переход на новые рельсы: пользовательские индикаторы в MQL5
Переход на новые рельсы: пользовательские индикаторы в MQL5
  • 2009.11.23
  • Андрей
  • www.mql5.com
Я не буду перечислять все новые возможности и особенности нового терминала и языка. Их действительно много, и некоторые новинки вполне достойны освещения в отдельной статье. Вы не увидите здесь кода, написанного по принципам объектно-ориентированного программирования — это слишком серьезная тема для того, чтобы просто быть упомянутой в контексте как дополнительная вкусность для кодописателей. В этой статье остановимся подробней на индикаторах, их строении, отображении, видах, а также особенностях их написания по сравнению с MQL4.
 

ForexMoneyMaker :

이 라이브러리의 MQL5 마법사에서 이러한 신호 모듈을 빌려 동일한 분석을 수행할 수 있지만 자체 설계의 사용자 지정 표시기 에서 가져올 수 있는지 알려주실 수 있습니까? 이를 위해 무엇을 수행해야 합니까? 많은 마무리 작업(재작업)이 필요합니까? 아니면 표준 납품에서 모듈(해당 사본)의 무언가를 변경하는 것으로 충분합니까?

좋은 질문! 그렇기 때문에 하나의 표시기 대신 다른 표시기를 삽입하기만 하면 표준 모듈을 최소한으로 변경하여 새 모듈을 만들 수 있습니다. 언제 이 주제에 대한 기사를 직접 작성할 수 있을지 모르기 때문에 다음과 같이 제안합니다.

누가 가지고 "표준 신호 모듈을 기반으로 자신의 것을 만드는 방법" 기사를 작성하려는 지식과 열망 - 저에게 개인적으로 쓰십시오.

 
Erm955 :

마스터가 생성한 것을 기반으로 하는 클래스의 다중 통화를 번들로 묶었습니다. 그러나 동시에 EXPERT 클래스는 수정되어야 했습니다.

거기에는 맨 처음에 INIT() 메서드에서 작동하는 기호에 대한 확인이 있으므로 만화가 작동하지 않습니다. 수표를 제거하고 모든 것이 갔다. 봐, 시간이있을거야 - 적어도 그 아이디어는 ???

if(symbol!=Symbol() || period!=Period()) 

на

 if(period!=Period())

아이디어는 동일하지만 다음과 같습니다.

1. CExpert 클래스를 바꾸는 것은 좋지 않다. Init(...) 메서드를 재정의하여 상속하는 것이 좋습니다.

2. CExpert 클래스를 변경할 필요가 없습니다. 다음을 작성해야 합니다.

...
   if (!ExtExpert_EG.Init( Symbol (), PERIOD_M10 ,Expert_EveryTick,Expert_MagicNumber))
     {
       //--- failed
       printf ( __FUNCTION__ + ": error initializing expert" );
      ExtExpert_EG.Deinit();
       return (- 1 );
     }
   ExtExpert_EG. Symbol ( "NZDUSD" );
...

일단 놔두세요...

 
ForexMoneyMaker :

안녕하세요 진행자님!

질문이 있습니다:

MQL5 마법사에는 다이버전스, 과매수, 과매도 등을 감지하기 위해 분석을 수행하는 20개의 신호 모듈이 있습니다. 이 라이브러리에서 MQL5 마법사의 신호 모듈을 빌려 동일한 것을 분석할 수 있는지 알려주실 수 있습니까? 표시기 사용자 정의 , 자체 개발 및 이를 위해 수행해야 하는 작업은 무엇입니까? 많은 마무리 작업(재작업)이 필요합니까? 아니면 표준 납품에서 모듈(해당 사본)의 무언가를 변경하는 것으로 충분합니까?

미리 감사드립니다!


영어 포럼을 확인하세요. 여기
 
uncleVic :

아이디어는 동일하지만 다음과 같습니다.

1. CExpert 클래스를 바꾸는 것은 좋지 않다. Init(...) 메서드를 재정의하여 상속하는 것이 좋습니다.

2. CExpert 클래스를 변경할 필요가 없습니다. 다음을 작성해야 합니다.

일단 놔두세요...

Init() 메서드에서 작업 기호에 대한 검사를 제외하고 재정의해야 합니다. 그리고 항목 2는 적합하지 않습니다. 무엇보다도 Init() 메서드에서 숫자 자릿수에 대한 검사가 있고 작업 기호가 5자리이고 테스트된 기호가 3자리이면 정지/이익 오류가 됩니다. 나는 상속하고 재정의했다. 이제 모든 것이 작동합니다.

물론 나는 훌륭한 OOP 전문가는 아니지만 테스트된 다른 문자 수에 대해 프로그램을 유연하게 구성하려면 프로그램에서 예를 들어 21개의 코드(예: 모든 문자)를 입력한 다음 입력 매개변수에서 선택 방법을 사용하여 코드의 특정 섹션을 살펴봅니다. OOP 없이도 똑같이 했지만 인터넷에 있는 표시기의 모든 핸들과 값을 동적 배열 에 넣은 다음 OnTike에서 이미 이러한 배열을 사용했습니다. 즉, 나는 아직 OOP의 장점을 보지 못했다?

추신. 정확히 쓰지 않았습니다. 문자와 동시에 테스트할 코드 조각을 최대한 많이 넣어야 합니다. 동시에 작동하는 심볼 수를 설정하는 과정에서 데이터(핸들 및 인디케이터 값)를 어떻게든 동적으로 연결할 수 있습니다. 문제는 이 모든 것이 Init에 연결되어야 하고 OnTic/OnTimer에서 사용해야 한다는 것입니다.

파일:
Master02_ML.mq5  20 kb
 
Erm955 :

Init() 메서드에서 작업 기호에 대한 검사를 제외하고 재정의해야 합니다. 그리고 항목 2는 적합하지 않습니다. 무엇보다도 Init() 메서드에서 숫자 자릿수에 대한 검사가 있고 작업 기호가 5자리이고 테스트된 기호가 3자리이면 정지/이익 오류가 됩니다. 나는 상속하고 재정의했다. 이제 모든 것이 작동합니다.

물론 나는 훌륭한 OOP 전문가는 아니지만 테스트된 다른 문자 수에 대해 프로그램을 유연하게 구성하려면 프로그램에서 예를 들어 21개의 코드(예: 모든 문자)를 입력한 다음 입력 매개변수에서 선택 방법을 사용하여 코드의 특정 섹션을 살펴봅니다. OOP 없이도 똑같이 했지만 인터넷에 있는 표시기의 모든 핸들과 값을 동적 배열 에 넣은 다음 OnTike에서 이미 이러한 배열을 사용했습니다. 즉, 나는 아직 OOP의 장점을 보지 못했다?

추신. 정확히 쓰지 않았습니다. 문자와 동시에 테스트할 코드 조각을 최대한 많이 넣어야 합니다. 동시에 작동하는 심볼 수를 설정하는 과정에서 데이터(핸들 및 인디케이터 값)를 어떻게든 동적으로 연결할 수 있습니다. 문제는 이 모든 것이 Init에 연결되어야 하고 OnTic/OnTimer에서 사용해야 한다는 것입니다.

그런거야. 그건 그렇고, 항목 2에 대한 힌트를 주셔서 감사합니다. 컨트롤을 추가하고 문자 수를 변경하겠습니다.
 
uncleVic :
그런거야. 그건 그렇고, 항목 2에 대한 힌트를 주셔서 감사합니다. 컨트롤을 추가하고 문자 수를 변경하겠습니다.

제길! 방금 모든 것을 수정했고 빌드 485로 업그레이드할 때 오류가 다시 나타납니다.

2011.08.08 17:13:04 OnInit 치명적 오류로 인해 Core 1 테스터가 중지됨
2011.08.08 17:13:04 Core 1 2010.01.01 00:00:00 OnInit: 표시기 초기화 오류
2011.08.08 17:13:04 Core 1 2010.01.01 00:00:00 CExpert::InitIndicators: 화폐 개체의 초기화 오류 표시기
2011.08.08 17:13:04 Core 1 2010.01.01 00:00:00 CExpertBase::InitIndicators: 설정의 매개변수가 확인되지 않음
2011.08.08 17:13:04 Core 1 2010.01.01 00:00:00 CExpertBase::SetOtherSeries: 시계열 변경 금지
2011.08.08 17:13:04 Core 1 2010.01.01 00:00:00 CExpertBase::SetPriceSeries: 시계열 변경 금지
2011.08.08 17:13:04 Core 1 EURUSD,H4: 2009.01.02 04:00부터 역사 시작
2011.08.08 17:13:04 Core 1 EURUSD,H4: 4692 bar로 예약된 히스토리 캐시

파일:
Master02_ML.mq5  20 kb
 
Erm955 :

제길! 방금 모든 것을 수정했고 빌드 485로 업그레이드할 때 오류가 다시 나타납니다.

에이전트가 업데이트되었습니까? EA가 새 버전에서 다시 컴파일되었습니까?
 
Rosh :
에이전트가 업데이트되었습니까? EA가 새 버전에서 다시 컴파일되었습니까?

그것이 바로 재컴파일된 요점입니다!