커뮤니티

모의투자 주문가능수량 오류 원인을 알고 싶습니다

프로필 이미지
노르웨이
2016-10-05 14:22:22
1763
글번호 224004
답변완료

첨부 이미지

자꾸 주문가능 수량 오류가 납니다ㅠㅠ 현제 메뉴얼의 예제 7번 진행중입니다. 먼저 수식이며 var Skind; var Scode; var Scount; var Start; function Main_OnStart() { Main.MessageLog("시작"); Start = 0; } function C1_OnRiseSignal(Signal) { Skind = Signal.signalKind; //완성신호종류 Scode = Signal.code; //완성신호 종목코드 Scount = Signal.count; //완성신호 주문수량 Main.ReqMarketData(Signal.code, 0); } function Main_OnRcvMarketData(MarketData) { var SSEobject = MarketData; var dayma1 = C2.GetIndicatorData("이동평균 5_20_60", 1, 0); var dayma2 = C2.GetIndicatorData("이동평균 5_20_60", 2, 0); var dayma3 = C2.GetIndicatorData("이동평균 5_20_60", 3, 0); var predayma1= C2.GetIndicatorData("이동평균 5_20_60", 1, 1); var slowK = C2.GetIndicatorData("Stochastics", 1, 0); if (Skind == 1 && dayma1 > dayma2 && dayma2 > dayma3 && dayma1 > predayma1 //5일 이평값이 바로 전 봉보다 크고 && slowK <= 100) { SID = A1.OrderSell(Scode,Scount,SSEobject.Bid(2),0); Main.MessageList(atTime() ," 매도진입(종목) : " , Scode ," 신호명 : " , Scount , " 주문식별번호 : " , SID , " 현재가 : " , SSEobject.current ); Start = 1; } if (Start ==1 && Skind ==2) { SID = A1.OrderSell(Scode,Scount,SSEobject.Bid(2),0); Main.MessageList(atTime() ," 매도진입(종목) : " , Scode ," 신호명 : " , Scount , " 주문식별번호 : " , SID , " 현재가 : " , SSEobject.current ); } //SSEobject 종목객체 삭제 Main.RemoveMarketData(SSEobject); } 사진 첨부합니다.
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-10-19 14:26:19

안녕하세요 예스스탁입니다. 작성하신 식에서는 계속 매도주문만 내게 되어 있습니다. 차트 매수신호 발생 --> 매도주문 차트 매수청산신호 발생 --> 매도주문 잔고에 수량에 없는상태에서 발생하므로 오류가 발생하는 것입니다. 즐거운 하루되세요 > 노르웨이 님이 쓴 글입니다. > 제목 : 모의투자 주문가능수량 오류 원인을 알고 싶습니다 > 자꾸 주문가능 수량 오류가 납니다ㅠㅠ 현제 메뉴얼의 예제 7번 진행중입니다. 먼저 수식이며 var Skind; var Scode; var Scount; var Start; function Main_OnStart() { Main.MessageLog("시작"); Start = 0; } function C1_OnRiseSignal(Signal) { Skind = Signal.signalKind; //완성신호종류 Scode = Signal.code; //완성신호 종목코드 Scount = Signal.count; //완성신호 주문수량 Main.ReqMarketData(Signal.code, 0); } function Main_OnRcvMarketData(MarketData) { var SSEobject = MarketData; var dayma1 = C2.GetIndicatorData("이동평균 5_20_60", 1, 0); var dayma2 = C2.GetIndicatorData("이동평균 5_20_60", 2, 0); var dayma3 = C2.GetIndicatorData("이동평균 5_20_60", 3, 0); var predayma1= C2.GetIndicatorData("이동평균 5_20_60", 1, 1); var slowK = C2.GetIndicatorData("Stochastics", 1, 0); if (Skind == 1 && dayma1 > dayma2 && dayma2 > dayma3 && dayma1 > predayma1 //5일 이평값이 바로 전 봉보다 크고 && slowK <= 100) { SID = A1.OrderSell(Scode,Scount,SSEobject.Bid(2),0); Main.MessageList(atTime() ," 매도진입(종목) : " , Scode ," 신호명 : " , Scount , " 주문식별번호 : " , SID , " 현재가 : " , SSEobject.current ); Start = 1; } if (Start ==1 && Skind ==2) { SID = A1.OrderSell(Scode,Scount,SSEobject.Bid(2),0); Main.MessageList(atTime() ," 매도진입(종목) : " , Scode ," 신호명 : " , Scount , " 주문식별번호 : " , SID , " 현재가 : " , SSEobject.current ); } //SSEobject 종목객체 삭제 Main.RemoveMarketData(SSEobject); } 사진 첨부합니다.