기고글 토론 "Simulink: Expert Advisor 개발자를 위한 가이드"

 

새로운 기고글 Simulink: Expert Advisor 개발자를 위한 가이드 가 게재되었습니다:

저는 전문 프로그래머가 아닙니다. 따라서 거래 시스템 개발 작업을 할 때 "단순한 것에서 복잡한 것으로가는 것"의 원칙이 가장 중요합니다. 나에게 정확히 무엇이 간단합니까? 우선 그것은 시스템을 만드는 과정과 그 작업의 논리를 시각화하는 것입니다. 또한 최소한의 수기 코드입니다. 이 기사에서는 Matlab 패키지를 기반으로 거래 시스템을 만들고 테스트한 다음 MetaTrader 5에 대한 Expert Advisor를 작성하려고 합니다. MetaTrader 5의 과거 데이터는 테스트 프로세스에 사용됩니다.

Simulink를 사용하면 사용자는 처음부터 모델을 구축하거나 기존 모델을 수정할 수 있습니다. 이 패키지는 이산, 연속 및 하이브리드 동작을 기반으로 생성되는 선형 및 비선형 시스템의 개발을 지원합니다.

패키지의 주요 속성은 개발자의 사이트에 표시됩니다.

  • 사전 정의된 블록의 광범위하고 확장 가능한 라이브러리;
  • 직관적인 블록 다이어그램을 조립하고 관리하기 위한 대화 형 그래픽 편집기;
  • 모델을 설계 구성 요소의 계층 구조로 분할하여 복잡한 설계를 관리할 수 있는 능력;
  • 모델 탐색기는 모델과 관련된 모든 신호, 매개 변수, 속성 및 생성된 코드를 탐색, 생성, 구성 및 검색합니다.
  • 다른 시뮬레이션 프로그램과 연결하고 손으로 작성한 코드를 통합할 수 있는 API (응용 프로그래밍 인터페이스)
  • Embedded MATLAB™ MATLAB 알고리즘을 Simulink 및 임베디드 시스템 구현으로 가져 오기 위한 함수 블록;
  • 해석적으로 또는 고정 또는 가변 단계 솔버를 사용하여 컴파일 된 C 코드 속도로 시뮬레이션을 실행하기 위한 시뮬레이션 모드 (Normal, Accelerator 및 Rapid Accelerator)
  • 시뮬레이션 결과를 검토한 다음 설계의 성능 및 예상치 못한 동작을 진단하기 위한 그래픽 디버거 및 프로파일러
  • 결과 분석 및 시각화, 모델링 환경 맞춤화, 신호, 매개 변수 및 테스트 데이터 정의를 위해 MATLAB에 대한 전체 액세스 권한
  • 모델 일관성을 보장하고 모델링 오류를 식별하는 모델 분석 및 진단 도구.

이제 Simulink 환경에 대한 즉각적인 검토를 시작하겠습니다. 이미 열려있는 Matlab 창에서 다음 두 가지 방법으로 초기화됩니다.

  1. 명령 창에서 Simulink 명령을 사용합니다.
  2. 도구 모음에서 Simulink 아이콘을 사용하여.

그림 1. Simulink 초기화

작성자: Denis Kirichenko

 

전문가 고문만 작동하지 않고 거래를 전혀 열지 않습니다 ((((

 
ZahvatkiN:

하지만 EA가 작동하지 않고 거래가 전혀 열리지 않습니다((.

좀 더 구체적으로 설명해 주시겠습니까? mts.mq5 파일에 있는 EA를 말하는 건가요?

과거에 테스트해 보셨나요?

파일:
mts.mq5  11 kb
 

네, 전문가 어드바이저와 파일을 하나 더 다운로드하고, 차트에서 실행했는데 거래가 하나도 열리지 않았고, 다른 차트주기로 시도했는데 뭔가 놓쳤을 수도 있습니다... 그리고 모든 것이 작동합니까?

 
ZahvatkiN:

예, 전문가 어드바이저와 파일을 하나 더 다운로드하고 차트에서 실행했는데 거래가 하나도 열리지 않았고 다른 차트주기로 시도했는데 뭔가 놓쳤을 수도 있습니다...효과가 있나요?

자바트키엔, 섹션을 다시 읽어주세요:

2. 거래 전략에 대한 설명

4. MQL5에서 전략 구현

기록 다운로드... 모든 것이 우리를 위해 작동합니다...

관심을 위해 입력 매개변수 변경하기...

 

오류 없이 컴파일된 전문가 어드바이저 Experts\mts.mq5 파일과 컴파일 시 8개의 경고가 표시되고, 속성 매개변수가 변경되어 스톱 앤 테이크 레벨과 뮤윙이 모두 동일한 Scripts\testclose.mq5 파일 2개만 복사했습니다(모든 시간 프레임 펄스가 없음))). 오류 스캔이 첨부되어 있습니다.

파일:
1.jpg  490 kb
 
ZahvatkiN:

오류 없이 컴파일된 전문가 어드바이저 Experts\mts.mq5 파일과 컴파일 시 8개의 경고가 표시되고, 속성 매개변수가 변경되어 모든 시간 프레임 펄스가 없을 때 모두 동일한 레벨과 뮤윙이 중지되는 Scripts\testclose.mq5 파일 2개만 복사했습니다))). 오류 스캔이 첨부되었습니다.

오류 4756의 원인

 

동영상은 어디에서 시청/다운로드할 수 있나요?

 

안녕하세요!

전문가 어드바이저를 항상 열지 않아도 되도록 초기 로트의 개장만 추가하려면 어떻게 해야 하나요?

 

그리고 매우 훌륭하지만 번역이 약간 까다로운 또 다른 기사도 있습니다.

단순히 프로그램을 통해 모든 것을 추적하는 것은 빠르지만 컴퓨터 명령에 관해서는 무의미합니다.

[ema21, ema55] = movavg(close, 21, 55, 'e');

로 번역됩니다.

[ema21, ema55] = gltDurch(schließen, 21, 55, 'e');

당연히 작동하지 않습니다.

이 부분이 간과되었기를 바랍니다.

 

이 파일은 4개의 신호가 열려 있는 두 개의 가상 버스(InputBus)를 다시 생성하고(ema21, ema55, num

및 나머지 10개의 신호로 (OutputBus)를 다시 생성해야만 실행할 수 있습니다. 이는 워크스페이스에 있는 그대로 Simulink 파일에 저장되지 않습니다.

따라서 워크스페이스를 생성한 다음 저장하세요.


Matlab 2016b로 프로젝트를 성공적으로 생성 및 시뮬레이션하고 이로부터 DLL을 만들 수 있었지만, 임베디드 코더를 통해서만 가능했습니다.

오류가 발생하기 때문입니다. 이 통신은 매우 불안정합니다. 일부 컴퓨터에서는 원활하게 진행되지만 로드된 프로젝트로 VS가 시작될 때 가끔 충돌이 발생합니다.

Simulink를 통해 Dll로 전략을 성공적으로 만든 다음 MT5에 통합할 수 있으면 다시 보고하겠습니다.