예스스탁
예스스탁 답변
2013-01-15 15:29:00
안녕하세요? 예스스탁입니다.
올려주신 내용을 보고 2일간에 걸쳐서 시세 테스트를 해보았습니다.
테스트해 보셨던 내용과 동일하게 1틱 차트로 적용해 놓고 print문으로 내보내서 테스트 해 보았고, 차트에 그리기 이전의 데이터 시간에 대해서도 테스트 해보았는데, 말씀하신 지연 현상은 나타나지 않았습니다.
해당 지연현상이 나타날 수 있는 경우는 두 가지 정도인데,
첫번째는 시세를 많이 받는 화면(옵션시세표, 호가클릭종합주문)이 여러개 띄워져 있을 경우 또는 차트가 여러개 띄워져 있는 경우에 시세처리가 늦어져서 시세 지연현상이 나올 수 있습니다.
두번째는 복잡한 지표나 전략이 적용되어 있는 경우에 랭귀지에서 처리하기 위해서 CPU를 모두 점유하기 때문에 시세 지연이 발생할 수 있습니다.
정확한 테스트를 하기 위해서는 선물 차트 이외에 다른 화면이나 전략을 걸지말고, 시세 속도 테스트를 위한 전략 1개만 적용해서 테스트 해보셔야 시세가 지연되는지 확인이 가능합니다. 저희가 2일간 테스트 해본 결과로는 시세 지연 현상은 없었습니다.
감사합니다.
> actaus 님이 쓴 글입니다.
> 제목 : 1틱챠트 지연현상
> 첨부된 엑셀파일은 2013-01-10 일 선물의 1틱챠트에 아래의 지표를 적용하여 실제시각과 챠트에서 처리하는 데이타의 시각을 비교하여 지연시간을 알아본 것입니다. 예스트레이더4 버전을 사용한 것이고 최초봉의 수를 5000으로 잡았읍니다.
최초 5000개 봉을 그린 이후에, 지연이 5분이상 되는 부분도 있고, 지연이 거의0 인 부분도 있는데, 이런 지연이 생기는 원인은 무엇입니까?
네트웍 문제는 아닙니다. 데이타를 지연되어 보내주거나, 예스트레이더4 소프트웨어의 챠트에 봉을 그릴 수 있는 속도의 한계로 생각되는데, 초당 몇개의 봉을 지연없이 그릴 수 있는지 자체평가한 결과를 공개해 주시면 사용에 도움이 되겠읍니다. PC는 intel i5-2500K 3.3GHz, 1GB RAM 에 예스트레이더4 만 실행하는 상태에서 만든 것입니다.
(4MB 이상의 파일은 첨부가 안되어 일부 지연과 관련없는 데이타를 지웠읍니다.)
=============== 지표 ======================
Var: strFileName(""), ctime(0), delay(0);
if index == 0 then {
strFileName = "chart_" + NumToStr(CurrentDate, 0) + "_" + NumToStr(CurrentTime, 0) + ".csv";
print(strFileName, ",cTime,delay,sDate,sTime,index,open,high,low,close,openinterest,bids,asks,ticks,upticks,downticks,volume,upvol,downvol");
}
ctime = CurrentTime;
delay = (int(ctime/10000)*3600+(mod(ctime,10000)-mod(ctime,100))/100*60+mod(ctime,100)) -
(int(sTime/10000)*3600+(mod(sTime,10000)-mod(sTime,100))/100*60+mod(sTime,100));
print(strFileName, ",%8.0f,%8.0f,%8.0f,%8.0f,%8.0f,%8.2f,%8.2f,%8.2f,%8.2f,%8.0f,%8.0f,%8.0f,%8.0f,%8.0f,%8.0f,%8.0f,%8.0f,%8.0f",
CurrentTime, delay, sDate, sTime, index, open, high, low, close, openinterest, bids, asks, ticks, upticks, downticks, volume, upvol, downvol);