커뮤니티

1초 챠트로 기간 초봉 거래량 을 구하는데 도와주세요.

프로필 이미지
nadogaja
2014-02-28 05:59:23
178
글번호 73022
답변완료
일단 1초 챠트 입니다. 1초마다 거래량을 합하고 10초가 지나면 배열 sum_vps[0] 에 각 값을 배당합니다. . 메세지 로그로 확인해 보니 값은 정확하게 들어갑니다.. 그런데... 로그를 쭈욱 살펴 보니 .. 시간이 맞지 않는겁니다. sum_vps[0] 값이 10 초마다 변해야 하는데. 맞지 않기에 그 부분을 살펴보니.... 챠트에서 시간자체가 빠져 있는것을 발견했습니다.. 090018 다음에 090019초가 아니라 090020 초가 바로 나오더군요.. 챠트에도 그 시간에 대한 데이타 자체가 빠져 있었습니다.. 이것은 왜 그런가요? 그 시간에 거래가 없었다면 거래량이 0으로 잡혀야 정상아닌가요? 단순한 프로그램 오류인지.. 그렇게 되는 이유가 있는지.. 설명좀 해주세요. var: vps(0),time_std(0),count(0); var: sum_cnt(0),cnt(0); array: sum_vps[4320](0); if date[1] != sdate then{ vps=0; time_std=0;count=0; sum_cnt=0; cnt=0; for cnt = 0 to 4319 sum_vps[cnt]=0; } if time >= 090000 Then{ if count == 0 Then{ vps = 0; } vps = vps + v; time_std = time; count=count+1; } if count == 10 then{ sum_cnt = sum_cnt+1; sum_vps[0] =vps; for cnt = 1 to sum_cnt{ sum_vps[cnt]=sum_vps[cnt-1][1]; } count = 0; time_std = time; } //MessageLog("sum_vps %.f",sum_vps[0]); MessageLog("1- %.f",sum_vps[0]); //MessageLog("2- %.f",sum_vps[1]); MessageLog("v %.f",v); buy("a",AtStop,300);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2014-02-28 13:39:48

안녕하세요 예스스탁입니다. 예스트레이더는 기본설정이 거래가 없는 구간의 봉은 표시하지 않습니다. 거래가 없는 구간의 허수봉을 그리고자 하시면 차트창 속성의 기타탭에서 [거래없는 구간 봉 그리기]를 체크해야 합니다. 아래는 1초차트에서 10초간격으로 거래량을 누적하는 식입니다. var : stimeTosecond(0),timeTosecond(0),Second(0),TT(0),VV(0); if dayindex == 0 Then{ var1 = TimeToMinutes(stime)*60; var2 = FracPortion(stime/100)*100;//시작시간 초 stimeTosecond = var1+var2; } value1 = TimeToMinutes(time)*60; value2 = FracPortion(time/100)*100;//&#44561;시간 초 timeTosecond = value1+value2; Second = timeTosecond-stimeTosecond; TT = Second%10; if dayindex == 0 or (TT < TT[1]) Then VV = 0; VV = VV+V; plot1(VV); 즐거운 하루되세요 > nadogaja 님이 쓴 글입니다. > 제목 : 1초 챠트로 기간 초봉 거래량 을 구하는데 도와주세요. > 일단 1초 챠트 입니다. 1초마다 거래량을 합하고 10초가 지나면 배열 sum_vps[0] 에 각 값을 배당합니다. . 메세지 로그로 확인해 보니 값은 정확하게 들어갑니다.. 그런데... 로그를 쭈욱 살펴 보니 .. 시간이 맞지 않는겁니다. sum_vps[0] 값이 10 초마다 변해야 하는데. 맞지 않기에 그 부분을 살펴보니.... 챠트에서 시간자체가 빠져 있는것을 발견했습니다.. 090018 다음에 090019초가 아니라 090020 초가 바로 나오더군요.. 챠트에도 그 시간에 대한 데이타 자체가 빠져 있었습니다.. 이것은 왜 그런가요? 그 시간에 거래가 없었다면 거래량이 0으로 잡혀야 정상아닌가요? 단순한 프로그램 오류인지.. 그렇게 되는 이유가 있는지.. 설명좀 해주세요. var: vps(0),time_std(0),count(0); var: sum_cnt(0),cnt(0); array: sum_vps[4320](0); if date[1] != sdate then{ vps=0; time_std=0;count=0; sum_cnt=0; cnt=0; for cnt = 0 to 4319 sum_vps[cnt]=0; } if time >= 090000 Then{ if count == 0 Then{ vps = 0; } vps = vps + v; time_std = time; count=count+1; } if count == 10 then{ sum_cnt = sum_cnt+1; sum_vps[0] =vps; for cnt = 1 to sum_cnt{ sum_vps[cnt]=sum_vps[cnt-1][1]; } count = 0; time_std = time; } //MessageLog("sum_vps %.f",sum_vps[0]); MessageLog("1- %.f",sum_vps[0]); //MessageLog("2- %.f",sum_vps[1]); MessageLog("v %.f",v); buy("a",AtStop,300);