커뮤니티

시세조회 건주제한 오류가 뜨는데...

프로필 이미지
오전만트레이딩
2019-08-09 23:42:56
3486
글번호 224956
답변완료
시장 상황에 따라서 종목수가 많아지는 경우가 있어서 위와 같은 에러가 뜹니다. 혹시 검색식이 A, B가 있을 때, 현재는 Main.ReqPowerSearch("A"); 이런식으로 종목을 검색하고 있는데 A의 종목수가 30종목을 넘을 시 B 검색식으로 종목을 검색하라는 함수를 짜주실수 있으실까요..?
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-08-29 16:26:10

안녕하세요 예스스탁입니다. 1 var S; function Main_OnStart() { S = 1; Main.ReqPowerSearch("A"); } function Main_OnRcvItemList(aItemList, nCount) { if (S == 1 && nCount >= 30) { S = 2; Main.ReqPowerSearch("B"); } } 2 종목에 대한 요청은 15초에 60회만 가능합니다. 제한시간이후에 다시 요청이 가능합니다. 만약 문의하신 내용은 종목이 너무 많이 검색되어 해당 종목에 대한 종목객체에 대한 문제이시면 별도로 검색을 나누실 필요는 없습니다. 시세제한이 걸리면 일정시간이후에 다시 요청을 재개하게 작성하시면 됩니다. var SList= [],req; var MK = []; function Main_OnStart() { Main.MessageList("종목검색요청"); Main.ReqPowerSearch("PSW1"); } function Main_OnRcvItemList(aItemList, nCount) { Main.MessageList("종목검색완료 : ", nCount); if (nCount > 0) { for (var i = 0; i < nCount; i++) { SList.push(aItemList[i]); } req = 0; Main.MessageList("종목객체 요청:",req,SList[req]); Main.ReqMarketData(SList[req]); } } function Main_OnRcvMarketData(MarketData) { Main.MessageList("종목객체 생성:",req,MarketData.code); if (MarketData.code == SList[req]) { MK[req] = MarketData; } req = req+1 if (req < SList.length) { Main.MessageList("종목객체 요청:",req,SList[req]); S = Main.ReqMarketData(SList[req]); if (S == -1) { Main.MessageList("종목객체 생성제한 : ", Main.GetLimitedTime(0)); Main.SetTimer(1, 15000); } } else { Main.MessageList("종목객체 생성끝"); } } function Main_OnTimer(nEventID) { if (nEventID == 1) { Main.MessageList("종목객체 재요청:",req,SList[req]); Main.ReqMarketData(SList[req]) } } 즐거운 하루되세요 > 오전만트레이딩 님이 쓴 글입니다. > 제목 : 시세조회 건주제한 오류가 뜨는데... > 시장 상황에 따라서 종목수가 많아지는 경우가 있어서 위와 같은 에러가 뜹니다. 혹시 검색식이 A, B가 있을 때, 현재는 Main.ReqPowerSearch("A"); 이런식으로 종목을 검색하고 있는데 A의 종목수가 30종목을 넘을 시 B 검색식으로 종목을 검색하라는 함수를 짜주실수 있으실까요..?