- CalendarCountryById
- CalendarEventById
- CalendarValueById
- CalendarCountries
- CalendarEventByCountry
- CalendarEventByCurrency
- CalendarValueHistoryByEvent
- CalendarValueHistory
- CalendarValueLastByEvent
- CalendarValueLast
CalendarValueLast
change_id를 지정한 캘린더 데이터베이스 상태 이후 국가 및 통화별로 정렬할 수 있는 모든 이벤트의 값 배열을 가져오기.
int CalendarValueLast(
|
매개변수
change_id
[in][out] ID 변경.
values[]
[out] 이벤트 값을 수신하기 위한 MqlCalendarValue 유형 배열. 다음을 확인 하세요캘린더 이벤트 핸들링 예제.
country_code=NULL
[in] 국가 코드명 (ISO 3166-1 alpha-2)
currency=NULL
[in] 국가 통화 코드명.
값 반환
수신된 이벤트 값의 수 오류에 대한 정보를 얻기 위해GetLastError() 함수 호출. 가능한 오류:
- 4001 – ERR_INTERNAL_ERROR (일반 실행시간 오류),
- 4004 – ERR_NOT_ENOUGH_MEMORY (요청된 작업을 위한 메모리가 충분하지 않음),
- 5401 – ERR_CALENDAR_TIMEOUT (요청시간 제한 초과),
- 5400 – ERR_CALENDAR_MORE_DATA (배열 크기가 부족하여 모든 값에 대한 설명을 받을 수 없으며, 해당 값에 대한 설명만 수신됨),
- 다음에 대한 실행 실패 오류: ArrayResize()
주의
이코노믹 캘린더로 작업하는 모든 기능은 무역 서버 시간 (TimeTradeServer)을 사용합니다. 즉, MqlCalendarValue 구조 및 시간과 CalendarValueHistoryByEvent/CalendarValueHistory 기능의 시간 입력은 사용자의 로컬 시간이 아니라 거래 서버 시간대에 설정됩니다.
고정된 길이의 events[] 배열이 함수에 전달되어 전체 결과를 저장할 공간이 충분하지 않으면 ERR_CALENDAR_MORE_DATA (5400) 오류가 활성화됩니다.
change_id = 0이 함수에 전달되면 해당 매개 변수에 대한 캘린더 데이터베이스의 현재 change_id가 표시되고 함수는 0을 반환합니다
country_code 및 통화 필터의 경우, NULL 및 "" 값은 동일하며 필터의 부재를 의미합니다.
country_code의 경우, MqlCalendarCountry 구조의코드필드(예:"US", "RU" 또는 "EU")를 사용해야 합니다.
통화의 경우, MqlCalendarCountry 구조의 통화 필드(예: "USD", "RUB" 또는 "EUR")를 사용해야 합니다.
필터는 연결로 적용되는데, 즉 논리적 'AND'는 두 조건(국가 및 통화)이 동시에 충족되는 이벤트 값만 선택하는데 사용됩니다
함수는 지정된 뉴스와 뉴스의 새로운 값을 수신하기 위해 함수의 후속 호출에 사용될 수 있는 새로운 change_id에 대한 배열을 반환합니다. 따라서, 마지막으로 알려진 change_id로 이 함수를 호출하여 지정된 뉴스에 대한 값을 업데이트할 수 있습니다.
MqlCalendarValue structure는 actual_value, forecast_value, prev_value 와 revised_prev_value 필드의 value를 체크하고 세팅하는 메서드를 제공합니다. 만약 아무런 value도 없을 경우 필드는 LONG_MIN (-9223372036854775808)을 저장합니다.
이들 필드에 저장된 value에는 백만이 곱해집니다. 다음의 함수를 사용하여 MqlCalendarValu에서 밸류를 받을때 CalendarValueById, CalendarValueHistoryByEvent, CalendarValueHistory, CalendarValueLastByEvent and CalendarValueLast, 필드 밸류가 LONG_MIN과 같은지 확인해야 합니다; 만약 필드에 밸류가 지정된 경우 밸류를 얻기 위해서는 밸류를 1,000,000로 나누어 줘야 합니다. value를 가져오는 또 다른 방법은 MqlCalendarValue 구조의 함수를 사용하여 value를 확인하고 가져오는 것입니다.
이코노믹 캘린더 이벤트에 대한 EA 수신 대기 샘플:
#property 설명 "CalendarValueLast 함수 사용 예제"
|
추가 참조
CalendarValueLast, CalendarValueHistory, CalendarValueHistoryByEvent, CalendarValueById