커뮤니티

예스스팟 Q&A

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

프로필 이미지
didhddk
2016-04-10
28
글번호 223874
답변완료

틱차트 봉데이터 refresh 기능 강력히 요청합니다.

안녕하세요. 틱차트의 특성상 모의에서는 서버에서 보정된 틱차트가 내려오고 실시간 거래에서는 보정되지 않는 틱데이터가 내려오는 관계로 틱 봉을 이용하여 좋은 전략을 만들어도 실제 시장에서는 무용지물이 됩니다. api 에서는 틱차트 재조회 가능한데 yesspot 에서도 가능한 기능이리라 생각됩니다. 부디 좋은 전략이 시장에서 활성화될 수 있도록 기능개선이나 추가 요청합니다. 물론 안된다면 api 로 넘어갈 수 밖에는 없겠죠..
프로필 이미지
흥진
2016-03-31
2129
글번호 223871
답변완료

문의드립니다.

노고에 감사드립니다. 1. 문의 NH트레이더를 사용하고 있습니다. 설정창에서 "계좌비밀번호 설정시 가원장 생성"에 체크한 상태입니다. 아래1.의 수식을 적용하였습니다. "매수청산실행"이라는 문구가 나오는것을 보아 수식은 정상적으로 작동하는듯 하나 실제 매수청산이 실행되지 않습니다. 컴퓨터 설정의 문제인지, 예스스팟 자체의 문제인지 알수 없어 당사의 컴퓨터로 예스스팟 로직을 실행하여 실제주문이 나가는지 확인하여 주셨으면 합니다. 2. 문의 아래2.의 수식을 적용하였습니다. 실제 종목 수는 10종목 입니다. 실제 매수가 진행되지 않습니다. 매수 조건이 충족되지 않은 경우 일지도 모른다는 생각에 if (BalanceCode.length > 99 && OrderAble == false ) { Main.MessageLog("잔고확인"); } 라는 조건을 추가 해봤지만, 실행 창에 "매수진입" 또는 "잔고확인"이라는 문구가 나타나지 않습니다. 메뉴얼을 살펴보며 수식을 확인해 보았지만, 올바른 수식인 듯하여 혼란스럽습니다. 잘못된 점을 살펴봐 주시기 바랍니다. 아래1. var Position; var BID; var Bnum; var BuyFill; var LOANDATE; function Main_OnStart() { Main.MessageLog("시작"); Position = 0; } function C1_OnRiseSignal(Signal) { if (Position == 0 && Signal.signalKind == 1 ) { Position = 1; BID = A1.OrderBuy(Signal.code, Signal.count,0, 1, 1); Main.MessageLog("매수진입"); BuyFill = 0; } //매수청산신호가 발생하고 if (Position == 1 && Signal.signalKind == 2 ) { //체결확인값이 1이면 if (BuyFill == 1) { //계좌 refresh A1.Refresh(); //Position변수는 2 Position = 2; } } } function Main_OnOrderResponse(OrderResponse) { if (Position == 1 && OrderResponse.orderID == BID) { Bnum = OrderResponse.orderNum; } } function Main_OnNotifyFill(NotifyFill) { if (Position == 1 && NotifyFill.orderNum == Bnum) { BuyFill = 1; LOANDATE = NotifyFill.loanDate; } } function Main_OnUp*dateAccount(sAccntNum, sItemCode, lUp*dateID)//*제거 { //잔고 refresh완료 if (sAccntNum == A1.number && lUp*dateID == 30000)//*제거 { //잔고 전체 종목중 //차트종목과 같고 대출종류는 1이고, 대출일이 LOANDATE와 같은 잔고가 있으면 매도 var num = A1.GetTheNumberOfBalances(); for (i = 0; i < num; i++) { A1.SetBalance(i); if (A1.Balance.code == Main.GetOrderCode(C1.GetCode(1)) && A1.Balance.loanKind == 1 && A1.Balance.loanDate == LOANDATE) A1.OrderSell(A1.Balance.code,A1.Balance.count,0, 1, A1.Balance.loanKind,A1.Balance.loanDate); Main.MessageLog("매수청산실행"); } //Position변수는 0 Position = 0; } } 2. var Position; var BID; var BuyFill; function C1_OnRiseSignal(Signal) { if (Position == 0 && Signal.signalKind == 1 ) { Position = 1; // 보유종목수 산정(동일종목코드 1개로 처리) var num = A1.GetTheNumberOfBalances(); var BalanceCode = [];//잔고에서 중복코드 제외하고 종목코드를 저장할 배열변수 var OrderAble = false;//보유중인 종목인지 판단변수 for (i = 0; i < num; i++) { A1.SetBalance(i); var hold = false; if (A1.Balance.count > 0 && A1.Balance.position == 2) { for (y = 0; y < BalanceCode.length; y++) { if (A1.Balance.code == BalanceCode[i]) { hold = true; } } if (hold == false) { BalanceCode.push(A1.Balance.code); } if (A1.Balance.code == Main.GetOrderCode(Signal.code)) { OrderAble = true; } } } if (BalanceCode.length < 100 || OrderAble == true ) { BID = A1.OrderBuy(Signal.code, Signal.count,0, 1, 1); Main.MessageLog("매수진입"); BuyFill = 0; } if (BalanceCode.length > 99 && OrderAble == false ) { Main.MessageLog("잔고확인"); } } }
프로필 이미지
사과쥬스
2016-03-28
2234
글번호 223870
답변완료

질문드립니다.

안녕하세요. 아래의 명령을 수식으로 전환부탁드릴게요. 감사합니다. 1. 계좌의 잔고가 1천만원 이하면 보유 종목(코스피선물, 옵션)을 시장가로 바로 청산한다. 2. 선물 챠트상 매수신호가 발생했고, 외국인 순매수금액(참조데이타 활용)이 100억원 이상일 때 => 콜옵션 가격 1.5이하 종목 중 제일 큰 금액인 종목을 callcode로 정의한 후 동 콜 종목을 매수한다. 3. 선물 챠트상 매도신호가 발생했고, 외국인 순매수금액(참조데이타 활용)이 -100억원 이하일 때 => 풋옵션 가격 1.5이하 종목 중 제일 큰 금액인 종목을 putcode로 정의한 후 동 풋 종목을 매수한다. 4. 선물 틱챠트에서 최근 틱봉 10개의 틱봉 평균완성시간을 알 수 있을까요? 5. 선물매수진입상태에서 직전 틱봉이 음봉이고, 고가 저가의 차이가 0.35이상이면 청산한다.
프로필 이미지
지나리
2016-03-28
2285
글번호 223869

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

프로필 이미지
너무조아
2016-03-24
32
글번호 223866

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

프로필 이미지
didhddk
2016-03-26
37
글번호 223864

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

프로필 이미지
너무조아
2016-03-15
39
글번호 223863

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

프로필 이미지
너무조아
2016-03-15
0
글번호 223862
답변완료

가이드라인 부탁드립니다.

수식작성 Q&A에 질문했던 유저입니다. 아래 내용에 대해 바쁘시겠지만, 가이드라인 부탁드립니다. 예스스팟을 이용해 주식매매를 하고자 합니다. 주로 스윙포지션으로 운용예정임. YL로 작성된 종목검색 수식을 예스스팟에서 이용하고, 전략을 YL로 기술 공통) 리얼타임으로 1분마다 종목검색을 하여 검색된 종목에 대해 7%이내에서 상승률 상위 10개 종목에 대해(옵션으로 상승률이 아닌 전일 대비 거래량증가 상위 10개로 할 경우에는 어떻게 하는지도 알려주시면 감사) 확장차트를 생성하고, A전략과 B 이평선 인디케이터를 적용 (확장차트 최대허용생성은 N으로 변수화 시킴) *** 진입전략 1) 진입신호 발생시 진입은 무조건 3회에 걸쳐 분할 진입, 매수 1호가 ~ 3호가 1.1) 만약 잔고에 편입되지 않은 종목은 신규진입하고, 잔고에 있는 종목이면 스킵 1.2) 진입시 잔고를 조회하여 한 종목당 최대 20%까지 허용, 신용매수가 가능한 종목은 신용으로 진입 (잔고가 만약 1,000만원 이고 신용으로 최대주문가능금액이 2000만원이면 종목당 최대 400만원까지 진입허용) 1.3) 10분후 미체결내역이 있으면 미체결분에 대해 매도 3호가에 진입시킴 *** 청산전략 2) 청산신호가 발생하지 않는 이상 보유 2.1) 청산신호가 발생하지 않았지만, 상한가 근처 (28%이상)에 도달할 경우 해당종목의 50%를 3번에 걸쳐 분할청산 (매도1호가 ~ 매도 3호가) 3분후 청산되지 않으면 매수 3호가에 던져 청산완료 2.2) 장중 청산신호가 발생하면 해당종목에 대해 3분할 청산주문함 (매도호가1 ~ 매도호가3에 주문함) 2.3) 2.2 연장선에서 10분이 지나면 모두 청산되어야 함. 만약 10분이 지나서도 미청산된 것이 있으면 매수 3호가에 던짐 2.4) 당일 진입한 종목의 수익률이 10%이상일 경우, M1이평선(확장차트에 이평선적용됨)을 하향돌파시 무조건 청산 2.4) 당일 청산된 종목이 있으면 재진입하지 않음 2.5) 청산완료되면 확장차트 삭제하고, 즉시 종목재검색을 하여 상위7%이내에서 편입되지 않은 종목중에 신규편입함 (진입조건은 위에 언급한것과 동일) 3) 다음날 장시작전, 편입되어 있는 종목에 대해 확장차트를 모두 생성하고, 1번에서 적용한 동일 YL전략으로 설정, 마찬가지로 청산신호 발생하기 이전까지 보유 기타 추가되어야 할 부분에 대해 함께 언급해주시면 감사하겠습니다. 내용이 다소 많은데 부탁드리겠습니다. 감사드립니다.
프로필 이미지
gt
2016-03-18
2395
글번호 223860
답변완료

예스스팟 질문입니다.

예스스팟에서 재공하는 호가 데이터를 이용해서 예스트레이더 챠트에 적용가능한 지표를 만드는 기능은 제공하지 않습니까? 예스트레이더에서는 Bids와 Asks로 잔량만 제공하는데 예스스팟에서는 1~10각 매수매도 호가도 제공하여서 이걸 이용하여 챠트에 적용가능한 지표를 만들고 싶습니다.
프로필 이미지
띠가
2016-03-13
2309
글번호 223859