커뮤니티

글번호 228073 번 추가 문의

프로필 이미지
마을
2025-11-17 16:58:20
72
글번호 228125
답변완료

앞서 글번호 228073 번에 아래 식을 주셨는데, 그럼 atr 을 500이 아니라 300으로 해서 30일치를 검색하는 식으로 부탁드립니다.
1번과 2번으로 나눠 주셨는데, 어떻게 사용하는 것일까요?
사용자 함수까지 조건식에 넣어서, 종목검색 창에 붙여 넣으면 되게 부탁드립니다.


1 . 사용자함수 함수명 : RngCheck 반환값형 : 숫자형 input : 기준(Numeric),범위(Numeric); var : C0(0),C1(0),C2(0),C3(0),C4(0); var : C5(0),C6(0),C7(0),C8(0),C9(0); var : C10(0),C11(0),C12(0),C13(0),C14(0); var : C15(0),C16(0),C17(0),C18(0),C19(0); C0=IFF(abs(C-기준)>범위,1,0); C1=IFF(abs(C[1]-기준)>범위,1,0); C2=IFF(abs(C[2]-기준)>범위,1,0); C3=IFF(abs(C[3]-기준)>범위,1,0); C4=IFF(abs(C[4]-기준)>범위,1,0); C5=IFF(abs(C[5]-기준)>범위,1,0); C6=IFF(abs(C[6]-기준)>범위,1,0); C7=IFF(abs(C[7]-기준)>범위,1,0); C8=IFF(abs(C[8]-기준)>범위,1,0); C9=IFF(abs(C[9]-기준)>범위,1,0); C10=IFF(abs(C[10]-기준)>범위,1,0); C11=IFF(abs(C[11]-기준)>범위,1,0); C12=IFF(abs(C[12]-기준)>범위,1,0); C13=IFF(abs(C[13]-기준)>범위,1,0); C14=IFF(abs(C[14]-기준)>범위,1,0); C15=IFF(abs(C[15]-기준)>범위,1,0); C16=IFF(abs(C[16]-기준)>범위,1,0); C17=IFF(abs(C[17]-기준)>범위,1,0); C18=IFF(abs(C[18]-기준)>범위,1,0); C19=IFF(abs(C[19]-기준)>범위,1,0); RngCheck = C0+C1+C2+C3+C4+C5+C6+C7+C8+ C9+C10+C11+C12+C13+C14+C15+C16+C17+C18+C19; 2 input : 기간(1),Rt(1),배수(1); var : at(0),mm(0),rg(0),chk(0),Range중(False),Range거래량(0); var : 전체합(0),Range봉수(0),평균거래량(0); var : 상단(0),양봉(False),돌파(False),거래량급증(False); var : A(0),b1(0),d(0),e(0),f(0),g(0),k(0),j(0),t(0),y(0),r(0),q(0); var : 볼밴라인(0),볼밴돌파(False),볼밴위(False); At = ATR(500); Mm = avg(C, 기간); Rg = At * Rt / 10; Chk = RngChk(Mm, Rg); Range중 = Chk == 0; Range거래량 = iff(Range중, V, 0); 전체합 = Accum(Range거래량); Range봉수 = Accum(iff(Range중,1,0)); 평균거래량 = 전체합 / Range봉수; 상단 = Mm + Rg; 양봉 = C > O; 돌파 = C > 상단; 거래량급증 = V > 평균거래량 * 배수; A = BollBandUp(20, 2); B1 = Ema(A, 56); D = BollBandUp(40, 2); E = Ema(D, 56); F = BollBandUp(60, 2); G = Ema(F, 56); K = BollBandUp(90, 2); J = Ema(K, 56); T = BollBandUp(100, 2); Y = Ema(T, 56); R = (B1 + E + G + J + Y) / 5; Q = (C - O) / 3; 볼밴라인 = iff(C > O, R - Q, R); 볼밴돌파 = H > 볼밴라인; 볼밴위 = C > 볼밴라인; if Range중[1] == true && 돌파 && 양봉 && 거래량급증 && (볼밴돌파 or 볼밴위) then var1 = sDate; Else var1 = 0; if CountIf(var1>0,30) >= 1 then Find(var1);

사용자 함수
답변 2
프로필 이미지

마을

2025-11-17 17:22:13

조건검색창에 바로 복사해서 붙여 넣을 수 있게 바꿔주시면 감사하겠습니다.

사용자 함수변경해주신 것을 어떻게 사용하라는 것인지 몰라서 다시 문의드립니다.
프로필 이미지

예스스탁 예스스탁 답변

2025-11-18 11:08:02

