커뮤니티

o 예스스팟으로 자동매매 하고 싶어요

프로필 이미지
야구르트
2018-04-12 18:24:50
2786
글번호 224374
답변완료
안녕하십니까? 아래 자동매매수식은 예스트레이더에서 구동되게끔 만들어주신 건데요. 직접 자동매매를 해보니깐 예스트레이더는 불편한점이 있어서 개선하고싶은데 주위 사람들의 의견을 들어보니 예스스팟이면 가능할거라고 해서 도움을 청하고자 합니다. 예스스팟은 생소해서 어떻게 사용하는지 조차 아직 잘 모르지만, 우선 아래 수식으로 자동매매를 돌리고 싶습니다. 다만, 아래 수식에서 기능을 약간 더 추가하고 싶은데요 "실시간 계좌잔고" 와 연동되어 주식매수가 이루어지게 하되 세금과 슬리피지를 고려해서 수식을 만들어주시면 감사하겠습니다. 이에 관해 한가지 아이디어가 생각나서 말씀드리고 싶은데 (실시간 계좌잔고/C(현재가) - 1) 이렇게 하면 어떨까 싶네요.^^ 수식 부탁드리며, 만들어주신 수식을 예스스팟에서 어떻게 구동시켜야 하는지에 대해서도 말씀 좀 해주시면 감사하겠습니다. ------------------------------------------------- 안녕하세요 예스스탁입니다. 코스피지수를 참조데이터(data2)로 추가하고 수식 적용하셔야 합니다. var : V1(0,data1),v2(0,data2); v2 = data2((C-lowD(0))/(highd(0)-lowD(0))*100); if data1(stime < 93000) Then v1 = data1(c); if data1((sdate != sdate[1] and stime >= 143000) or (sdate == sdate[1] and stime >= 143000 and stime[1] < 143000)) and v1 > dayopen and v2 > 50 then buy("b"); if MarketPosition == 1 and NextBarSdate > sdate Then exitlong("bx",AtMarket); 즐거운 하루되세요 > 야구르트 님이 쓴 글입니다. > 제목 : o 수식 작성부탁드립니다 > 부탁드립니다. 매수조건: 해당 종목(A종목)의 9시~9시30분까지 30분봉 완성시 첫 양봉이고 코스피 지수가 14시 30분에 p = (당일종가-당일저가) / (당일고가 - 당일저가) x 100 (%) p 값 > 50% 이상일때 14시 30분에 시장가 매수 매도조건: 익일 시초가 매도
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-04-18 15:11:17

