안녕하세요, 트레이더 여러분! 오늘은 메타트레이더 5의 전략 테스터에서 매뉴얼 주문을 연결하는 간단한 방법을 공유해볼게요. 대부분 아시겠지만, ChartEvent는 전략 테스터에서 작동하지 않죠. 현재 기본 MQL5 코드를 사용할 때 전략 테스터에 놓을 수 있는 가장 간단한 객체는 '라벨'과 '버튼' 뿐이에요. 라벨은 문제없이 붙일 수 있지만, 버튼은… 테스트에 성공적으로 배치하더라도 클릭 상태를 감지하기 위해서는 고급 프로그래밍이 필요하답니다.
제가 사용한 트릭은 간단한 파일 감지 과정을 활용하는 것이었어요. 이 EA를 독립적인 수신기로 생각해보세요. 매 틱마다 EA는 특정 폴더를 체크하여 주문을 트리거할 파일이 있는지 확인합니다. 필요한 텍스트 파일이 감지되면, EA는 명령을 실행하고 파일을 삭제해요. 즉, 특정 폴더에 존재하는 파일이 거래 실행의 주요 트리거가 되는 것이죠.
이제 EA가 주문을 실행하도록 명령할 수 있는 방법은 파일을 특정 폴더에 배치하는 것뿐이에요.
이 EA에서는 'buy.txt', 'sell.txt', 'close.txt'와 같은 파일명이 '...\Common\Files\' 폴더에 존재하면, 해당 파일명의 이름에 따라 특정 주문을 실행하는 명령을 트리거해요. 텍스트 파일은 비어있고, 중요한 것은 파일명의 존재와 폴더 내에서의 위치랍니다. 이 파일들은
이제 필요한 외부 애플리케이션은 해당 폴더에 필요한 텍스트 파일을 생성하거나 제공하는 것이에요. 아니면 언급한 파일명을 목표 폴더로 전송하는 방법을 찾을 수도 있죠. 저는 비주얼 베이직으로 만들었는데, 실행 파일을 여기에 업로드할 수 있을지 의문이라서, 직접 만들거나 찾아보는 게 좋을 것 같아요. 그저 적절한 폴더에 명령 텍스트 파일을 배치하는 방법이면 충분하니까요. 아래 댓글란에서 제가 만든 패널에 대해 어떻게 구현했는지 공유할 예정이니 참고해 주세요!

추천 사항:
- 테스터에서 원하는 지표를 사용하고 싶다면, 지표 템플릿을 'StrategyTesterPracticeTrade.tpl'로 저장하거나 이름을 변경하세요. 이 이름은 사용할 EA와 동일해야 합니다.
- 명령 텍스트 파일이 나타나는 적절한 폴더 위치를 기억하세요 (...\MetaQuotes\Terminal\Common\Files\).
- 이 아이디어는 전략 테스터 사용뿐만 아니라 다른 EA 코딩에 외부 영향을 연결하는 방법으로도 활용할 수 있어요. 예를 들어, 파일명의 존재뿐만 아니라 FileOpen을 사용하여 파일의 내용을 읽어 Take Profit, Stop Loss 및 로트 크기 데이터를 가져오는 등의 다양한 가능성을 탐색할 수 있습니다.