커뮤니티
확장챠트를 요청해서 챠트가 생성되었을 때 봉이 몇개나 왔는 지 확인하는 방법?
2026-01-09 05:06:24
118
글번호 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
안그래도 챠트에 지표나 전략을 적용한 상태에서 스팟에서 읽어오는 것도 조만간 하려했는데 같이 해결될 수 있겠습니다 :)
감사합니다, 오늘도 좋은 하루 되세요~
다음글
이전글