안녕하세요 예스스탁입니다. 1 스팟에 대한 수식은 단순 가이드입니다. 아래 내용 참고하셔서 수정보완해 사용하시기 바랍니다. 올려주신 내용은 차트에서 신호가 발생하면 스팟에서 주문나가게 처리하시면 됩니다. 2 계좌객체의 GetBalanceETCinfo함수가 예수금 필드의 값을 인덱스를 지정해 호출하는 함수입니다. 증권사별로 인덱스별 항목이 다르므로 스팟 도움말에서 내용 참고하셔서 수정하셔야 합니다. 아래식은 하이투자증권 기준으로 주문가능현금의 99%로 매수수량 산정하게 작성되었습니다. 3 스크립트객체설정 차트객체 --> 속성에서 아이디는 Chart1로 지정하고 시스템적용된 차트와 아이디 연결 계좌객체 --> 주문낼 계좌를 지정 var reqMD,BID,BNUM; function Main_OnStart() { Main.MessageList("Spot Start"); reqMD = false; //차트 종목으로 종목객체생성 요청 Main.ReqMarketData(Main.GetOrderCode(Chart1.GetCode(1))); } function Chart1_OnRiseSignal(Signal) { //차트 종목 잔고셋팅 Account1.SetBalance(Main.GetOrderCode(Chart1.GetCode(1)), 0); //차트에서 Buy신호 발생하고 해당종목에 대한 보유수량이 없을떄만 매수주문 if (Signal.signalKind == 1 && Account1.Balance.count == 0 && reqMD == true) { //하이투자증권 주문가능현금 //NH투자증권은 주문가능현금이 제공되지 않아 D 100% 주문가능금액 정도를 사용하셔야 합니다. //var MM = Account1.GetBalanceETCinfo(16);// var MM = Account1.GetBalanceETCinfo(18); var VV = Math.floor((MM*0.99)/MD.Ask(3)); BID = Account1.OrderBuy(MD.code, VV, MD.Ask(3), 0); } //차트에서 exitlong신호 발생하면 if (Signal.signalKind == 2 && reqMD == true) { //해당 종목에 대한 미체결이 있으면 취소 Account1.SetUnfill(BNUM); if (Account1.Unfill.count > 0) { Account1.OrderCancel(BNUM); } //해당 종목에 대한 보유수량이 있으면 보유한 수량만큼만 청산 Account1.SetBalance(Main.GetOrderCode(Chart1.GetCode(1)), 0); if (Account1.Balance.count > 0 && Account1.Balance.position == 2) { BXID = Account1.OrderSell(MD.code, Account1.Balance.count, MD.Bid(3), 0); } } } function Main_OnRcvMarketData(MarketData) { //종목객체생성완료 if (MarketData.code == Main.ReqMarketData(Main.GetOrderCode(Chart1.GetCode(1)))) { reqMD = true; MD = MarketData; } } //주문접수응답 발생 function Main_OnOrderResponse(OrderResponse) { //매수주문에서 발생한 주문에 대한 접수응답이면 if (OrderResponse.orderID == BID) { //주문번호 저장 BNUM = OrderResponse.orderNum; } } 즐거운 하루되세요 > 야구르트 님이 쓴 글입니다. > 제목 : o 예스스팟으로 자동매매 하고 싶어요 > 안녕하십니까? 아래 자동매매수식은 예스트레이더에서 구동되게끔 만들어주신 건데요. 직접 자동매매를 해보니깐 예스트레이더는 불편한점이 있어서 개선하고싶은데 주위 사람들의 의견을 들어보니 예스스팟이면 가능할거라고 해서 도움을 청하고자 합니다. 예스스팟은 생소해서 어떻게 사용하는지 조차 아직 잘 모르지만, 우선 아래 수식으로 자동매매를 돌리고 싶습니다. 다만, 아래 수식에서 기능을 약간 더 추가하고 싶은데요 "실시간 계좌잔고" 와 연동되어 주식매수가 이루어지게 하되 세금과 슬리피지를 고려해서 수식을 만들어주시면 감사하겠습니다. 이에 관해 한가지 아이디어가 생각나서 말씀드리고 싶은데 (실시간 계좌잔고/C(현재가) - 1) 이렇게 하면 어떨까 싶네요.^^ 수식 부탁드리며, 만들어주신 수식을 예스스팟에서 어떻게 구동시켜야 하는지에 대해서도 말씀 좀 해주시면 감사하겠습니다. ------------------------------------------------- 안녕하세요 예스스탁입니다. 코스피지수를 참조데이터(data2)로 추가하고 수식 적용하셔야 합니다. var : V1(0,data1),v2(0,data2); v2 = data2((C-lowD(0))/(highd(0)-lowD(0))*100); if data1(stime < 93000) Then v1 = data1(c); if data1((sdate != sdate[1] and stime >= 143000) or (sdate == sdate[1] and stime >= 143000 and stime[1] < 143000)) and v1 > dayopen and v2 > 50 then buy("b"); if MarketPosition == 1 and NextBarSdate > sdate Then exitlong("bx",AtMarket); 즐거운 하루되세요 > 야구르트 님이 쓴 글입니다. > 제목 : o 수식 작성부탁드립니다 > 부탁드립니다. 매수조건: 해당 종목(A종목)의 9시~9시30분까지 30분봉 완성시 첫 양봉이고 코스피 지수가 14시 30분에 p = (당일종가-당일저가) / (당일고가 - 당일저가) x 100 (%) p 값 > 50% 이상일때 14시 30분에 시장가 매수 매도조건: 익일 시초가 매도