CopyTicksRange

이 함수는 지정된 날짜 범위 내에서 MqlTick 형식의 틱을 수신하여 ticks_array를 표시합니다. 인덱스는 과거에서 현재로 이동하며 인덱스가 0인 틱이 어레이에서 가장 오래된 틱임을 의미합니다. 틱 분석을 위해 정확히 변경된 내용을 보여주는 플래그 필드를 확인하십시오.

int  CopyTicksRange(
   const string     symbol_name,           // 심볼명
   MqlTick&         ticks_array[],         // 틱 수신 배열
   uint             flags=COPY_TICKS_ALL,  // 수신되는 틱 유형을 정의하는 플래그
   ulong            from_msc=0,            // 틱 요청 시작일
   ulong            to_msc=0               // 틱 요청 만료일
   );

Parameters

symbol_name

[in]  심볼.

ticks_array

[out]  틱 수신용 MqlTick 정적 또는 동적 배열. 정적 배열이 요청된 시간 간격의 모든 틱을 고정할 수 없는 경우 가능한 최대 틱 수가 수신됩니다. 이 경우 함수는 ERR_HISTORY_SMALL_BUFFER (4407) 오류를 생성합니다.

flags

[in]  요청된 틱 유형을 정의하는 플래그. COPY_TICKS_INFO – 입찰 및/또는 요청 사항이 있는 틱, COPY_TICKS_TRADE – Last 및 Volume이 변경된 틱, COPY_TICKS_ALL – 모든 틱. 모든 요청 유형의 경우 이전 틱 값이 MqlTick 구조의 나머지 필드에 추가됩니다.

from_msc

[in]   틱 요청 시작 희망일 1970.01.01 이후 밀리초. from_msc 파라미터를 지정하지 않으면 기록 시작 부분의 틱이 전송됩니다. time >= from_msc인 틱이 전송되었습니다.

to_msc

[in]   틱 요청 만료 희망일 밀리초 단위로 1970년 1월 1일 이후 time <= to_msc인 틱이 전송되었습니다. to_msc 파라미터를 지정하지 않으면 기록 끝까지 모든 틱이 전송됩니다.

반환 값

오류가 발생한 경우 복사된 틱의 수 또는 -1입니다. GetLastError()는 다음 오류를 반환할 수 있습니다:

  • ERR_HISTORY_TIMEOUT – 틱 동기화 대기 시간이 초과되었습니다. 함수가 있는 모든 시간을 전송했습니다.
  • ERR_HISTORY_SMALL_BUFFER – 정적 버퍼가 너무 작습니다. 배열을 저장할 수 있는 양만 전송되었습니다.
  • ERR_NOT_ENOUGH_MEMORY – 지정된 범위에서 동적 틱 배열로 기록을 수신하기 위한 메모리가 부족합니다.. 틱 배열에 충분한 메모리를 할당하지 못했습니다.

참고

CopyTicksRange() 함수는 지정된 범위(예: 기록의 특정 날짜)에서 엄격하게 틱을 요청하는 데 사용됩니다. 동시에, CopyTicks()은 예를 들어 시작 날짜만 지정할 수 있습니다 – 월 시작부터 현재 순간까지 모든 틱을 수신합니다.

더 보기

SymbolInfoTick, Structure for Current Prices, OnTick, CopyTicks