커뮤니티

예스스팟 Q&A

관리자에 의해 프로그램 사용법 QnA로 이동되었습니다

프로필 이미지
huma80
2016-11-24
7
글번호 224043
0

관리자에 의해 프로그램 사용법 QnA로 이동되었습니다

프로필 이미지
짙은안개
2016-11-18
26
글번호 224042
0
답변완료

당일청산

15:10:00 당일청산 예스스팟수식을 부탁드립니다.
프로필 이미지
너무조아
2016-11-23
2210
글번호 224040
답변완료

타종목2개 추가후 차트객체이용시 signalkind 에러

타종목2개 추가후 차트객체이용시 signalkind 에러 1. 타종목 차트 2개를 차트에 추가 data1 : 연결선물 data2 : 외국인선물 순매수 data3 :KP외국인 순매수 2. 예스스팟 차트객체와 차트 연결 3. 차트에서 매도 신호 발생후, 매수신호 전환 (리버스 신호) signalkind 3 => 1 으로 변경될거로 예상해으나 1 이 아닌 0 으로 나옴
프로필 이미지
경복궁
2016-11-08
2124
글번호 224033
답변완료

부탁드리겠습니다..

안녕하세요? 제가 시스템식으로 당일매매를 하고 있습니다. 종목객체에서 수신된 매수/매도신호가 당일에 발생이 되지 않는 경우, 수동으로 매도처리를 하고 있습니다. 즉, 종목객체에서 수신되는 매수/매도 신호외 과거 보유종목이 있으면 보유종목의 평단을 수신하여 평단대비 4%대면 매도를 할 수 있는 식을 추가로 부탁드리겠습니다. 아래식으로 시스템을 입혀서 종목객체를 수신하였습니다. //요청한 종목객체가 생성되면 function Main_OnRcvMarketData(MarketData) { RcvData = RcvData+1; DataReq = false; EntryItem[RcvData] = MarketData.code; EntryObject[RcvData] = MarketData; Account1.SetBalanceItem(MarketData.code,0); Main.MessageList("종목수신",EntryObject[RcvData]); Main.MessageList(RcvData,"번째 종목생성",MarketData.name); var TradeSet = new SystemTradeInfo(TRADE_FIXCOUNT, 기타정보들..) var C1 = new ReqChartItem(EntryObject[RcvData].code, 기타정보들..) var S1 = new SystemInfo("당일매매식",YL_TYPE_NORMAL,null,TradeSet,null); Main.ReqChartEx(C1,S1); } function Main_OnRiseSignal(ChartEx, Signal) { for (var i = 1; i <= RcvData; i++) { if (EntryObject[i].code == ChartEx.GetCode(1)) { if (Signal.signalKind == 1) { BuyVol[i] = 0; if (EntryObject[i].tradeUnit == 1) BuyVol[i] = Math.floor(EntryMoney/EntryObject[i].Ask(5) ); else BuyVol[i] = Math.floor((EntryMoney/EntryObject[i].Ask(5) )/EntryObject[i].tradeUnit); Account1.OrderBuy(Signal.code,BuyVol[i],EntryObject[i].Ask(5),0); Main.MessageList("매수주문종목 : ",Signal.code); } if (Signal.signalKind == 2) Account1.OrderSell(Signal.code,BuyVol[i],EntryObject[i].Bid(5),0); Main.MessageList("매도주문종목 : ",Signal.code); } } }
프로필 이미지
만들레영토
2016-11-05
2163
글번호 224032
답변완료

(간단한 질문)엑셀 연동 관련

질문 1. 예스스팟에서 예스트레이더를 지원하지 않는 증권사 API를 이용하여 바로 주문이 가능한가요?(예스스팟 → 타 증권사 API) 질문 2. 만약 가능하지 않다면, 예스스팟에서 엑셀이나 C++로 신호를 보내서 예스트레이더를 이용하지않는 증권사로 신호를 보내 매수 매도를 할 수 있나요? (예스스팟 → 엑셀 이나 C++ → 타 증권사 API)
프로필 이미지
절제9단
2016-11-03
2101
글번호 224031
답변완료

수식을 만들었는데 에러가 납니다.

