거래 로봇을 무료로 다운로드 하는 법을 시청해보세요
당사를 Twitter에서 찾아주십시오!
당사 팬 페이지에 가입하십시오
스크립트가 흥미로우신가요?
그렇다면 링크 to it -
하셔서 다른 이들이 평가할 수 있도록 해보세요
스크립트가 마음에 드시나요? MetaTrader 5 터미널에서 시도해보십시오
조회수:
104
평가:
(9)
게시됨:
MQL5 프리랜스 이 코드를 기반으로 한 로봇이나 지표가 필요하신가요? 프리랜스로 주문하세요 프리랜스로 이동

이 스크립트는 알고리즘 트레이딩 책에 소개된 CalendarForDates.mq5 스크립트의 확장 버전입니다.

입력 변수를 통해 국가 코드, 현재 코드, 필요한 기록을 필터링할 시간 범위를 지정할 수 있습니다. 입력란을 비워두면 전체 캘린더를 요청할 수 있습니다(터미널 시작 후 처음 캘린더를 요청하는 경우 기본 다운로드에 시간이 걸리거나 시간이 초과되어 결과가 나오지 않을 수 있으므로 스크립트를 다시 한 번 실행하세요).

결과적으로 가장 중요한 필드가 포함된 캘린더 기록이 포함된 CSV 파일을 얻게 됩니다(모든 필드가 내보내지는 않습니다. 필요에 따라 소스 코드를 자유롭게 조정하세요).

선택적으로, 이 책에서 소개한 표시기로 만든 *.cal 파일(특정 시간에 대한 캘린더의 보관된 사본)을 입력할 수도 있는데, 이 파일은 현재 확장 버전인 CalendarMonitorCachedTZ.mq5 (다음에 설명하는 새 기능에 권장 및 필요)를 위해 더 이상 사용되지 않습니다.

CSV로 보는 메타트레이더의 경제 캘린더


가장 흥미로운 기능은 과거 서버의 시간대 변경에 따라 캔들의 타임스탬프에 지속적으로 반영되는 과거 이벤트의 타임스탬프를 조정하기 위해 TimeServerDST.mqh의 사용법을 보여주는 스크립트입니다. 이 모드는 FixCachedTimesBySymbolHistory 입력을 true로 설정하여 활성화할 수 있습니다.

이벤트를 수정한 경우와 수정하지 않은 경우의 CSV 파일로 저장하면 시간 수정이 기록에 미치는 영향을 쉽게 비교할 수 있습니다.

이 기능을 올바르게 사용하려면 XAUUSD 또는 EURUSD H1 차트에서 스크립트를 실행하는 것이 좋습니다. 프로그래밍 방식으로 사용하는 경우 이러한 심볼을 TimeServerDST의 함수에 전달해야 합니다.

동일한 접근 방식이 CalendarMonitorCachedTZ.mq5 지표에 사용되어 시간이 수정된 캘린더 이벤트를 보관된 캘 파일로 내보내고 테스터 내부에서 로드할 수 있어 뉴스 로봇의 정확한 백테스트 및 최적화를 보장합니다.

시간 보정이 수행되는 날짜의 범위는 H1 기간의 차트에서 최대 막대 수로 제한됩니다. 이것이 TimeServerDST.mqh 내부에서 사용되는 경험적 방법의 특수성입니다.

미국 비농업 급여(NFP) 발표와 같이 시장에 큰 영향을 미치는 특정 이벤트 유형을 고려해 보겠습니다.

DST 일정(MQ 데모)이 있는 유럽 서버에서는 겨울에는 14:30에, 여름에는 15:30에 발생합니다. 아래 스크린샷에서 특정 여름 날짜 2023.08.04를 기준으로 CSV 파일로 내보낸 전체 캘린더 기록의 두 가지 버전을 나란히 볼 수 있습니다. 두 내보내기는 모두 11월 8일(겨울, 표준시)에 수행되었으므로 2023년 여름(및 다른 계절과 연도)을 포함한 모든 이벤트에 기본적으로 GMT+2 오프셋이 적용되었습니다. 수정하지 않으면(오른쪽에 표시됨) 여름 NFP의 내보낸 시간은 14:30입니다. 이는 잘못된 정보입니다.

타임스탬프가 수정된 경제 캘린더 이벤트

라이브러리는 여름에 적용되는 서버의 시간대를 경험적으로 자동 감지한 후 시간 보정을 통해 캘린더 내보내기를 수행합니다(왼쪽에 표시됨). 그 결과, 여름철 NFP는 원래대로 15:30으로 이동됩니다. 이 기간의 차트를 살펴보고 수정이 적절한지 확인할 수 있습니다.

비농업 급여의 EURUSD 상반기 차트

이 특정 사례는 수정되지 않은 발표 시간 14:30이 15:30 이전이므로 전문가는 뉴스를 계속 기다렸다가 거래를 시작할 수 있으므로 그렇게 극적이지 않습니다. 그러나 서버 시간대가 여름으로 전환되면 캘린더에 등록된 모든 겨울 이벤트에 1시간(!) 지연된 타임스탬프가 포함됩니다.

아직 실험적인 단계입니다. 언제든지 피드백을 보내주세요.

시간 수정이 뉴스 거래에 미치는 영향에 대한 추가 연구가 계획되어 있습니다. 계속 지켜봐 주세요.


첨부된 mqh 파일(CalendarFilter.mqh, CalendarCache.mqh, QuickSortStructT(Ref).mqh)에는 책의 원래 버전에 비해 버그 수정 및 개선 사항이 포함되어 있습니다.



04.10.2024 - cal-file 및 csv 파일에 서버 시간대 쓰기/읽기 오프셋이 추가되었습니다.

10.11.2024 - 서버의 소급 시간대 변경에 따라 기록에 있는 이벤트의 타임스탬프를 수정하는 옵션이 추가되었습니다.

11.11.2024 - 캘린더캐시.mqh 및 캘린더필터.mqh의 작은 버그 수정 및 개선.

22.11.2024 - CalendarCache.mqh의 작은 버그 수정 및 개선.


MetaQuotes Ltd에서 영어로 번역함.
원본 코드: https://www.mql5.com/en/code/52977

피셔 CG 오실레이터 피셔 CG 오실레이터

피셔 CG 오실레이터는 사용자 지정 CG 오실레이터 인디케이터 값의 역 피셔 변환을 통해 값을 구하는 오실레이터입니다.

미카헤킨 미카헤킨

미카헤킨 인디케이터는 인디케이터라기보다는 전체 분석 블록입니다. 막대의 색상에 따라 추세 방향이 결정되며, 막대의 높이에 따라 추세의 강도가 결정됩니다. 파란색과 분홍색 점은 각각 롱 포지션과 숏 포지션의 추적손절매 수준을 나타냅니다.

Sample pine script stochastic divergence Sample pine script stochastic divergence

MQL로 변환된 샘플 파인 코드

피셔 RVI 피셔 RVI

피셔 RVI는 RVI(상대 활력 지수) 지표 값의 역 피셔 변환을 통해 값을 구하는 오실레이터입니다.