이 문서에서는 MQL5에서 멀티모드용 봇 프로그램을 짜는 아이디어에 대해 논해볼 것입니다. 모드들은 객체지향적 접근으로 구현되었습니다. 모드 클래스 계층 구조와 테스트용 클래스의 인스턴스가 모두 제공됩니다. 트레이딩 봇의 멀티 모드 프로그래밍은 MQL5로 작성된 EA의 모든 작동 모드의 모든 특성을 고려해야 합니다. 해당 모드를 식별하기 위해 함수나 열거가 생성됩니다.
이 문서에서는 MQL5 EA가 작업할 수 있는 프로그래밍 모드들에 대하여 논할 것입니다. 이 문서를 통해 달성하고자 하는 목표는 "각 모드는 자기들만의 방식으로 구현되어있다"라는 것을 설명해드리는 것입니다. 저는 일련의 과정을 통해 EA 개발의 각 단계에서 필요한 작업을 더욱 능률적으로 수행할 수 있을 것이라고 믿고 있습니다.
처음엔 EA 개발에 어떠한 단계가 필요한지 확인해야합니다. 그 다음엔 MetaTrader 5의 EA가 작업하고 도우미 프로그램들을 선택하는 모드를 확인합니다. 마지막으로 윗 아이디어를 구현하는데에 필요한 클래스들의 서열을 만드는 것으로 이 문서를 마칠 것입니다.
1. 개발 단계
트레이딩 봇 (EA)의 개발은 꽤나 다면적인 과정입니다. 여기서 핵심 블록은 아이디어의 알고리즘화 및 테스트입니다. 특히 EA의 거래 논리와 코드 알고리즘이 모두 테스트됩니다.
이 과정의 단계를 하나의 방식으로 표현하면 다음과 같습니다 (1번 그림).
1번 그림. EA 개발 단계와 구현
다섯 번째 단계인 "알고리즘 트레이딩"은 관련된 개발자, 프로그래머, 분석가 및 기타 Expert의 작업을 보여줍니다. 이러한 모든 역할을 한 사람이 수행하는 경우가 종종 있습니다. 이게 트레이더-프로그래머라고 생각해봅시다.
이 스케마는 이후 업데이트해서 확장시킬 수 있습니다. 제 생각에는 EA 개발에서 가장 중요한 포인트를 보여주고 있습니다. 이 체계의 주기적인 패턴은 수명 동안 EA의 코드를 개선하고 수정할 수 있도록 합니다.
새로운 기고글 객체지향적 접근을 이용하여 EA 모드 프로그래밍하기 가 게재되었습니다:
이 문서에서는 MQL5에서 멀티모드용 봇 프로그램을 짜는 아이디어에 대해 논해볼 것입니다. 모드들은 객체지향적 접근으로 구현되었습니다. 모드 클래스 계층 구조와 테스트용 클래스의 인스턴스가 모두 제공됩니다. 트레이딩 봇의 멀티 모드 프로그래밍은 MQL5로 작성된 EA의 모든 작동 모드의 모든 특성을 고려해야 합니다. 해당 모드를 식별하기 위해 함수나 열거가 생성됩니다.
이 문서에서는 MQL5 EA가 작업할 수 있는 프로그래밍 모드들에 대하여 논할 것입니다. 이 문서를 통해 달성하고자 하는 목표는 "각 모드는 자기들만의 방식으로 구현되어있다"라는 것을 설명해드리는 것입니다. 저는 일련의 과정을 통해 EA 개발의 각 단계에서 필요한 작업을 더욱 능률적으로 수행할 수 있을 것이라고 믿고 있습니다.
처음엔 EA 개발에 어떠한 단계가 필요한지 확인해야합니다. 그 다음엔 MetaTrader 5의 EA가 작업하고 도우미 프로그램들을 선택하는 모드를 확인합니다. 마지막으로 윗 아이디어를 구현하는데에 필요한 클래스들의 서열을 만드는 것으로 이 문서를 마칠 것입니다.
1. 개발 단계
트레이딩 봇 (EA)의 개발은 꽤나 다면적인 과정입니다. 여기서 핵심 블록은 아이디어의 알고리즘화 및 테스트입니다. 특히 EA의 거래 논리와 코드 알고리즘이 모두 테스트됩니다.
이 과정의 단계를 하나의 방식으로 표현하면 다음과 같습니다 (1번 그림).
1번 그림. EA 개발 단계와 구현
다섯 번째 단계인 "알고리즘 트레이딩"은 관련된 개발자, 프로그래머, 분석가 및 기타 Expert의 작업을 보여줍니다. 이러한 모든 역할을 한 사람이 수행하는 경우가 종종 있습니다. 이게 트레이더-프로그래머라고 생각해봅시다.
이 스케마는 이후 업데이트해서 확장시킬 수 있습니다. 제 생각에는 EA 개발에서 가장 중요한 포인트를 보여주고 있습니다. 이 체계의 주기적인 패턴은 수명 동안 EA의 코드를 개선하고 수정할 수 있도록 합니다.
모든 단계에는 특정 도구, 지식 및 기술이 필요합니다.
작성자: Denis Kirichenko