제가 만들어봤는데 에러가 나고 주문이 안됩니다. 1. 매수(도)신호가 나오면 신호가로 매수(도) 주문이 1계약 들어가고 그 뒤로 5분간 1초에 한번씩 매수(도)주문이 반복해서 들어감(1계약 -> 1계약 -> 1계약 계속적으로 5분간 반복 주문) 2. 동시호가에 잔고가 있으면 시장가 청산 현재 신호가로 주문이 잘 반복적으로 주문되지도 않고 시장가로 청산도 안됩니다. 어디가 문제인가요? 수정 부탁드립니다. 감사합니다. var Tcnt; function Chart1_OnRiseSignal(Signal) { //매수진입신호 발생 if (Signal.signalKind == 1) { //매수주문 Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), 1, Signal.price, 0); //1번 타이머 1초 셋팅 Main.SetTimer(1, 1000); //타이머 동작 카운트 값은 초기값 0 Tcnt = 0; } } //타이머 동작 function Main_OnTimer(nEventID) { //1번타이머 if (nEventID == 1) { //카운트가 1씩 증가 Tcnt = Tcnt+1; //타이머 동작시마다 주문 Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), 1, Signal.price, 0); // 4분 50초가 290초 이므로 카운트가 290번이 되면 1번 타이머 종료 if (Tcnt == 290) { Main.KillTimer(1); } } } var Tcnt; function Chart1_OnRiseSignal(Signal) { //매도진입신호 발생 if (Signal.signalKind == 3) { //매도주문 Account1.OrderSell(Main.GetOrderCode(MarketData1.code), 1, Signal.price, 0); //1번 타이머 1초 셋팅 Main.SetTimer(1, 1000); //타이머 동작 카운트 값은 초기값 0 Tcnt = 0; } } //타이머 동작 function Main_OnTimer(nEventID) { //1번타이머 if (nEventID == 1) { //카운트가 1씩 증가 Tcnt = Tcnt+1; //타이머 동작시마다 주문 Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), 1, Signal.price, 0); // 4분 50초가 290초 이므로 카운트가 290번이 되면 1번 타이머 종료 if (Tcnt == 290) { Main.KillTimer(1); } } } //15시 36분에 잔고에 포지션 있으면 청산 function Main_OnTimer(nEventID) { var d = new Date(); var HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds(); //15시 36분 이후 if (nEventID == 1 && HHMMSS >= 153600) { //타이머 종료 Main.KillTimer(1); Account1.SetBalanceItem(Main.GetOrderCode(MarketData1.code), 0); //매수포지션이면 if (Account1.Balance.position == 1) Account1.OrderBuy(Account1.Balance.code,Account1.Balance.count,0,1); //매도포지션이면 if (Account1.Balance.position == 2) Account1.OrderSell(Account1.Balance.code,Account1.Balance.count,0,1); } }
프로필 이미지
궁금궁금123
2016-10-26
2038
글번호 224028

관리자에 의해 프로그램 사용법 QnA로 이동되었습니다

프로필 이미지
ulismoon
2016-10-25
17
글번호 224027
0
답변완료

미완성신호

아래 미완성신호 스팟수식에서 오류 부분을 바르게 수정하여 주시면 감사 하겠습니다. var T; function Main_OnStart() { T = 0; Main.MessageLog("시작"); OrderCode = Main.GetOrderCode(KP.code); } function C1_OnRiseIncompleteSignal(IncompleteSignal) { Main.MessageLog("미완성신호발생/"+IncompleteSignal.SignalKind); A1.SetBalance(Main.GetOrderCode(IncompleteSignal.code)) if ((A1.Balance.position == 1 || A1.Balance.position == 0) && IncompleteSignal.SignalKind == 1) { T = 1; if(A1.Balance.position == 0) VV = 1; else VV = 2; Main.SetTimer(1,10000); } if ( A1.Balance.position == 1 && IncompleteSignal.SignalKind == 3) { T = 0; Main.KillTimer(1); Main.SetTimer(2,10000); } if ((A1.Balance.position == 2 || A1.Balance.position == 0) && IncompleteSignal.SignalKind == 3) { T = -1; if(A1.Balance.position == 0) VV = 1; else VV = 2; Main.SetTimer(2,10000); } if (A1.Balance.position == 2 && IncompleteSignal.SignalKind == 1) { T = 0; Main.KillTimer(2); Main.SetTimer(1,10000); } } function Main_OnTimer(nEventID) { if (nEventID == 1 && T == 1) { Main.KillTimer(1); A1.OrderBuy(KP.code, VV, KP.Ask(5),2); Main.MessageLog("매수진입"); } if (nEventID == 1 && T == 0) { Main.KillTimer(1); Main.MessageLog("중복매수진입금지"); } if (nEventID == 2 && T == -1) { Main.KillTimer(2); A1.OrderSell(KP.code, VV, KP.Bid(5),2); Main.MessageLog("매도진입"); } if (nEventID == 2 && T == 0) { Main.KillTimer(2); Main.MessageLog("중복매도진입금지"); } }
프로필 이미지
너무조아
2016-10-20
1978
글번호 224026

너무조아 님에 의해서 삭제되었습니다.

프로필 이미지
너무조아
2016-10-19
1
글번호 224023