수고 많으십니다.항상 감사하게 생각하고 있습니다. ^^
시세조회제한이 15초당 60개로 알고 있습니다.
조회실행을 해보면 42개로 제한됩니다. 확인바랍니다.
답변 1
예스스탁
예스스탁 답변
2024-05-31 11:44:32.0
안녕하세요
예스스탁입니다.
확인해 보았지만 첨부된 그림과 같이 15초에 60회 제한이 맞습니다.
60회 미만에서 제한이 걸린다면 15초 안에 이전에 발생한것이 있거나
혹은 종목객체를 생성시 일간데이터를 같이 요청하거나
투자주체별 데이터를 요청하시면 해당 데이터들도 1건씩 체크됩니다.
그러므로 종목객체를 생성하실 때
아래와 같이 종목객체생성 제한에 걸리면 15초 이후에 다시 요청하는 내용으로
식을 작성하셔야 합니다.
아래식 참고하시기 바랍니다.
var List = [],MK = [];
var req;
function Main_OnStart()
{
Main.ReqPowerSearch("테스트");
}
function Main_OnRcvItemList(aItemList, nCount, aValues)
{
var d = new Date();
var HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds();
List = aItemList;
if (List.length > 0)
{
req = 0;
var S = Main.ReqMarketData(List[req]);
Main.MessageList(HHMMSS,req,"ReqMarketData",List[req]);
if (S == -1)
{
Main.SetTimer(1, 15000);
}
}
}
function Main_OnRcvMarketData(MarketData)
{
var d = new Date();
var HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds();
if (MarketData.code == List[req])
{
MK.push(MarketData);
req = req+1;
if (req < List.length)
{
var S = Main.ReqMarketData(List[req]);
Main.MessageList(HHMMSS,req,"ReqMarketData",List[req]);
if (S == -1)
{
Main.MessageList(HHMMSS,"ReqMarketData 제한");
Main.SetTimer(1, 15000);
}
}
else
{
Main.MessageList(HHMMSS,"ReqMarketData 종료");
}
}
}
function Main_OnTimer(nEventID)
{
var d = new Date();
var HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds();
if (nEventID == 1)
{
Main.KillTimer(1);
Main.ReqMarketData(List[req]);
Main.MessageList(HHMMSS,req,"ReqMarketData 재요청",List[req]);
}
}
즐거운 하루되세요
> hyon707 님이 쓴 글입니다.
> 제목 : 시세조회 문의
> 수고 많으십니다.항상 감사하게 생각하고 있습니다. ^^
시세조회제한이 15초당 60개로 알고 있습니다.
조회실행을 해보면 42개로 제한됩니다. 확인바랍니다.