커뮤니티

종목검색 문의

프로필 이미지
오토
2018-07-26 00:56:28
2572
글번호 224533
답변완료
안녕하세요. 파워종목검색으로 종목검색후 매매까지 잘되었습니다. //종목검색 완료되어 리스트(검색된 종목코드) 수신 function Main_OnRcvItemList(aItemList, nCount) { //검색된 종목코드를 저장 List = aItemList; //검색된 종목수 저장 ListCnt = nCount; //종목코드 디버깅창에 출력 Main.MessageList("전체종목코드",List); //검색된 종목에 대해 종목객체 요청 for (var i = 0; i < nCount; i++) { Main.ReqMarketData(List[i], 0, 0); } if (ListCnt >= 1){Main.KillTimer(1);} } 한번이 아니라 계속 검색을 하고 싶은데요. 예제 하나 부탁드립니다~
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-08-13 15:36:01

안녕하세요 예스스탁입니다. 1 1분단위로 종목검색하고 종목검색 후 보유종목이 아니고 미체결도 없으면 백만원어치 매수하는 내용입니다. 2 스팟은 단순 가이드 입니다. 아래 내용 참고하셔서 이후 내용 수정보완해 완성하시기 바랍니다. 3 var List = []; var req; function Main_OnStart() { Main.SetTimer(1, 60000)//1번타이머 60초 셋팅 } //타이머 동작 function Main_OnTimer(nEventID) { //1번 타이머이면 if (nEventID == 1) { //타이머 종료 Main.KillTimer(1); Main.ReqPowerSearch("#test"); } //2번 타이머이면 if (nEventID == 2) { //타이머 종료 Main.KillTimer(2); //다시요청 Main.ReqMarketData(List[req],0,0); } } //종목검색완료 function Main_OnRcvItemList(aItemList, nCount) { //검색된 종목의 종목코드 저장 List = aItemList; if (List.length > 0) { req = 0; //리스트의 첫종목에 대해 종목객체 요청 Main.ReqMarketData(List[req],0,0); } } function Main_OnRcvMarketData(MarketData) { //수신된 종목객체가 방금요청한 종목이 맞으면 if (MarketData.code == List[req]) { var UF = false; var num = Account1.GetTheNumberOfUnfills() for (var i = 0; i < num; i++) { Account1.SetUnfillIndex(i); if (Account1.Unfill.code == MarketData.code) { UF = true; } } //잔고셋팅 Account1.SetBalance(MarketData.code , 0); //해당종목에 대한 미체결이 없고 보유한 잔고가 없으면 if (UF == false && Account1.Balance.count == 0) { //백만원 매수 var vol = Math.floor(1000000/MarketData.current) Account1.OrderBuy(MarketData.code, vol,0,1); } Main.RemoveMarketData(MarketData); req = req+1; if (req < List.length) { //다음종목 종목객체 요청 var S = Main.ReqMarketData(List[req],0,0); //종목요청제한에 걸리면 if (S == -1) { Main.SetTimer(2, 20000)//2번타이머 20초 셋팅 } } else { Main.MessageList("종목객체 요청완료") //타이머 다시셋팅 Main.SetTimer(1, 60000)//1번타이머 60초 셋팅 } } } 즐거운 하루되세요 > 오토 님이 쓴 글입니다. > 제목 : 종목검색 문의 > 안녕하세요. 파워종목검색으로 종목검색후 매매까지 잘되었습니다. //종목검색 완료되어 리스트(검색된 종목코드) 수신 function Main_OnRcvItemList(aItemList, nCount) { //검색된 종목코드를 저장 List = aItemList; //검색된 종목수 저장 ListCnt = nCount; //종목코드 디버깅창에 출력 Main.MessageList("전체종목코드",List); //검색된 종목에 대해 종목객체 요청 for (var i = 0; i < nCount; i++) { Main.ReqMarketData(List[i], 0, 0); } if (ListCnt >= 1){Main.KillTimer(1);} } 한번이 아니라 계속 검색을 하고 싶은데요. 예제 하나 부탁드립니다~