커뮤니티

예스스팟 Q&A

cs아빠 님에 의해서 삭제되었습니다.

프로필 이미지
cs아빠
2020-07-09
22
글번호 225265
답변완료

OnUp-dateMarket 함수에 대해.

Main_OnUp-dateMarket은 언제 발생되는 이벤트 인가요? 해당 이벤트를 받기 위한 사전 조건이 어떤게 있는지 문의 드립니다. 3번에서 객체에 대한 별도 처리 하지 않으면 객체 데이터가 변경될때 onUp-dateMarket이 들어와야 되는게 아닌지 궁금합니다. 다른 가이드 보면서 아래와 같은 순서로 작성했습니다. 1. Main_OnRcvItemList 로 종목 리스트 확보 - Main.ReqChartEx로 차트 데이터 요청 2. Main_OnRcvChartEx에서 차트 데이터 확보 - Main.ReqMarketData(Items[i].Code, 0, 0);로 마켓데이터 요청 3. Main_OnRcvMarketData에서 마켓데이터 확보 - 이때는 별도 처리 없이 필요한 데이터만 설정 - MarketData객체를 없애지는 않고 그대로 유지(Main.RemoveMarketData 호출 안함) 설명으로는 시세가 업데이트되면 발생되는 이벤트라고 하는데, 스팟이 A, B, C 세개의 전략이 운용중일때, 각 스팟별로 동일한 종목에 대한 MarketData를 얻어왔을때, 각 스팟이 각각 데이터를 받을수 있는지요?
프로필 이미지
종이태우기
2020-07-08
2853
글번호 225264

안양초보 님에 의해서 삭제되었습니다.

프로필 이미지
안양초보
2020-07-05
6
글번호 225263

coralre2 님에 의해서 삭제되었습니다.

프로필 이미지
coralre2
2020-07-05
1
글번호 225262

coralre2 님에 의해서 삭제되었습니다.

프로필 이미지
coralre2
2020-07-05
1
글번호 225261
답변완료

질문 올립니다.

안녕하세요. 늘 감사드립니다. 네 개의 차트들, 즉 가령 20틱 차트, 1분봉 차트, 10분봉 차트, 30분봉 차트를 다 열어 놓고, 매수 진입: 각 차트들에서, 각각 EMA(20)들의 기울기가 모두 다 (즉 네 곳 다) 플러스일 때 매수, 매수 청산: 이 중 두 곳 이상에서 이 기울기가 마이너스가 되면 매수 청산, 매도 진입: 네 곳 다 20이평 기울기 마이너스일 때 매도 진입, 매도 청산: 두 곳 이상에서 기울기가 플러스가 되면 매도 청산. 하는 식들 부탁 드립니다. 감사합니다. (제가 지금 예스랭귀지만 쓰고 있고, 예스스팟은 써 본지가 오래 되어서, 이런 것이 가능한지 잘 알지 못합니다. 가르쳐 주시면 대단히 감사하겠습니다)
프로필 이미지
즐겁게
2020-07-01
2834
글번호 225260
답변완료

OrderRepsponse.orderNum 세팅 오류

안녕하세요 NH 에서 모의투자를 진행중에 있습니다만 OnOrderResponse 에서 주문 접수시에 orderNum 값이 0으로 세팅되어 있는 경우가 있습니다. orderNum 이외의 값은 정상적으로 세팅 되어 있습니다. 스팟전략 수행 초반에 주로 나오는것으로 보이며 약 1분이내의 짧은 시간동안 이런 증상이 지속되다가 정상화 됩니다. 정상화 되면 orderNum 가 증가해 있는것으로 보아 주문 접수는 된것으로 보이는데 orderNum 를 정상적으로 받지 못하면 어떤 주문에 대한 response 인지 관리가 어렵습니다. 증권사 모의투자 서버측의 문제인지 예스스팟 API의 문제인지 버그로 보입니다. 확인 좀 부탁드립니다.
프로필 이미지
akuti
2020-06-30
3040
글번호 225259

노영철 님에 의해서 삭제되었습니다.

프로필 이미지
노영철
2020-06-29
13
글번호 225258
답변완료

스팟수식 부탁드립니다.

