커뮤니티

종목검색식 변환 추가문의드립니다.

프로필 이미지
강지
2021-04-19 21:44:38
1116
글번호 148191
답변완료
어제 아래와 같은 키움조건식을 예스랭귀지로 변환해주셨었는데요. 아래 키움조건식의 J항이 1분봉 기준인 경우 어떻게 수정하면 되는지요? (H or I) and J H [10분]거래대금(일:백만, 분:천) 50000이상 999999999이하 I [5분]거래대금(일:백만, 분:천) 30000이상 999999999이하 J 신고가:[5분]0봉전 종가가 3봉중 신고가 -> 신고가:[1분]0봉전 종가가 3봉중 신고가 input : ntime(10); var : S1(0),D1(0),TM(0),TF(0),MM(0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%ntime; if Bdate != Bdate[1] or (Bdate == Bdate[1] and ntime > 1 and TF < TF[1]) or (Bdate == Bdate[1] and ntime > 1 and TM >= TM[1]+ntime) or (Bdate == Bdate[1] and ntime == 1 and TM > TM[1]) Then { mm = 0; } mm = mm + m; if (MM >= 50000000 or M >= 30000000) and C < Highest(H,3)[1] Then Find(1); }
종목검색
답변 3
프로필 이미지

예스스탁 예스스탁 답변

2021-04-20 09:27:37

안녕하세요 예스스탁입니다. 1 1분봉, 5분봉, 10분봉의 내용이 필요하므로 1분봉 주기에서 5분봉의 거래대금을 별도로 계산해서 구현하셔야 합니다. 수정한 식은 아래와 같습니다. 2 신고가 내용이 조건이 잘못지정되어서 C < Highest(H,3)[1] C > Highest(H,3)[1]로 변경했습니다. 3 input : ntime1(10),ntime2(5); var : S1(0),D1(0),TM(0),TF1(0),TF2(0),M1(0),M2(0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF1 = TM%ntime1; #5분봉 거대대금 if Bdate != Bdate[1] or (Bdate == Bdate[1] and ntime1 > 1 and TF1 < TF1[1]) or (Bdate == Bdate[1] and ntime1 > 1 and TM >= TM[1]+ntime1) or (Bdate == Bdate[1] and ntime1 == 1 and TM > TM[1]) Then { m1 = 0; } m1 = m1 + m; #10분봉 거래대금 TF2 = TM%ntime2; if Bdate != Bdate[1] or (Bdate == Bdate[1] and ntime2 > 1 and TF2 < TF2[1]) or (Bdate == Bdate[1] and ntime2 > 1 and TM >= TM[1]+ntime2) or (Bdate == Bdate[1] and ntime2 == 1 and TM > TM[1]) Then { m2 = 0; } m2 = m2 + m; if (M2 >= 50000000 or M1 >= 30000000) and C > Highest(H,3)[1] Then Find(1); } 즐거운 하루되세요 > 강지 님이 쓴 글입니다. > 제목 : 종목검색식 변환 추가문의드립니다. > 어제 아래와 같은 키움조건식을 예스랭귀지로 변환해주셨었는데요. 아래 키움조건식의 J항이 1분봉 기준인 경우 어떻게 수정하면 되는지요? (H or I) and J H [10분]거래대금(일:백만, 분:천) 50000이상 999999999이하 I [5분]거래대금(일:백만, 분:천) 30000이상 999999999이하 J 신고가:[5분]0봉전 종가가 3봉중 신고가 -> 신고가:[1분]0봉전 종가가 3봉중 신고가 input : ntime(10); var : S1(0),D1(0),TM(0),TF(0),MM(0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%ntime; if Bdate != Bdate[1] or (Bdate == Bdate[1] and ntime > 1 and TF < TF[1]) or (Bdate == Bdate[1] and ntime > 1 and TM >= TM[1]+ntime) or (Bdate == Bdate[1] and ntime == 1 and TM > TM[1]) Then { mm = 0; } mm = mm + m; if (MM >= 50000000 or M >= 30000000) and C < Highest(H,3)[1] Then Find(1); }
프로필 이미지

강지

2021-04-20 10:59:09

빠르게 답변해주셔서 정말 감사합니다. 이제 약간 이해가 되는것같습니다. 만들어 주신 예제처럼 1분봉 기준으로 5분봉과 10분봉을 계산으로 만들어서 하는 방법도 있고, 아니면 1분봉, 5분봉, 10분봉을 각각 파워검색에서 지정하여 쓸 수 있는거죠? 혹시 검색 속도는 어느 방법이 우수할까요?
프로필 이미지

예스스탁 예스스탁 답변

2021-04-20 11:27:35

안녕하세요 예스스탁입니다. 예 맞습니다. 종목검색은 최대 500봉이 제공됩니다. 해당 봉수이내에서 구할수 있는 타주기값은 수식에서 구현하고 가능하지 않으면 별도의 식으로 작성해 파워검색에서 조합해서 검색하시면 됩니다. 검색속도는 별도로 각각 만드시는게 일반적으로 빠르게 동작합니다. 문의하신 수식의 경우 큰 차이가 없어 1분봉에서 구현하게 작성해 드린식입니다. 즐거운 하루되세요 > 강지 님이 쓴 글입니다. > 제목 : Re : Re : 종목검색식 변환 추가문의드립니다. > 빠르게 답변해주셔서 정말 감사합니다. 이제 약간 이해가 되는것같습니다. 만들어 주신 예제처럼 1분봉 기준으로 5분봉과 10분봉을 계산으로 만들어서 하는 방법도 있고, 아니면 1분봉, 5분봉, 10분봉을 각각 파워검색에서 지정하여 쓸 수 있는거죠? 혹시 검색 속도는 어느 방법이 우수할까요?