CustomTicksAdd

MqlTick 유형의 배열에 있는 데이터를 사용자 지정 심볼의 가격 내역에 추가. 마켓 워치 창에서 사용자 지정 심볼을 선택해야 합니다.

int  CustomTicksAdd(
   const string     symbol,             // 심볼 이름
   const MqlTick&   ticks[],            // 사용자 지정 심볼에 적용해야 하는 틱 데이터가 있는 배열
   uint             count=WHOLE_ARRAY   // 사용할 ticks[] 배열 요소의 수
   );

매개변수

심볼

[in]  사용자 지정 심볼의 이름.

ticks[]

[in]   MqlTick 유형의 틱 데이터 배열은 이전 데이터에서 최근 데이터까지 시간 순서대로 배열됩니다, 예를 들면 ticks[k].time_msc <= ticks[n].time_msc, if k<n.

count=WHOLE_ARRAY

[in]  추가하는데 사용할 ticks[] 배열 요소의 수. WHOLE_ARRAY 는 모든 ticks[] 배열 요소를 사용해야 함을 의미합니다.

값 반환

오류가 발생한 경우 추가된 틱 수 또는 -1.

추가 참고

CustomTicksAdd 기능은 마켓 워치 창에 열린 사용자 지정 심볼에 대해서만 작동합니다. 마켓 워치(Market Watch)에서 심볼이 선택되지 않은 경우, CustomTicksReplace을 사용하여 틱을 추가해야 합니다.

CustomTicksAdd 기능을 통해 브로커의 서버에서 제공된 것처럼 틱을 전송할 수 있습니다. 데이터는 체크 표시 데이터베이스에 직접 기록되지 않고 마켓 워치(Market Watch) 창으로 전송됩니다. 그런 다음 마켓 워치의 틱을 데이터베이스에 저장합니다. 한 함수 호출 중에 전송되는 데이터 양이 많으면 리소스 사용을 줄이기 위해 함수 동작이 변경됩니다. 256개 이상의 틱이 통과되면 데이터가 두 부분으로 나뉩니다. 첫 번째, 즉 큰 부분은 CustomTicksReplace에서 수행한 것 처럼 틱 데이터베이스에 직접 기록됩니다. 128개의 틱이 포함된 두 번째 부분은 마켓 워치 창으로 전달되며, 이 창에서 터미널은 틱을 데이터베이스에 저장합니다.

MqlTick 구조에는 시간 값(초 단위의 눈금 시간)과 1970년 1월 1일부터 카운트되는 time_msc (밀리초 단위의 눈금 시간)의 두 필드가 있습니다. 추가된 틱의 이러한 필드는 다음 순서로 처리됩니다.

  1. ticks[k].time_msc!=0인 경우, ticks[k].time 필드를 채우는데 사용하며, 예를 들어 틱에 대해 ticks[k].time=ticks[k].time_msc/1000 (정수 부분)이 설정
  2. ticks[k].time_msc==0 이고 ticks[k].time!=0인 경우, 밀리초 단위의 시간은 1000을 곱하여 얻습니다, 예를 들어 ticks[k].time_msc=ticks[k].time*1000
  3. ticks[k].time_msc==0 이고 ticks[k].time==0인 경우, 현재 거래 서버 시간은 CustomTicksAdd 호출 시점 현재 밀리초까지 이 필드에 기록됩니다.

ticks[k].bid, ticks[k].ask, ticks[k].last 또는 ticks[k].volume의 값이 0보다 크면 적절한 플래그 조합이 ticks[k].flags 필드에 기록됩니다:

  • TICK_FLAG_BID – 틱이 입찰 가격을 변경했습니다
  • TICK_FLAG_ASK  – 틱이 요청 가격을 변경했습니다
  • TICK_FLAG_LAST – 틱이 마지막 거래 가격을 변경했습니다
  • TICK_FLAG_VOLUME – 틱이 볼륨을 변경했습니다

필드 값이 0보다 작거나 같으면 해당 플래그가 ticks[k].flags 필드에 기록되지 않습니다.

 

TICK_FLAG_BUY 및 TICK_FLAG_SELL 플래그는 사용자 지정 심볼의 기록에 추가되지 않습니다.

 

추가 참조

CustomRatesDelete, CustomRatesUpdate, CustomTicksReplace, CopyTicks, CopyTicksRange