커뮤니티

수식 좀 부탁 드립니다

프로필 이미지
crazaq
2019-11-14 23:01:41
3543
글번호 225086
답변완료
종목 검색후 매수가 가 정해지게 수식을 만들엇읍니다 검색후 메수 전 까지 주가가 5 % 이상 상승하면 매수 취소 할수 있는 수식이 필요 합니다
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-12-06 15:18:30

안녕하세요 예스스탁입니다. 아래와 같이 작성하시면 종목검색후에 각 종목에 대해 종목객체를 요청하고 종목객체가 생성된 시점의 현재가와 그이후 최고가를 계산하게 됩니다. 각 종목의 종목객체는 MK배열변수, 생성시점의 현재가는 PP배열변수에, 이후최고가는 HH배열변수에 모두 동일방번호에 저장됩니다. 매수주문시점에 매수할 종목의 종목객체를 찾아서 동일번호의 HH와 PP를 비교해서 조건지정해 처리하시면 됩니다. //매수주문이 발생하는 이벤트 function 이벤트 { if (매수조건) { //매수할 종목의 종목코드와 for (var i = 0; MK.length; i++) { if (주문할종목종목코드 == MK[i].code && HH[i] < PP[i]*1.05) { Account1.OrderBuy(sItemCode, nCount, dPrice, nPriceKind) } } } } 아래는 수식입니다. var List = [], MK = [], PP = [],HH = []; var req; function Main_OnStart() { //종목검색 Main.MessageList("종목검색요청"); Main.ReqPowerSearch("사용자검색조건"); } function Main_OnRcvItemList(aItemList, nCount) { Main.MessageList("종목검색완료"); if (nCount > 0) { List = aItemList; req = 0; Main.ReqMarketData(List[req]); } } function Main_OnRcvMarketData(MarketData) { if (MarketData.code == List[req]) { //종목객체 저장 MK[req] = MarketData; //현재가 저장 PP[req] = MarketData.current; //최고가 저장 HH[req] = MarketData.current; req = req+1; if (req < List.length) { var s = Main.ReqMarketData(List[req]); if (s == -1) { Main.MessageList("종목객체생성제한 15초 뒤 재요청"); Main.SetTimer(1, 15000); } } else { Main.MessageList("종목객체생성끝"); } } } function Main_OnTimer(nEventID) { if (nEventID == 1) { Main.KillTimer(1); Main.ReqMarketData(List[req]); } } function Main_OnUp*dateMarket(sItemCode, lUp*dateID)//*제거 { //시세 업데이트할때 업데이트된 종목을 찾아 최고가 갱신되면 HH변수 갱신 if (lUp*dateID == 20001)//*제거 { for (var i = 0; i < MK.length; i++) { if (sItemCode == MK[i].code && MK[i].current > HH[i]) { HH[i] = MK[i].current; } } } } 즐거운 하루되세요 > crazaq 님이 쓴 글입니다. > 제목 : 수식 좀 부탁 드립니다 > 종목 검색후 매수가 가 정해지게 수식을 만들엇읍니다 검색후 메수 전 까지 주가가 5 % 이상 상승하면 매수 취소 할수 있는 수식이 필요 합니다