자동 트레이딩 언어 문서화

MQL5 레퍼런스

MQL5(MetaQuotes Language 5)는 금융 거래를 자동화하는 기술 지표, 트레이딩 로봇 및 유틸리티 애플리케이션을 개발하기 위해 고안된 고급 언어입니다. MQL5 는 MetaQuotes 에서 거래 플랫폼을 위해 개발했습니다. 언어 구문은 프로그래머가 개체 지향 프로그래밍(OOP) 스타일로 애플리케이션을 개발할 수 있도록 C++와 매우 유사합니다.

트레이딩 플랫폼 패키지에는 MQL5 언어 외에도 템플릿, 정보, 디버깅, 프로파일링 및 자동완성 툴과 같은 고급 코드 쓰기 툴을 포함하는 MetaEditor IDE가 포함되며, 또한 파일 버전 관리를 지원하는 내장 MQL5 스토리지도 포함되어 있습니다.

언어 지원은 MQL5 Algotrading 커뮤니티 웹사이트에서 이용할 수 있으며, 이 웹사이트에는 방대한 무료 코드베이스와 다양한 아티클이 포함되어 있습니다. 이 아티클에서 뉴럴 네트워크, 통계 및 분석, 고빈도 트레이딩, 차익 거래, 트레이딩 전략의 테스트 및 최적화, 트레이딩 자동 로봇 사용 등을 포함한 현대 거래의 모든 측면을 다룹니다.

트레이더와 MQL5 프로그램 개발자는 포럼에서 소통하고 프리랜스 서비스를 이용하여 애플리케이션을 주문 및 개발할 수 있으며, 자동화된 트레이딩 애플리케이션 마켓에서 보호된 프로그램을 구매 및 판매할 수 있습니다.

MQL5 언어는 전문화된 트레이딩 기능과 사전 정의된 이벤트 처리기를 제공하여 프로그래머가 특정 거래 규칙에 따라 거래 프로세스를 자동으로 제어하는 EA(엑스퍼트 어드바이저)를 개발할 수 있도록 지원합니다. EA외에도 MQL5를 통해 맞춤형 기술 지표, 스크립트 및 라이브러리를 개발할 수 있습니다.

이 MQL5 언어 참조에는 범주별로 구분된 함수, 연산, 예약된 단어 및 기타 언어 구성이 포함되어 있습니다. 또한 트레이딩 전략, 제어판, 사용자 지정 그래픽 및 액세스 활성화에 사용되는 표준 라이브러 클래스에 대한 설명을 제공합니다.

또한 코드베이스에는 다양한 수학 문제를 해결하는 데 사용할 수 있는 ALGLIB 수치 분석 라이브러리가 포함되어 있습니다.
 

MQL5 애플리케이션 유형

MQL5 프로그램은 다음과 같은 트레이딩 자동화 작업에 따라 4가지 전문 유형으로 나뉩니다:

  • 엑스퍼트 어드바이저차트에 연결된 자동 트레이딩 시스템입니다. 엑스퍼트 어드바이저에는 적절한 트레이딩 전략 요소 실행을 활성화 하는 사전 정의된 이벤트를 관리하는 이벤트 처리기가 포함되어 있습니다. 예를 들어 프로그램 초기화 및 초기화 해제 이벤트, 새 틱, 타이머 이벤트, 시장 수준 변경, 차트 및 사용자 지정 이벤트 등이 있습니다.
    엑스퍼트 어드바이저는 구현된 규칙에 따라 트레이딩 시그널을 계산하는 것 외에도 거래를 자동으로 실행하여 거래 서버로 직접 전송할 수도 있습니다. 엑스퍼트 어드바이저는 <Terminal_Directory>\MQL5\Experts에 저장됩니다.
  • 맞춤형 지표트레이딩 플랫폼에 통합된 표준 지표 외에 사용자가 개발한 기술 지표입니다. 표준 지표뿐만 아니라 맞춤형 지표도 자동으로 거래할 수 없고 분석 기능만 구현합니다. 맞춤형 지표는 계산을 위해 다른 지표 값을 활용할 수 있으며, 엑스퍼트 어드바이저에서 호출할 수 있습니다.
    맞춤형 지표는 <Terminal_Directory>\MQL5\Indicators에 저장됩니다.
  • 스크립트는 작업이 단일 실행을 위한 프로그램입니다. 엑스퍼트 어드바이저와 달리 스크리트는 트리거를 제외하고 이벤트를 처리하지 않습니다. 스크립트 코드에는 OnStart 처리기 기능이 포함되어야 합니다.
    스크립트는 <Terminal_DIrectory>\MQL5\Scripts에 저장됩니다.
  • 서비스는 지표와 달리 작동하기 위해 차트에 바인딩할 필요가 없는 프로그램입니다. 스크립트와 마찬가지로 서비스도 트리거를 제외하고 이벤트를 처리하지 않습니다. 서비스를 시작하려면 고트에 OnStart 처리기 기능이 포함되어 있어야 합니다. 서비스에서는 시작을 제외한 다른 이벤트를 허용하지 않지만 EventChartCustom를 사용하여 사용자 지정 이벤트를 차트에 보낼 수 있습니다. 서비스는 <terminal_directory>\MQL5\Services에 저장됩니다.
  • 라이브러리 는 사용자 지정 기능의 집합입니다. 라이브러리는 일반적으로 사용되는 사용자 지정 프로그램 알고리즘을 저장하고 배포하기 위한 것입니다.
    라이브러리는 <Terminal_Directory>\MQL5\Libraries에 저장됩니다.
  • 포함 파일은 가장 자주 사용되는 사용자 지정 프로그램 블록의 원본 텍스트 입니다. 이러한 파일은 컴파일 단계에서 엑스퍼트 어드바이저, 스크립트, 맞춤형 지표 및 라이브러리의 원복 텍스트에 포함될 수 있습니다. 라이브러리 기능 호출 시 추가적인 부담이 발생하기 때문에 포함 파일을 사용하는 것이 라이브러리를 사용하는 것보다 좋습니다.
    포함 파일은 원래 파일이 있는 디렉토리에 저장할 수 있습니다. 이 경우 큰 따옴표가 있는 #include 지시어가 사용됩니다. 또 다른 옵션은 포함 파일을 <Terminal_Directory>\MQL5\Include에 저장하는 것입니다. 이 경우 꺾쇠괄호가 있는 #include를 사용해야 합니다.

 

© 2000-2024, MetaQuotes Ltd.