안녕하세요 예스스탁입니다. 1 input : 기간(1),Rt(1),배수(1); var : at(0),mm(0),rg(0),chk(0),Range중(False),Range거래량(0); var : 전체합(0),Range봉수(0),평균거래량(0); var : 상단(0),양봉(False),돌파(False),거래량급증(False); var : A(0),b1(0),d(0),e(0),f(0),g(0),k(0),j(0),t(0),y(0),r(0),q(0); var : 볼밴라인(0),볼밴돌파(False),볼밴위(False); var : C0(0),C1(0),C2(0),C3(0),C4(0); var : C5(0),C6(0),C7(0),C8(0),C9(0); var : C10(0),C11(0),C12(0),C13(0),C14(0); var : C15(0),C16(0),C17(0),C18(0),C19(0); At = ATR(300); Mm = avg(C, 기간); Rg = At * Rt / 10; C0=IFF(abs(C-Mm)>Rg,1,0); C1=IFF(abs(C[1]-Mm)>Rg,1,0); C2=IFF(abs(C[2]-Mm)>Rg,1,0); C3=IFF(abs(C[3]-Mm)>Rg,1,0); C4=IFF(abs(C[4]-Mm)>Rg,1,0); C5=IFF(abs(C[5]-Mm)>Rg,1,0); C6=IFF(abs(C[6]-Mm)>Rg,1,0); C7=IFF(abs(C[7]-Mm)>Rg,1,0); C8=IFF(abs(C[8]-Mm)>Rg,1,0); C9=IFF(abs(C[9]-Mm)>Rg,1,0); C10=IFF(abs(C[10]-Mm)>Rg,1,0); C11=IFF(abs(C[11]-Mm)>Rg,1,0); C12=IFF(abs(C[12]-Mm)>Rg,1,0); C13=IFF(abs(C[13]-Mm)>Rg,1,0); C14=IFF(abs(C[14]-Mm)>Rg,1,0); C15=IFF(abs(C[15]-Mm)>Rg,1,0); C16=IFF(abs(C[16]-Mm)>Rg,1,0); C17=IFF(abs(C[17]-Mm)>Rg,1,0); C18=IFF(abs(C[18]-Mm)>Rg,1,0); C19=IFF(abs(C[19]-Mm)>Rg,1,0); Chk = C0+C1+C2+C3+C4+C5+C6+C7+C8+ C9+C10+C11+C12+C13+C14+C15+C16+C17+C18+C19; Range중 = Chk == 0; Range거래량 = iff(Range중, V, 0); 전체합 = Accum(Range거래량); Range봉수 = Accum(iff(Range중,1,0)); 평균거래량 = 전체합 / Range봉수; 상단 = Mm + Rg; 양봉 = C > O; 돌파 = C > 상단; 거래량급증 = V > 평균거래량 * 배수; A = BollBandUp(20, 2); B1 = Ema(A, 56); D = BollBandUp(40, 2); E = Ema(D, 56); F = BollBandUp(60, 2); G = Ema(F, 56); K = BollBandUp(90, 2); J = Ema(K, 56); T = BollBandUp(100, 2); Y = Ema(T, 56); R = (B1 + E + G + J + Y) / 5; Q = (C - O) / 3; 볼밴라인 = iff(C > O, R - Q, R); 볼밴돌파 = H > 볼밴라인; 볼밴위 = C > 볼밴라인; if Range중[1] == true && 돌파 && 양봉 && 거래량급증 && (볼밴돌파 or 볼밴위) then var1 = sDate; Else var1 = 0; if CountIf(var1>0,30) >= 1 then Find(var1); 2 var : A_ATR(0),A_MM(0),A_RG(0),A_CHK(0); var : A_횡보(False),A_횡보전(False),A_첫돌파(False); var : A_SlowK(0),A_SlowD(0),A_MS_Score(0),ms강도(0); var : C0(0),C1(0),C2(0),C3(0),C4(0); var : C5(0),C6(0),C7(0),C8(0),C9(0); var : C10(0),C11(0),C12(0),C13(0),C14(0); var : C15(0),C16(0),C17(0),C18(0),C19(0); A_ATR = ATR(300); A_MM = ma(C, 12); A_RG = A_ATR * 10 / 10; C0=IFF(abs(C-A_Mm)>A_Rg,1,0); C1=IFF(abs(C[1]-A_Mm)>A_Rg,1,0); C2=IFF(abs(C[2]-A_Mm)>A_Rg,1,0); C3=IFF(abs(C[3]-A_Mm)>A_Rg,1,0); C4=IFF(abs(C[4]-A_Mm)>A_Rg,1,0); C5=IFF(abs(C[5]-A_Mm)>A_Rg,1,0); C6=IFF(abs(C[6]-A_Mm)>A_Rg,1,0); C7=IFF(abs(C[7]-A_Mm)>A_Rg,1,0); C8=IFF(abs(C[8]-A_Mm)>A_Rg,1,0); C9=IFF(abs(C[9]-A_Mm)>A_Rg,1,0); C10=IFF(abs(C[10]-A_Mm)>A_Rg,1,0); C11=IFF(abs(C[11]-A_Mm)>A_Rg,1,0); C12=IFF(abs(C[12]-A_Mm)>A_Rg,1,0); C13=IFF(abs(C[13]-A_Mm)>A_Rg,1,0); C14=IFF(abs(C[14]-A_Mm)>A_Rg,1,0); C15=IFF(abs(C[15]-A_Mm)>A_Rg,1,0); C16=IFF(abs(C[16]-A_Mm)>A_Rg,1,0); C17=IFF(abs(C[17]-A_Mm)>A_Rg,1,0); C18=IFF(abs(C[18]-A_Mm)>A_Rg,1,0); C19=IFF(abs(C[19]-A_Mm)>A_Rg,1,0); A_CHK = C0+C1+C2+C3+C4+C5+C6+C7+C8+ C9+C10+C11+C12+C13+C14+C15+C16+C17+C18+C19; A_횡보 = A_CHK == 0; A_횡보전 = A_횡보[1]; A_첫돌파 = A_횡보전 && A_횡보 == False; A_SlowK = StochasticsK(12,5); A_SlowD = StochasticsD(12,5,5); A_MS_Score = A_SlowK; ms강도 = iff(A_첫돌파, A_MS_Score,iff(!A_횡보, A_MS_Score, 0)); if ms강도[1] <= 20 Then var1 = sDate; Else var1 = 0; if CountIf(var1>0,30) >= 1 Then Find(var1); 즐거운 하루되세요