커뮤니티

예스스팟 Q&A

답변완료

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

제가 만들어봤는데 에러가 나고 주문이 안됩니다. 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
2026
글번호 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
1969
글번호 224026

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

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

주식 매수호가 불러오기 문의드립니다.

안녕하세요~^^ 예스스팟에서 매수 신호를 발생시 주식 매수호가주문을 하고 싶습니다. 옵션에 있는 option.getbid와 동일하게 주식종목에 대한 매수호가 가격정보를 불러올수 있을까요? 해당 함수가 없다면 다른방법 예시도 부탁드립니다.
프로필 이미지
일단10억
2016-10-19
1898
글번호 224020
답변완료

시가 진입 종가 청산 답변에 대한 확인 질문입니다.

알려주신 답변이, 정각 9시와 15시 40분에 주문이 나가는 식인거 같은데, 이게 동시호가에서 시장가로 주문을 내면 무조건 체결이 되는거와 같은 개념인지요? 아니면, 알려주신 바와 같이 주문을 하면, 시가 혹은 종가에 체결이 안될수도 있는것인지요? 컴퓨터 시간에 따른다고 말씀하셔서, 왠지 제 질문과는 다른 답변이 아닌가 하여 다시 여쭙습니다. 제가 원하는 것은.. 마치 주식에서 동시호가에 시장가 주문을 하면, 장 시작과 동시에 무조건 체결되는 것과 같은 거래가 가능하냐는 것이고, 그것을 어떻게 하는 것인지 궁금해서 글을 올린 것입니다. 그리고 이전 글에서 적은 바와 같이, 이 게시판에서... 그러한 방법이 된다는 예스스탁의 답변을 보고.. 질문을 드리는 것입니다. 답변 부탁드립니다. --------------------------------- 아래는 원 질문 및 그에 대한 답변입니다. 안녕하세요 예스스탁입니다. 예스스팟으로 시간으로 지정해서 원하시는 시간에 주문을 집행할수 있습니다. 아래식은 9시가 되면 매수. 15시 40분이면 매도주문을 넣은 식입니다. 시간의 확인은 PC시간을 이용하므로 PC시간 확인하시기 바랍니다. 스크립트 설정 계좌객체 : 객체명 Account1, 계좌번호지정 종목객체 : 객체명 MarketData1, 주문낼 종목코드 지정 function Main_OnStart() { Main.MessageList("Start"); Main.SetTimer(1, 1000);//1초타이머 } function Main_OnTimer(nEventID) { var d = new Date(); var T1 = T2; var T1 = d.getHours()*10000+d.getMinutes()*100+d.getSeconds(); if (nEventID == 1) { if (T1 >= 90000 && T2 < 90000) { Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), 1, 0, 1); } if (T1 >= 154000 && T2 < 154000) { Account1.OrderSell(Main.GetOrderCode(MarketData1.code), 1, 0,1); } } } 즐거운 하루되세요 > 중박주식 님이 쓴 글입니다. > 제목 : 시가 진입 종가 청산 > 여러모로 검색해보니, 예스랭귀지에서는 시가 진입과 종가 청산이 안된다고 하네요. 이 게시판에서도 종가의 경우 예스 스팟을 써야 된다고 나오고요~ 근데, 예스 스팟 이용하면, 시가 진입도 가능하게 할 수 있나요? 일단, 이게 되는지 알아야 더 분석을 할지 말지 결정할 수 잇을 것 같아서요. 답변 부탁드립니다. 감사합니다. 아 그리고 제가 참고한 글은 아래의 글입니다. ------------------------------------------ 안녕하세요? 예스스탁입니다. 기존 YesLanguage를 이용한 방법으로는 3시 15분 종가 청산은 가능하지 않습니다. 새로 제공되는 기능은 스팟트레이딩(YesSpot)기능을 이용하시면 동시호가 시간에 잔고를 체크하여 청산 주문을 내는 것이 가능하지만, 자바스크립트를 별도로 배우셔야 사용 가능합니다. 감사합니다.
프로필 이미지
중박주식
2016-10-16
2022
글번호 224017

관리자에 의해 수식작성 QnA로 이동되었습니다

프로필 이미지
너무조아
2016-10-14
13
글번호 224016
0

관리자에 의해 수식작성 QnA로 이동되었습니다

프로필 이미지
너무조아
2016-10-14
5
글번호 224015
0

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

프로필 이미지
morsche
2016-10-15
54
글번호 224014
답변완료

OnOrderResponse 질문 드립니다.

한국투자증권 eFriendGlobal 사용하고 있습니다. 예전에 잘 사용하던 전략이 어느 순간 잘 안되는 것 같아서 문의드립니다. 정상적으로 주문이 이루어지면 메시지가 보여야 정상이잖아요? 어떤 경우라도... function Main_OnOrderResponse(OrderResponse) { Main.MessageList("ID = " + OrderResponse.orderID); if (OrderResponse.orderID == BID) { BXnum = OrderResponse.orderNum; } } 그런데 어느 순간 메시지가 보이지 않습니다. 마치 이 부분을 호출하지 않는 것처럼 말입니다. 이 부분이 해결이 안되면 큰 문제가 되어서 질문드립니다. 빠른 답변 부탁드리겠습니다.
프로필 이미지
우니쮸니
2016-10-13
1462
글번호 224013