예스랭귀지 차트 신호대로 매매를 하려고 하는데 스팟을 이용하면 주문 체결 여부나 오류발생 때 대응할 수 있다고 해서 공부해보려고 했으나 너무 어렵네요.. 1. 미니나스닥 신호대로 마이크로 나스닥 4계약 매매 2. 접수된 주문이 없고, 포지션이 없을 때, -진입 미완성 신호 = 무시 -진입 완성신호 = 현재가로 주문. 접수된 주문이 없고, 포지션이 있을 때, -청산 미완성/완성 신호 = 시장가 주문. 3. 주문 후 5초안에 오류가 발생하거나 체결이 안되면 기존 주문 취소 후 체결 될 때까지 5초마다 시장가로 재주문 1번은 차트객체 추가해서 미니나스닥 차트아이디 적용하고, 종목객체 추가해서 마이크로 나스닥 지정했고 계약수를 4로 어디서 바꾸죠? 2번은 도움말, 답변보면서 눈치껏 적었는데 의도한대로 작성됬는지 모르겠네요 3번은 어떻게 추가해야할지 잘 모르겠어요 -------------스크립트 시작------------- var Position; var BID; var SID; var Snum; var Bnum; function Main_OnStart() { Main.MessageList("Start"); Position = 0; } //(ExitLong)(ExitShort) //시스템미완성 신호 발생 function Chart1_OnRiseIncompleteSignal(IncompleteSignal) { // Position = 1일때 ExitLong 미완성 신호 발생하면 if (IncompleteSignal.signalKind == 2 && Position == 1) { //포지션 설정 Position = 0 ; //BNum 매수주문번호에 대해 미체결된 숫자설정 Account1.SetUnfillOrderNumber(BNum); //미체결된 매수수량이 0 이상이면 취소주문 if(Account1.Unfill.Count > 0) Account1.OrderCancel(BNum); //잔고 셋팅 Account1.SetBalanceIndex(Main.GetOrderCode(MarketData1.code)); //잔고수량 0 이상, 매수포지션일때 if (Account1.Balance.count > 0 && Account1.Balance.position == 2) { //잔고 수량 모두 시장가 청산(매도주문) Account1.OrderSell(Main.GetOrderCode(MarketData1.code), Account1.Balance.count, 0, 1); Main.MessageList("----------------"); Main.MessageList("매수청산",Position) } } // Position = -1일때 ExitShort 미완성 신호 발생하면 if (IncompleteSignal.signalKind == 4 && Position == -1) { //포지션 설정 Position = 0 ; // SNum 매도주문번호에 대해 미체결된 숫자설정 Account1.SetUnfillOrderNumber(SNum); //미체결된 매도수량이 0 이상이면 취소주문 if (Account1.Unfill.count > 0) Account1.OrderCancel(SNum); //잔고 셋팅 Account1.SetBalanceIndex(Main.GetOrderCode(MarketData1.code)); //잔고수량 0 이상, 매도포지션일때 if (Account1.Unfill.count > 0 && Account1.Balance.position == -1) { //잔고 수량 모두 시장가 청산(매수주문) Account1.OrderBuy(Main.GetOrderCode(MarketData1.code)); Main.MessageList("----------------"); Main.MessageList("매도청산",Position) } } } //(Buy)(Sell) //완성 신호 발생 function Chart1_OnRiseSignal(Signal) { //Position = 0일때 buy 완성 신호 최초발생하면 if (Signal.signalKind == 1 && Position == 0 ) { BID = Account1.OrderBuy(Main.GetOrderCode(MarketData11.code), Math.abs(Signal.count), 0, 1 ); Position = 1 ; Main.MessageList("----------------"); Main.MessageList("매수진입", Position); } //Position = 0일때 Sell 완성 신호 최초발생하면 if (Signal.signalKind == 3 && Position == 0) { SID = Account1.OrderSell(Main.GetOrderCode(MarketData1.code), Math.abs(Signal.count), 0, 1 ); Position = -1 ; Main.MessageList("----------------"); Main.MessageList("매도진입", Position); } // Position = 1일때 ExitLong 완성 신호 발생하면 if (Signal.signalKind == 2 && Position == 1) { //포지션 설정 Position = 0 ; //BNum 매수주문번호에 대해 미체결된 숫자설정 Account1.SetUnfillOrderNumber(BNum); //미체결된 매수수량이 0 이상이면 취소주문 if(Account1.Unfill.Count > 0) Account1.OrderCancel(BNum); //잔고 셋팅 Account1.SetBalanceIndex(Main.GetOrderCode(MarketData1.code)); //잔고수량 0 이상, 매수포지션일때 if (Account1.Balance.count > 0 && Account1.Balance.position == 2) { //잔고 수량 모두 시장가 청산(매도주문) Account1.OrderSell(Main.GetOrderCode(MarketData1.code), Account1.Balance.count, 0, 1); Main.MessageList("----------------"); Main.MessageList("매수청산",Position) } } // Position = -1일때 ExitShort 완성 신호 발생하면 if (Signal.signalKind == 4 && Position == -1) { //포지션 설정 Position = 0 ; // SNum 매도주문번호에 대해 미체결된 숫자설정 Account1.SetUnfillOrderNumber(SNum); //미체결된 매도수량이 0 이상이면 취소주문 if (Account1.Unfill.count > 0) Account1.OrderCancel(SNum); //잔고 셋팅 Account1.SetBalanceIndex(Main.GetOrderCode(MarketData1.code)); //잔고수량 0 이상, 매도포지션일때 if (Account1.Unfill.count > 0 && Account1.Balance.position == -1) { //잔고 수량 모두 시장가 청산(매수주문) Account1.OrderBuy(Main.GetOrderCode(MarketData1.code)); Main.MessageList("----------------"); Main.MessageList("매도청산",Position) } } } //주문응답 function Main_OnOrderResponse(OrderResponse) { //Position이 1인 상태에서 주문응답아이디와 BID가 같으면 //BNum에 주문번호 저장 if (Position == 1 && OrderResponse.orderID == BID) { BNum = OrderResponse.orderNum; } //Position이 -1인 상태에서 주문응답아이디와 SID가 같으면 //SNum에 주문번호 저장 if (Position == -1 && OrderResponse.orderID == SID) { SNum = OrderResponse.orderNum; } }
프로필 이미지
swhinc
2020-06-29
3186
글번호 225257

피셔 님에 의해서 삭제되었습니다.

프로필 이미지
피셔
2020-06-25
12
글번호 225256