커뮤니티

수식을만들고싶습니다.

프로필 이미지
미소한방
2021-06-16 13:04:01
2643
글번호 225501
답변완료
자동매매를 하고 싶은데 아래의 조건으로 가능할지요? 1. 관심종목을 '120일 신고가' 종목으로만 구성(관심종목 추가, 제외는 수동으로 진행 예정) 2. 관심종목 중 120일 신고가 가격기준 10% 하락시 매수 주문 실행(시장가) 3. 매수 가격기준 3% 상승시 매도 주문 실행(시장가) 참고로 코딩은 한번도 해보지 않은 사람입니다. 가능하시다면 코딩 부탁 드립니다.
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2021-06-30 12:42:24

안녕하세요 예스스탁입니다. 수식의 기본흐름은 아래와 같습니다. 스팟시작시 지정한 이름의 관심그룹에서 종목코드를 가져와 해당 종목들의 종목객체를 만들고 5초간격으로 시세와 계좌를 감시해 전일최고가 대비 10% 하락하면 매수하고 매수 후 3%이상 상승하면 매도하게 됩니다. 스팟은 자바스크립트로 코딩가능한분이 사용하는 프로그램입니다. 스팟 수식답변은 식작성의 가이드 정도입니다. 아래 내용 참고하셔서 수정보완해 사용하시기 바랍니다. var List = []; var MK = []; var OD = []; var req; function Main_OnStart() { Main.MessageList("Start"); var num = Main.GetItemCountOfInterest("120일신고가"); //관심그룹명 지정 Main.MessageList("관김그룹 종목수 : ",num); if (num > 0) { for (var i = 0; i < num; i++) { List[i] = Main.GetItemCodeInInterest("120일신고가",i);//관심그룹명 지정 } Main.MessageList("종목리스트",List); if (List.length > 0) { Main.MessageList("좀목객체요청시작"); req = 0; Main.MessageList("좀목객체요청",List[req]); Main.ReqMarketData(List[req],2); } } } function Main_OnRcvMarketData(MarketData) { if (MarketData.code == List[req]) { Main.MessageList("좀목객체수신",MarketData.code); MK[req] = MarketData; OD[req] = 0; req = req+1; if (req < List.length) { Main.MessageList("좀목객체요청",List[req]); var S = Main.ReqMarketData(List[req],1); if (S == -1) { Main.MessageList("좀목객체요청시간제한 15초뒤 다시 요청"); Main.SetTimer(1, 15000);//15초 타이머 } } else { Main.MessageList("좀목객체요청종료"); Main.SetTimer(2,3000);//3초 타이머 } } } function Main_OnTimer(nEventID) { if (nEventID == 1) { Main.KillTimer(1); Main.MessageList("좀목객체재요청",List[req]); var S = Main.ReqMarketData(List[req],1); } if (nEventID == 2) { if (MK.length > 0) { for (var i = 0; i < MK.length; i++) { Account1.SetBalance(MK[i].code, 0); //전일최고가 대비 10% 이하이면 10주 시장가 매수 if (OD[i] == 0 && Account1.Balance.count == 0 && MK[i].current <= MK[i].GetPrevHigh(1)*0.90)//당일최고가이면 MK[i].current <= MK[i].high*0.90 { Account1.OrderBuy(MK[i].code,10,MK[i].current,0); OD[i] = 1; } if (OD[i] == 1 && Account1.Balance.count > 0 && MK[i].current >= Account1.Balance.avgUnitCost*1.03) { OD[i] = -1; Account1.OrderSell(Account1.Balance.code,Account1.Balance.count,0,1); } } } } } 즐거운 하루되세요 > 미소한방 님이 쓴 글입니다. > 제목 : 수식을만들고싶습니다. > 자동매매를 하고 싶은데 아래의 조건으로 가능할지요? 1. 관심종목을 '120일 신고가' 종목으로만 구성(관심종목 추가, 제외는 수동으로 진행 예정) 2. 관심종목 중 120일 신고가 가격기준 10% 하락시 매수 주문 실행(시장가) 3. 매수 가격기준 3% 상승시 매도 주문 실행(시장가) 참고로 코딩은 한번도 해보지 않은 사람입니다. 가능하시다면 코딩 부탁 드립니다.