커뮤니티

예스트레이더 및 NH트레이더에서 주문상태 오류발생

프로필 이미지
어느강아지의죽음
2020-05-26 10:03:49
5351
글번호 215734
답변완료

첨부 이미지

안녕하세요? https://www.yesstock.com/Board/View.asp?db=board100070&Ext=0&startpage=1&pageno=2&num=2637&ref=2628&Sort=&KeyField=Subject&KeyWord=%B0%CB%BB%F6%20%C8%C4 글의 예제를 복사해서 계좌객체만 넣고 (Account1) 동작시켜 보았는데 주문상태 : 오류 발생 만 나옵니다. NH에서 시험적용 혹은 모의투자 적용 그리고 예스트레이더에서 시험적용해도 마찬가지입니다.. 문제가 있을것같지 않은데 안되니... 프로그램재설치를 해야할까요? 아니면 실제 자동매매를 걸어야만 정상인것인지.. 종목명도 뜨지를 않아 시스템식 확인도 힘듭니다ㅜㅜ PS. test Search도 20개 내외로 검색되게 샘플제작하여 작동시켜봤습니다.
예스트레이더 (iM증권)
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-05-26 17:02:36

안녕하세요 예스스탁입니다. 1 수식 하단에 코드 오류가 있었습니다. 아래와 같이 수정하시면 됩니다. #생성된 차트에서 신호가 발생하면 function Main_OnRiseSignal(ChartEx, Signal) { //매수신호 발생하면 매수주문 if (Signal.signalKind == 1) { Account1.OrderBuy(Main.GetOrderCode(Signal.code),1,0,1); } //청산신호 발생하면 매도주문 if (Signal.signalKind == 2) { Account1.OrderSell(Main.GetOrderCode(Signal.code),1,0,1); } } 2 해당 수식 주문이 시장가로 나가게 되어 있습니다. 모의투자는 시장가를 지원하지 않아 주문발생시 오류가 발생합니다. 지정가로 주문을 내기 위해서는 호가 정보가 필요하고 종목별 호가를 알기위해서는 종목객체가 필요합니다. 아래 가이드 수식 참고하시기 바랍니다. 종목검색 --> 검색된 종목들의 종목객체를 생성 --> 차트객체 생성 --> 신호발생시 지정가로 주문 var List = []; var Req; var MK = [],CT = []; //스팟 첫 실행시 function Main_OnStart() { // 파워종목검색의 test Search라는 이름의 사용자검색조건 검색 요청 Main.MessageList("★종목검색"); Main.ReqPowerSearch("test Search") } //종목검색 완료되어 리스트(검색된 종목코드) 수신 function Main_OnRcvItemList(aItemList, nCount) { //검색된 종목코드를 저장 List = aItemList; Main.MessageList("★종목검색완료 : 검색종목수 :",List.length); if (List.length > 0) { Req = 0; Main.MessageList("종목객체요청 시작"); Main.MessageList("종목객체요청 :",List[Req]); Main.ReqMarketData(List[Req]); } } function Main_OnRcvMarketData(MarketData) { if (List[Req] == MarketData.code) { Main.MessageList("종목객체생성 :",MarketData.code); MK[Req] = MarketData; Req = Req+1; if (Req < List.length) { Main.MessageList("종목객체요청 :",List[Req]); var S = Main.ReqMarketData(List[Req]); //종목객체 제한에 걸리면 (15초에 60건) //15초 타이머 생성 if (S == -1) { Main.SetTimer(1, 15000); } } else { Main.MessageList("종목객체요청 끝"); Main.MessageList("차트객체요청 시작"); Req = 0; //차트설정 : 연결선물,1분봉,5000개, 수정주가X, 갭보정X var C1 = new ReqChartItem(MK[req].code,1,CHART_PERIOD_DAILY,5000,CHART_REQCOUNT_BAR,false,false); //시스템 설정 var S1 = new SystemInfo("Stochastics K_D"); //C1차트설정, S1시스템설정으로 첫번째 종목 차트 생성 Main.MessageList("차트객체요청 : ", MK[req].code); Main.ReqChartEx(C1,S1); } } } function Main_OnTimer(nEventID) { //재요 if (nEventID == 1) { Main.KillTimer(1); S = Main.ReqMarketData(List[Req]); } } function Main_OnRcvChartEx(ChartEx) { if (MK[Req].code == ChartEx.GetCode(1)) { Main.MessageList("차트객체생성 : ", ChartEx.GetCode(1)); CT[Req] = ChartEx; Req = Req+1; if (Req < MK.length) { var C1 = new ReqChartItem(MK[req].code,1,CHART_PERIOD_DAILY,5000,CHART_REQCOUNT_BAR,false,false); var S1 = new SystemInfo("Stochastics K_D"); Main.MessageList("차트객체요청 : ", MK[req].code); Main.ReqChartEx(C1,S1); } else { Main.MessageList("차트객체요청 끝"); } } } //생성된 차트에서 신호가 발생하면 function Main_OnRiseSignal(ChartEx, Signal) { for (var i = 0; i < MK.length; i++) { if (MK[i].code == Main.GetOrderCode(Signal.code)) { //매수신호 발생하면 매도3호가로 매수주문 if (Signal.signalKind == 1) { Account1.OrderBuy(Main.GetOrderCode(Signal.code),1,MK[i].Ask(3),0); } //청산신호 발생하면 매수3호가로 매도주문 if (Signal.signalKind == 2) { Account1.OrderSell(Main.GetOrderCode(Signal.code),1,MK[i].Bid(3),0); } } } } 즐거운 하루되세요 > 어느강아지의죽음 님이 쓴 글입니다. > 제목 : 예스트레이더 및 NH트레이더에서 주문상태 오류발생 > 안녕하세요? https://www.yesstock.com/Board/View.asp?db=board100070&Ext=0&startpage=1&pageno=2&num=2637&ref=2628&Sort=&KeyField=Subject&KeyWord=%B0%CB%BB%F6%20%C8%C4 글의 예제를 복사해서 계좌객체만 넣고 (Account1) 동작시켜 보았는데 주문상태 : 오류 발생 만 나옵니다. NH에서 시험적용 혹은 모의투자 적용 그리고 예스트레이더에서 시험적용해도 마찬가지입니다.. 문제가 있을것같지 않은데 안되니... 프로그램재설치를 해야할까요? 아니면 실제 자동매매를 걸어야만 정상인것인지.. 종목명도 뜨지를 않아 시스템식 확인도 힘듭니다ㅜㅜ PS. test Search도 20개 내외로 검색되게 샘플제작하여 작동시켜봤습니다.