커뮤니티

수식 수정부탁드립니다

프로필 이미지
해피오
2022-03-21 13:50:55
1564
글번호 157340
답변완료
input : v기간1(5),v기간2(20),K1(8),K2(10); input : 이평기간1(5),이평기간2(20),이평기간3(60),이평기간4(120),이평기간5(240); input : 양봉상승율(5), 최고량기간(240), 비교봉수(20), N(0); input : P(12),dv(2) ; var : mav1(0), mav2(0), mav3(0), mav4(0), mav5(0); var1 = MA(V,v기간1); var2 = MA(V,v기간2); mav1 = ma(C,이평기간1); mav2 = ma(C,이평기간2); mav3 = ma(C,이평기간3); mav4 = ma(C,이평기간4); mav5 = ma(C,이평기간5); var4 = BollBandUp(P,dv); Var5 = ma(C,P); Var6 = BollBandDown(P,dv); Condition1 = (( var1[1] * K1 < V ) or ( V >= V[1] * K2 )) and (C >= C[1]*(1+양봉상승율/100)) ; Condition2 = ( CrossDown(C, var4 ) or ( H > var4 and C < var4 ) ) and C < O ; Condition3 = ( CrossUp(C, var4) or ( C > var5 and L < var5 ) or ( C > var6 and L < var6 )) and mav1[1] < mav1 and C > O ; Condition4 = AccumN(iff((Condition1, 최고량기간 ), 1, 0), 비교봉수 ) >= 1 ; if CountIf( Condition1, 최고량기간 ) >= 1 and CountIf( Condition2, N ) >= 1 and Condition3 == true and Condition4 == true Then { find(1); } 상기 수식은 다음의 내용을 반영할 수 있는 것으로 만들어 본 것인데 Condition4 에서 문법에러가 난다고 하네요. 기간(240)으로 한 최고거래량이 발생(거래량 5이평보다 K1(8)배, 전일거래량보다 K2(10)배 많은 거래량이 발생)한것이 최근 비교봉수(30일)내에 있는 조건을 충족해한다. 그리고 Condition2는 최고거래량이 발생한 후 볼밴상단선을 이탈한 경우가 있어야 한다는 것이고, Condition3은 Condition2 이후 볼밴 상단선 또는 중심선 또는 하단선을 돌파하는 캔들출현시에 매수종목으로 검색되게 하는 것입니다. 이 이상의 내용을 반영한 식으로 수정해주시고요 추가적으로 Condition1 이 발생된후 특정기간(5) 이후에 Condition3 이 발생되어야 한다는 조건(돌파시의 캔들상승율은 5%이내이어야한다)을 추가해주시면 감사하겠읍니다
종목검색
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-03-21 16:03:43

안녕하세요 예스스탁입니다. input : v기간1(5),v기간2(20),K1(8),K2(10); input : 이평기간1(5),이평기간2(20),이평기간3(60),이평기간4(120),이평기간5(240); input : 양봉상승율(5), 최고량기간(240), 비교봉수(20), N(0); input : P(12),dv(2) ; var : mav1(0), mav2(0), mav3(0), mav4(0), mav5(0); var : i1(0),i2(0),i3(0); var1 = MA(V,v기간1); var2 = MA(V,v기간2); mav1 = ma(C,이평기간1); mav2 = ma(C,이평기간2); mav3 = ma(C,이평기간3); mav4 = ma(C,이평기간4); mav5 = ma(C,이평기간5); var4 = BollBandUp(P,dv); Var5 = ma(C,P); Var6 = BollBandDown(P,dv); Condition1 = (( var1[1] * K1 < V ) or ( V >= V[1] * K2 )) and (C >= C[1]*(1+양봉상승율/100)) ; Condition2 = ( CrossDown(C, var4 ) or ( H > var4 and C < var4 ) ) and C < O ; Condition3 = ( CrossUp(C, var4) or ( C > var5 and L < var5 ) or ( C > var6 and L < var6 )) and mav1[1] < mav1 and C > O and C <= C[1]*1.05; if Condition1 and V == Highest(V,최고량기간) Then { i1 = Index; } if Condition2 == true Then { i2 = Index; } if Condition3 == true Then { i3 = Index; if i1 > 0 and i2 > 0 and i3 > 0 and i3 > i2 and i2 > i1 and i3 <= i1+비교봉수 Then find(1); } 즐거운 하루되세요 > 해피오 님이 쓴 글입니다. > 제목 : 수식 수정부탁드립니다 > input : v기간1(5),v기간2(20),K1(8),K2(10); input : 이평기간1(5),이평기간2(20),이평기간3(60),이평기간4(120),이평기간5(240); input : 양봉상승율(5), 최고량기간(240), 비교봉수(20), N(0); input : P(12),dv(2) ; var : mav1(0), mav2(0), mav3(0), mav4(0), mav5(0); var1 = MA(V,v기간1); var2 = MA(V,v기간2); mav1 = ma(C,이평기간1); mav2 = ma(C,이평기간2); mav3 = ma(C,이평기간3); mav4 = ma(C,이평기간4); mav5 = ma(C,이평기간5); var4 = BollBandUp(P,dv); Var5 = ma(C,P); Var6 = BollBandDown(P,dv); Condition1 = (( var1[1] * K1 < V ) or ( V >= V[1] * K2 )) and (C >= C[1]*(1+양봉상승율/100)) ; Condition2 = ( CrossDown(C, var4 ) or ( H > var4 and C < var4 ) ) and C < O ; Condition3 = ( CrossUp(C, var4) or ( C > var5 and L < var5 ) or ( C > var6 and L < var6 )) and mav1[1] < mav1 and C > O ; Condition4 = AccumN(iff((Condition1, 최고량기간 ), 1, 0), 비교봉수 ) >= 1 ; if CountIf( Condition1, 최고량기간 ) >= 1 and CountIf( Condition2, N ) >= 1 and Condition3 == true and Condition4 == true Then { find(1); } 상기 수식은 다음의 내용을 반영할 수 있는 것으로 만들어 본 것인데 Condition4 에서 문법에러가 난다고 하네요. 기간(240)으로 한 최고거래량이 발생(거래량 5이평보다 K1(8)배, 전일거래량보다 K2(10)배 많은 거래량이 발생)한것이 최근 비교봉수(30일)내에 있는 조건을 충족해한다. 그리고 Condition2는 최고거래량이 발생한 후 볼밴상단선을 이탈한 경우가 있어야 한다는 것이고, Condition3은 Condition2 이후 볼밴 상단선 또는 중심선 또는 하단선을 돌파하는 캔들출현시에 매수종목으로 검색되게 하는 것입니다. 이 이상의 내용을 반영한 식으로 수정해주시고요 추가적으로 Condition1 이 발생된후 특정기간(5) 이후에 Condition3 이 발생되어야 한다는 조건(돌파시의 캔들상승율은 5%이내이어야한다)을 추가해주시면 감사하겠읍니다