보조지표 게시글

MetaTrader 5에서 SeriesIntegerInfo 및 CopyRates 바 정보 활용하기

첨부파일
26330.zip (8.02 KB, 다운로드 0회)

안녕하세요, 트레이더 여러분! 오늘은 MetaTrader 5에서 유용한 유틸리티인 SeriesIntegerInfoCopyRates를 활용해 바 정보에 대해 알아보겠습니다. 이 유틸리티는 모든 시간대의 바 수를 확인하고, 각 바에 대한 CopyRates 정보의 가용성을 보여주는 도구입니다.

먼저 이 유틸리티는 거래 정보를 제공하는 것이 아니라, 단순히 터미널 데이터가 있는 바의 수를 확인하는 데 유용합니다. SeriesIntegerInfoCopyRates 기능을 사용하여 터미널에서 바 정보의 가용성을 확인하고 표시합니다.

유틸리티는 현재 차트의 심볼을 기본값으로 사용하거나, 마켓 워치에서 원하는 심볼을 입력하여 해당 심볼의 각 시간대에 대한 정보를 표시하는 열을 생성합니다.

  • SERIES_SYNCHRONIZED: 터미널의 데이터가 동기화되어 있는지 여부 (동기화 상태는 SYNC 또는 UN_SYNC로 표시됩니다).
  • SERIES_BARS_COUNT: 해당 시간대에서 사용 가능한 바의 수 (바 0 포함).
  • SERIES_FIRSTDATE: 해당 시간대에서 가장 오래된 바의 날짜.

이 유틸리티는 각 시간대의 유효 바에 대한 CopyRates 정보를 보여주는 두 번째 열도 생성합니다. 기본적으로는 각 시간대의 가장 오래된 바에 대한 CopyRates 정보를 표시하지만, 사용자가 원하는 유효 바 번호를 입력할 수도 있습니다.

이 유틸리티는 https://www.mql5.com/en/code/26316와 쌍을 이루는 지표로, 유효 바 정보를 'Bars' 함수로 가져옵니다. SeriesIntegerInfo 함수는 바 정보를 얻는 '더 나은' 방법으로 보이지만, 둘 다 CopyRates가 정보를 가져올 수 없는 바를 보고합니다. 현재 버전의 터미널 기준입니다.

지표 디스플레이는 터미널이 데이터를 초기화하는 동안 몇 초 동안 안정화되며, 아래와 같은 일반적인 차트로 표시됩니다. 여러 개의 4401 '터미널 데이터 없음' 오류가 나타날 수 있습니다. 아래에서 번호가 매겨진 컨트롤의 기능에 대해 설명하겠습니다:

Series Info and CopyRates Indicator Display Panel.

컨트롤 설명:

1) "Rates and Bar" - 차트에서 디스플레이 위치를 선택하고 드래그하여 이동합니다.

2) 바 번호 입력 박스입니다. CopyRates 정보가 해당 바에 대해 사용 가능한지 확인하려면 바 번호를 입력하세요.

3) "Symbol" - 클릭하여 바 번호를 '가장 오래된' 기본값으로 전환하거나 마지막으로 입력한 바 번호로 전환합니다.

4) 심볼 입력 박스입니다. 마켓 워치에서 원하는 심볼을 입력하여 해당 심볼에 대한 정보를 표시합니다.

5) MN1 CopyRates 정보를 클릭하여 로그 기록을 켜거나 끌 수 있습니다. 활성화 시, Bars 및 CopyRates에서 반환된 오류가 로그에 기록됩니다.

  • 저는 // #include <errordescription.mqh> // errordescription.mqh는 다음 링크에서 찾을 수 있습니다: https://www.mql5.com/en/code/79를 추가하고 에러 설명 텍스트를 지표에 다시 추가하는 것을 추천합니다. 이 포함된 코드를 제출할 수는 없습니다.

테스트 중 SeriesIntegerInfo는 100,000보다 큰 바 값을 보고했지만, CopyRates는 항상 99,999 이하의 바 번호에 대해서만 데이터를 가져오는 것으로 보입니다. 아래 사진은 100,0000 바에 대한 CopyRates 4401 오류와 99,9999 바에 대한 성공 사례를 보여줍니다:

CopyRates Oldest Usable Bar is 99,999

버전: M1부터 MN1까지의 행 식별자는 V1.00에 누락되었으며, V1.02에서 수정되었습니다.

연관 포스트

댓글 (0)