MetaTrader 4를 위한 히스토리 다운로더: 차트 데이터 쉽게 받기

Mike 2018.02.14 20:51 39 0 0
첨부파일

이 EA는 현재 차트 심볼과 기간의 시세 히스토리를 '홈 버튼'을 눌러 다운로드합니다. 이 방법은 Talex의 s-Downloader 스크립트에서 구현된 아이디어를 바탕으로 하고 있습니다 (CodeBase 링크).

s-Downloader와의 주요 차이점은 현재 시간대의 바만 다운로드하며, 지정된 시간까지 데이터를 가져온다는 점입니다. 개인적으로 저는 주로 작업하는 단일 시간대에서 테스트를 진행하기 때문에 이 방식이 더 편리하다고 생각합니다.

이 구현에서는 EA가 단일 start() 반복에서 실행됩니다. 이로 인해 차트 윈도우의 바 개수와 첫 번째 바의 시간을 얻는 데 어려움이 있었습니다. 그래서 EA는 HistoryDownloaderI 지표를 통해 업데이트된 글로벌 변수에서 이러한 데이터를 가져옵니다 (첨부파일에 포함되어 있습니다). 사실, 글로벌 변수를 업데이트하는 것 외에는 지표가 더 이상 하는 일이 없습니다 :)

첨부파일에는 EA (HistoryDownloader.mq4), 지표 (HistoryDownloaderI.mq4)와 두 개의 소스 코드 및 컴파일된 파일이 포함된 압축파일 (HistoryDownloader.zip)이 있습니다.

사용 방법:

  • Ctrl+O를 눌러 최대 히스토리 바 수와 차트의 바 수를 확인하세요;
  • 다운로드할 심볼의 차트 윈도우를 열고, 해당 TF를 선택하세요;
  • 자동 스크롤을 비활성화하고 최소 배율로 설정하세요 ('줌 아웃' 최대한 하세요);
  • 차트에 HistoryDownloaderI 지표를 실행하세요;
  • 그 후 EA를 실행하세요.

EA 매개변수:

datetime ToDate - 히스토리 다운로드 시까지의 날짜

int Timeout - 차트 업데이트 대기 시간, 밀리초 단위. 기본값은 1초 (1000)

int MaxFailsInARow - 차트를 '이동'하는 데 실패한 최대 연속 시도 횟수. 기본값은 10

코드에 대해 자세히 주석을 달아 두었습니다. 어쨌든, 이것이 CodeBase에서의 첫 번째 게시물이기 때문입니다.

목록
댓글 0