커뮤니티

확장챠트를 요청해서 챠트가 생성되었을 때 봉이 몇개나 왔는 지 확인하는 방법?

프로필 이미지
온고지신
2026-01-09 05:06:24
46
글번호 229667
답변완료

ReqChartItem에서 요청한 봉의 갯수가 5천개여도 만에 하나 5천개가 안되는 봉이 오면 ChartEx객체에서 GetClose로 봉 갯수를 넘어서는 위치를 읽으려할때 에러가 날 것 같아서 봉의 갯수가 몇개나 왔는 지를 확인하는게 실시간 에러를 방지하는데 도움이 될 것 같은데, 그걸 어떻게 확인하는 지 아무리 뒤져봐도 방법을 못찾겠습니다.

그냥 5천개를 요청했으면 5천개가 왔다고 가정하고 index를 4999까지 써도 무방할지 아니면 데이타가 존재하지 않는 곳을 getclose같은 호출할 때 리턴되는 에러코드라던가, 어떻게 하는게 안전하게 코드를 작성하는 방법이 될까요?


답변 2
프로필 이미지

예스스탁 예스스탁 답변

2026-01-13 13:10:40

안녕하세요 예스스탁입니다. 차트객체에 별도로 봉갯수를 리턴해 주는 함수가 없습니다. 차트객체 요청시에 아래와 같이 index를 출력하는 지표식을 적용 후에 수식에서 이용하시면 됩니다. 지표명은 #index 이고 수식내용은 아래와 같습니다. plot1(index); 스팟수식에서는 아래와 같이 지표식 지정해 차트객체 생성시 같이 요청을 하고 GetIndicatorData함수로 지표명 지정해 값 받아와 사용하시면 됩니다. function Main_OnStart() { //기본종목셋팅(연결선물 주간장,5분 5000개, 갭보정안함, 수정주가처리 안함) var ChartSet = new ReqChartItem("00000000",5,CHART_PERIOD_MINUTE, 50, CHART_REQCOUNT_BAR, false, false); //지표 셋팅(지표는 복수로 지정이 가능하므로 Array에 담아 지정) //지표명 #index var IndSet = new Array(new IndicatorInfo("#index")); Main.ReqChartEx(ChartSet,null,IndSet); } function Main_OnRcvChartEx(ChartEx) { for (var i = 0; i <= ChartEx.GetIndicatorData("#index",1,0); i++) { Main.MessageList(i,ChartEx.GetClose(1,i)) } } 즐거운 하루 되세요
프로필 이미지

온고지신

2026-01-13 16:37:47

안그래도 챠트에 지표나 전략을 적용한 상태에서 스팟에서 읽어오는 것도 조만간 하려했는데 같이 해결될 수 있겠습니다 :) 감사합니다, 오늘도 좋은 하루 되세요~