커뮤니티

설정한 일정 변동폭 이상 움직일때 화살표 표시

프로필 이미지
카카
2019-04-08 10:36:10
233
글번호 127693
답변완료
안녕하세요 관리자님!! 관리자님의 도움으로 나날이 성장하고 있습니다. 감사합니다. 다릉이 아니오라 아래 지표는 관리자님이 보내주신 수식인데요. 수식1은 시스템식이고 수식2는 지표식입니다. 오늘 부탁드릴거는 주가가 수식1의 plot7,plot8을 상향,하향돌파하고 수식2의 plot5가 50,100(설정가능하게부탁드립니다)을 상향돌파시 화살표가 나오도록 수식1의 수정부탁드립니다. - 수식1 - input : P(520);#10년 520주 input : ntime(240);#240분 var : S1(0),D1(0),TM(0),TF(0); var : cnt(0),Tcond(false),HH(0),LL(0),OO(0),diff(0); Array : WH1[600](0),WH2[600](0),WH3[600](0),WH4[600](0),WH5[600](0); Array : WL1[600](0),WL2[600](0),WL3[600](0),WL4[600](0),WL5[600](0); var : WH1sum(0),WL1sum(0),WH1Sqrt(0),WL1Sqrt(0),Hma1(0),Lma1(0),WH1Stdv(0),WL1Stdv(0); var : WH2sum(0),WL2sum(0),WH2Sqrt(0),WL2Sqrt(0),Hma2(0),Lma2(0),WH2Stdv(0),WL2Stdv(0); var : WH3sum(0),WL3sum(0),WH3Sqrt(0),WL3Sqrt(0),Hma3(0),Lma3(0),WH3Stdv(0),WL3Stdv(0); var : WH4sum(0),WL4sum(0),WH4Sqrt(0),WL4Sqrt(0),Hma4(0),Lma4(0),WH4Stdv(0),WL4Stdv(0); var : WH5sum(0),WL5sum(0),WH5Sqrt(0),WL5Sqrt(0),Hma5(0),Lma5(0),WH5Stdv(0),WL5Stdv(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 TF < TF[1])) then { OO = O; HH = H; LL = L; if DayOfWeek(bdate) == 1 Then { for cnt = 1 to 599 { WH1[cnt] = WH1[cnt-1][1]; WL1[cnt] = WL1[cnt-1][1]; } } if DayOfWeek(bdate) == 2 Then { for cnt = 1 to 599 { WH2[cnt] = WH2[cnt-1][1]; WL2[cnt] = WL2[cnt-1][1]; } } if DayOfWeek(bdate) == 3 Then { for cnt = 1 to 599 { WH3[cnt] = WH3[cnt-1][1]; WL3[cnt] = WL3[cnt-1][1]; } } if DayOfWeek(bdate) == 4 Then { for cnt = 1 to 599 { WH4[cnt] = WH4[cnt-1][1]; WL4[cnt] = WL4[cnt-1][1]; } } if DayOfWeek(bdate) == 5 Then { for cnt = 1 to 599 { wh5[cnt] = WH5[cnt-1][1]; WL5[cnt] = WL5[cnt-1][1]; } } } if H > HH Then HH = H; if L < LL Then LL = L; if DayOfWeek(bdate) == 1 Then { WH1[0] = HH-OO; WL1[0] = OO-LL; } if DayOfWeek(bdate) == 2 Then { WH2[0] = HH-OO; WL2[0] = OO-LL; } if DayOfWeek(bdate) == 3 Then { WH3[0] = HH-OO; WL3[0] = OO-LL; } if DayOfWeek(bdate) == 4 Then { WH4[0] = HH-OO; WL4[0] = OO-LL; } if DayOfWeek(bdate) == 5 Then { WH5[0] = HH-OO; WL5[0] = OO-LL; } } if WH1[P-1] > 0 and WL1[P-1] > 0 and DayOfWeek(bdate) == 1 then { WH1sum = 0; WL1sum = 0; for cnt = 0 to P-1 { WH1sum = WH1sum + WH1[cnt]; WL1sum = WL1sum + WL1[cnt]; } Hma1 = WH1sum/P; Lma1 = WL1sum/P; WH1Sqrt = 0; WL1Sqrt = 0; For cnt = 0 To P - 1 { WH1Sqrt = WH1Sqrt + (WH1[cnt] - Hma1)^2; WL1Sqrt = WL1Sqrt + (WL1[cnt] - Lma1)^2; } WH1Stdv = SquareRoot(WH1Sqrt / P); WL1Stdv = SquareRoot(WL1Sqrt / P); var1 = OO+(Hma1+WH1Stdv*2); var2 = OO-(Lma1+WL1Stdv*2); var3 = OO+(Hma1+WH1Stdv); var4 = OO-(Lma1+WL1Stdv); Var5 = OO+(Hma1+WH1Stdv*3); Var6 = OO-(Lma1+WL1Stdv*3); Var7 = (OO+Hma1); Var8 = (OO-Lma1); } if WH2[P-1] > 0 and WL2[P-1] > 0 and DayOfWeek(bdate) == 2 then { WH2sum = 0; WL2sum = 0; for cnt = 0 to P-1 { WH2sum = WH2sum + WH2[cnt]; WL2sum = WL2sum + WL2[cnt]; } Hma2 = WH2sum/P; Lma2 = WL2sum/P; WH2Sqrt = 0; WL2Sqrt = 0; For cnt = 0 To P - 1 { WH2Sqrt = WH2Sqrt + (WH2[cnt] - Hma2)^2; WL2Sqrt = WL2Sqrt + (WL2[cnt] - Lma2)^2; } WH2Stdv = SquareRoot(WH2Sqrt / P); WL2Stdv = SquareRoot(WL2Sqrt / P); var1 = OO+(Hma2+WH2Stdv*2); var2 = OO-(Lma2+WL2Stdv*2); var3 = OO+(Hma2+WH2Stdv); var4 = OO-(Lma2+WL2Stdv); Var5 = OO+(Hma2+WH2Stdv*3); Var6 = OO-(Lma2+WL2Stdv*3); Var7 = (OO+Hma2); Var8 = (OO-Lma2); } if WH3[P-1] > 0 and WL3[P-1] > 0 and DayOfWeek(bdate) == 3 then { WH3sum = 0; WL3sum = 0; for cnt = 0 to P-1 { WH3sum = WH3sum + WH3[cnt]; WL3sum = WL3sum + WL3[cnt]; } Hma3 = WH3sum/P; Lma3 = WL3sum/P; WH3Sqrt = 0; WL3Sqrt = 0; For cnt = 0 To P - 1 { WH3Sqrt = WH3Sqrt + (WH3[cnt] - Hma3)^2; WL3Sqrt = WL3Sqrt + (WL3[cnt] - Lma3)^2; } WH3Stdv = SquareRoot(WH3Sqrt / P); WL3Stdv = SquareRoot(WL3Sqrt / P); var1 = OO+(Hma3+WH3Stdv*2); var2 = OO-(Lma3+WL3Stdv*2); var3 = OO+(Hma3+WH3Stdv); var4 = OO-(Lma3+WL3Stdv); Var5 = OO+(Hma3+WH3Stdv*3); Var6 = OO-(Lma3+WL3Stdv*3); Var7 = (OO+Hma3); Var8 = (OO-Lma3); } if WH4[P-1] > 0 and WL4[P-1] > 0 and DayOfWeek(bdate) == 4 then { WH4sum = 0; WL4sum = 0; for cnt = 0 to P-1 { WH4sum = WH4sum + WH4[cnt]; WL4sum = WL4sum + WL4[cnt]; } Hma4 = WH4sum/P; Lma4 = WL4sum/P; WH4Sqrt = 0; WL4Sqrt = 0; For cnt = 0 To P - 1 { WH4Sqrt = WH4Sqrt + (WH4[cnt] - Hma4)^2; WL4Sqrt = WL4Sqrt + (WL4[cnt] - Lma4)^2; } WH4Stdv = SquareRoot(WH4Sqrt / P); WL4Stdv = SquareRoot(WL4Sqrt / P); var1 = OO+(Hma4+WH4Stdv*2); var2 = OO-(Lma4+WL4Stdv*2); var3 = OO+(Hma4+WH4Stdv); var4 = OO-(Lma4+WL4Stdv); Var5 = OO+(Hma4+WH4Stdv*3); Var6 = OO-(Lma4+WL4Stdv*3); Var7 = (OO+Hma4); Var8 = (OO-Lma4); } if WH5[P-1] > 0 and WL5[P-1] > 0 and DayOfWeek(bdate) == 5 then { WH5sum = 0; WL5sum = 0; for cnt = 0 to P-1 { WH5sum = WH5sum + WH5[cnt]; WL5sum = WL5sum + WL5[cnt]; } Hma5 = WH5sum/P; Lma5 = WL5sum/P; WH5Sqrt = 0; WL5Sqrt = 0; For cnt = 0 To P - 1 { WH5Sqrt = WH5Sqrt + (WH5[cnt] - Hma5)^2; WL5Sqrt = WL5Sqrt + (WL5[cnt] - Lma5)^2; } WH5Stdv = SquareRoot(WH5Sqrt / P); WL5Stdv = SquareRoot(WL5Sqrt / P); var1 = OO+(Hma5+WH5Stdv*2); var2 = OO-(Lma5+WL5Stdv*2); var3 = OO+(Hma5+WH5Stdv); var4 = OO-(Lma5+WL5Stdv); Var5 = OO+(Hma5+WH5Stdv*3); Var6 = OO-(Lma5+WL5Stdv*3); Var7 = (OO+Hma5); Var8 = (OO-Lma5); } diff = DayHigh-daylow; if crossup(c,var7) and diff > diff[1] Then sell("s"); if CrossDown(c,var8) and diff > diff[1] Then buy("b"); - 수식2 - input : P(520);#10년 520주 input : ntime(240);#240분 var : S1(0),D1(0),TM(0),TF(0); var : cnt(0),OO(0),HH(0),LL(0); Array : WH1[600](0),WH2[600](0),WH3[600](0),WH4[600](0),WH5[600](0); Array : WL1[600](0),WL2[600](0),WL3[600](0),WL4[600](0),WL5[600](0); var : sum1(0),Sqrt1(0),ma1(0),Stdv1(0); var : sum2(0),Sqrt2(0),ma2(0),stdv2(0); var : sum3(0),Sqrt3(0),ma3(0),Stdv3(0); var : sum4(0),Sqrt4(0),ma4(0),Stdv4(0); var : sum5(0),Sqrt5(0),ma5(0),Stdv5(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 TF < TF[1])) then { OO = O; HH = H; LL = L; if DayOfWeek(bdate) == 1 Then { for cnt = 1 to 599 { WH1[cnt] = WH1[cnt-1][1]; WL1[cnt] = WL1[cnt-1][1]; } } if DayOfWeek(bdate) == 2 Then { for cnt = 1 to 599 { WH2[cnt] = WH2[cnt-1][1]; WL2[cnt] = WL2[cnt-1][1]; } } if DayOfWeek(bdate) == 3 Then { for cnt = 1 to 599 { WH3[cnt] = WH3[cnt-1][1]; WL3[cnt] = WL3[cnt-1][1]; } } if DayOfWeek(bdate) == 4 Then { for cnt = 1 to 599 { WH4[cnt] = WH4[cnt-1][1]; WL4[cnt] = WL4[cnt-1][1]; } } if DayOfWeek(bdate) == 5 Then { for cnt = 1 to 599 { WH5[cnt] = WH5[cnt-1][1]; WL5[cnt] = WL5[cnt-1][1]; } } } if H > HH Then HH = H; if L < LL Then LL = L; if DayOfWeek(bdate) == 1 Then { WH1[0] = HH; WL1[0] = LL; } if DayOfWeek(bdate) == 2 Then { WH2[0] = HH; WL2[0] = LL; } if DayOfWeek(bdate) == 3 Then { WH3[0] = HH; WL3[0] = LL; } if DayOfWeek(bdate) == 4 Then { WH4[0] = HH; WL4[0] = LL; } if DayOfWeek(bdate) == 5 Then { WH5[0] = HH; WL5[0] = LL; } } if WH1[P-1] > 0 and WL1[P-1] > 0 and DayOfWeek(bdate) == 1 then { sum1 = 0; for cnt = 0 to P-1 { sum1 = sum1 + (WH1[cnt]-WL1[cnt]); } ma1 = sum1/P; Sqrt1 = 0; For cnt = 0 To P - 1 { Sqrt1 = Sqrt1 + ((WH1[cnt]-WL1[cnt]) - ma1)^2; } Stdv1 = SquareRoot(Sqrt1/ P); plot1(ma1); plot2(ma1+Stdv1); plot3(ma1*0.8); plot4((ma1+Stdv1)*0.8); } if WH2[P-1] > 0 and WL2[P-1] > 0 and DayOfWeek(bdate) == 2 then { sum2 = 0; for cnt = 0 to P-1 { sum2 = sum2 + (WH2[cnt]-WL2[cnt]); } ma2= sum2/P; Sqrt2= 0; For cnt = 0 To P - 1 { Sqrt2 = Sqrt2 + ((WH2[cnt]-WL2[cnt]) - ma2)^2; } Stdv2 = SquareRoot(Sqrt2/ P); plot1(ma2); plot2(ma2+Stdv2); plot3(ma2*0.8); plot4((ma2+Stdv2)*0.8); } if WH3[P-1] > 0 and WL3[P-1] > 0 and DayOfWeek(bdate) == 3 then { sum3 = 0; for cnt = 0 to P-1 { sum3 = sum3 + (WH3[cnt]-WL3[cnt]); } ma3= sum3/P; Sqrt3 = 0; For cnt = 0 To P - 1 { Sqrt3 = Sqrt3 + ((WH3[cnt]-WL3[cnt]) - ma3)^2; } Stdv3 = SquareRoot(Sqrt3/ P); plot1(ma3); plot2(ma3+Stdv3); plot3(ma3*0.8); plot4((ma3+Stdv3)*0.8); } if WH4[P-1] > 0 and WL4[P-1] > 0 and DayOfWeek(bdate) == 4 then { sum4 = 0; for cnt = 0 to P-1 { sum4 = sum4 + (WH4[cnt]-WL4[cnt]); } ma4= sum4/P; Sqrt4 = 0; For cnt = 0 To P - 1 { Sqrt4 = Sqrt4 + ((WH4[cnt]-WL4[cnt]) - ma4)^2; } Stdv4 = SquareRoot(Sqrt4/ P); plot1(ma4); plot2(ma4+Stdv4); plot3(ma4*0.8); plot4((ma4+Stdv4)*0.8); } if WH5[P-1] > 0 and WL5[P-1] > 0 and DayOfWeek(bdate) == 5 then { sum5 = 0; for cnt = 0 to P-1 { sum5 = sum5 + (WH5[cnt]-WL5[cnt]); } ma5= sum5/P; Sqrt5 = 0; For cnt = 0 To P - 1 { Sqrt5 = Sqrt5 + ((WH5[cnt]-WL5[cnt]) - ma5)^2; } Stdv5 = SquareRoot(Sqrt5/ P); plot1(ma5); plot2(ma5+Stdv5); plot3(ma5*0.8); plot4((ma5+Stdv5)*0.8); } plot5((DayHigh-daylow)/PriceScale,"당일변동폭");
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-04-09 14:24:30

안녕하세요 예스스탁입니다. input : P(520);#10년 520주 input : ntime(240);#240분 input : 당일폭틱수(50); var : S1(0),D1(0),TM(0),TF(0); var : cnt(0),Tcond(false),HH(0),LL(0),OO(0),diff(0); Array : WH1[600](0),WH2[600](0),WH3[600](0),WH4[600](0),WH5[600](0); Array : WL1[600](0),WL2[600](0),WL3[600](0),WL4[600](0),WL5[600](0); var : WH1sum(0),WL1sum(0),WH1Sqrt(0),WL1Sqrt(0),Hma1(0),Lma1(0),WH1Stdv(0),WL1Stdv(0); var : WH2sum(0),WL2sum(0),WH2Sqrt(0),WL2Sqrt(0),Hma2(0),Lma2(0),WH2Stdv(0),WL2Stdv(0); var : WH3sum(0),WL3sum(0),WH3Sqrt(0),WL3Sqrt(0),Hma3(0),Lma3(0),WH3Stdv(0),WL3Stdv(0); var : WH4sum(0),WL4sum(0),WH4Sqrt(0),WL4Sqrt(0),Hma4(0),Lma4(0),WH4Stdv(0),WL4Stdv(0); var : WH5sum(0),WL5sum(0),WH5Sqrt(0),WL5Sqrt(0),Hma5(0),Lma5(0),WH5Stdv(0),WL5Stdv(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 TF < TF[1])) then { OO = O; HH = H; LL = L; if DayOfWeek(bdate) == 1 Then { for cnt = 1 to 599 { WH1[cnt] = WH1[cnt-1][1]; WL1[cnt] = WL1[cnt-1][1]; } } if DayOfWeek(bdate) == 2 Then { for cnt = 1 to 599 { WH2[cnt] = WH2[cnt-1][1]; WL2[cnt] = WL2[cnt-1][1]; } } if DayOfWeek(bdate) == 3 Then { for cnt = 1 to 599 { WH3[cnt] = WH3[cnt-1][1]; WL3[cnt] = WL3[cnt-1][1]; } } if DayOfWeek(bdate) == 4 Then { for cnt = 1 to 599 { WH4[cnt] = WH4[cnt-1][1]; WL4[cnt] = WL4[cnt-1][1]; } } if DayOfWeek(bdate) == 5 Then { for cnt = 1 to 599 { wh5[cnt] = WH5[cnt-1][1]; WL5[cnt] = WL5[cnt-1][1]; } } } if H > HH Then HH = H; if L < LL Then LL = L; if DayOfWeek(bdate) == 1 Then { WH1[0] = HH-OO; WL1[0] = OO-LL; } if DayOfWeek(bdate) == 2 Then { WH2[0] = HH-OO; WL2[0] = OO-LL; } if DayOfWeek(bdate) == 3 Then { WH3[0] = HH-OO; WL3[0] = OO-LL; } if DayOfWeek(bdate) == 4 Then { WH4[0] = HH-OO; WL4[0] = OO-LL; } if DayOfWeek(bdate) == 5 Then { WH5[0] = HH-OO; WL5[0] = OO-LL; } } if WH1[P-1] > 0 and WL1[P-1] > 0 and DayOfWeek(bdate) == 1 then { WH1sum = 0; WL1sum = 0; for cnt = 0 to P-1 { WH1sum = WH1sum + WH1[cnt]; WL1sum = WL1sum + WL1[cnt]; } Hma1 = WH1sum/P; Lma1 = WL1sum/P; WH1Sqrt = 0; WL1Sqrt = 0; For cnt = 0 To P - 1 { WH1Sqrt = WH1Sqrt + (WH1[cnt] - Hma1)^2; WL1Sqrt = WL1Sqrt + (WL1[cnt] - Lma1)^2; } WH1Stdv = SquareRoot(WH1Sqrt / P); WL1Stdv = SquareRoot(WL1Sqrt / P); var1 = OO+(Hma1+WH1Stdv*2); var2 = OO-(Lma1+WL1Stdv*2); var3 = OO+(Hma1+WH1Stdv); var4 = OO-(Lma1+WL1Stdv); Var5 = OO+(Hma1+WH1Stdv*3); Var6 = OO-(Lma1+WL1Stdv*3); Var7 = (OO+Hma1); Var8 = (OO-Lma1); } if WH2[P-1] > 0 and WL2[P-1] > 0 and DayOfWeek(bdate) == 2 then { WH2sum = 0; WL2sum = 0; for cnt = 0 to P-1 { WH2sum = WH2sum + WH2[cnt]; WL2sum = WL2sum + WL2[cnt]; } Hma2 = WH2sum/P; Lma2 = WL2sum/P; WH2Sqrt = 0; WL2Sqrt = 0; For cnt = 0 To P - 1 { WH2Sqrt = WH2Sqrt + (WH2[cnt] - Hma2)^2; WL2Sqrt = WL2Sqrt + (WL2[cnt] - Lma2)^2; } WH2Stdv = SquareRoot(WH2Sqrt / P); WL2Stdv = SquareRoot(WL2Sqrt / P); var1 = OO+(Hma2+WH2Stdv*2); var2 = OO-(Lma2+WL2Stdv*2); var3 = OO+(Hma2+WH2Stdv); var4 = OO-(Lma2+WL2Stdv); Var5 = OO+(Hma2+WH2Stdv*3); Var6 = OO-(Lma2+WL2Stdv*3); Var7 = (OO+Hma2); Var8 = (OO-Lma2); } if WH3[P-1] > 0 and WL3[P-1] > 0 and DayOfWeek(bdate) == 3 then { WH3sum = 0; WL3sum = 0; for cnt = 0 to P-1 { WH3sum = WH3sum + WH3[cnt]; WL3sum = WL3sum + WL3[cnt]; } Hma3 = WH3sum/P; Lma3 = WL3sum/P; WH3Sqrt = 0; WL3Sqrt = 0; For cnt = 0 To P - 1 { WH3Sqrt = WH3Sqrt + (WH3[cnt] - Hma3)^2; WL3Sqrt = WL3Sqrt + (WL3[cnt] - Lma3)^2; } WH3Stdv = SquareRoot(WH3Sqrt / P); WL3Stdv = SquareRoot(WL3Sqrt / P); var1 = OO+(Hma3+WH3Stdv*2); var2 = OO-(Lma3+WL3Stdv*2); var3 = OO+(Hma3+WH3Stdv); var4 = OO-(Lma3+WL3Stdv); Var5 = OO+(Hma3+WH3Stdv*3); Var6 = OO-(Lma3+WL3Stdv*3); Var7 = (OO+Hma3); Var8 = (OO-Lma3); } if WH4[P-1] > 0 and WL4[P-1] > 0 and DayOfWeek(bdate) == 4 then { WH4sum = 0; WL4sum = 0; for cnt = 0 to P-1 { WH4sum = WH4sum + WH4[cnt]; WL4sum = WL4sum + WL4[cnt]; } Hma4 = WH4sum/P; Lma4 = WL4sum/P; WH4Sqrt = 0; WL4Sqrt = 0; For cnt = 0 To P - 1 { WH4Sqrt = WH4Sqrt + (WH4[cnt] - Hma4)^2; WL4Sqrt = WL4Sqrt + (WL4[cnt] - Lma4)^2; } WH4Stdv = SquareRoot(WH4Sqrt / P); WL4Stdv = SquareRoot(WL4Sqrt / P); var1 = OO+(Hma4+WH4Stdv*2); var2 = OO-(Lma4+WL4Stdv*2); var3 = OO+(Hma4+WH4Stdv); var4 = OO-(Lma4+WL4Stdv); Var5 = OO+(Hma4+WH4Stdv*3); Var6 = OO-(Lma4+WL4Stdv*3); Var7 = (OO+Hma4); Var8 = (OO-Lma4); } if WH5[P-1] > 0 and WL5[P-1] > 0 and DayOfWeek(bdate) == 5 then { WH5sum = 0; WL5sum = 0; for cnt = 0 to P-1 { WH5sum = WH5sum + WH5[cnt]; WL5sum = WL5sum + WL5[cnt]; } Hma5 = WH5sum/P; Lma5 = WL5sum/P; WH5Sqrt = 0; WL5Sqrt = 0; For cnt = 0 To P - 1 { WH5Sqrt = WH5Sqrt + (WH5[cnt] - Hma5)^2; WL5Sqrt = WL5Sqrt + (WL5[cnt] - Lma5)^2; } WH5Stdv = SquareRoot(WH5Sqrt / P); WL5Stdv = SquareRoot(WL5Sqrt / P); var1 = OO+(Hma5+WH5Stdv*2); var2 = OO-(Lma5+WL5Stdv*2); var3 = OO+(Hma5+WH5Stdv); var4 = OO-(Lma5+WL5Stdv); Var5 = OO+(Hma5+WH5Stdv*3); Var6 = OO-(Lma5+WL5Stdv*3); Var7 = (OO+Hma5); Var8 = (OO-Lma5); } diff = (DayHigh-daylow)/PriceScale; if crossup(c,var7) and diff > 당일폭틱수 Then sell("s"); if CrossDown(c,var8) and diff > 당일폭틱수 Then buy("b"); 즐거운 하루되세요 > 카카 님이 쓴 글입니다. > 제목 : 설정한 일정 변동폭 이상 움직일때 화살표 표시 > 안녕하세요 관리자님!! 관리자님의 도움으로 나날이 성장하고 있습니다. 감사합니다. 다릉이 아니오라 아래 지표는 관리자님이 보내주신 수식인데요. 수식1은 시스템식이고 수식2는 지표식입니다. 오늘 부탁드릴거는 주가가 수식1의 plot7,plot8을 상향,하향돌파하고 수식2의 plot5가 50,100(설정가능하게부탁드립니다)을 상향돌파시 화살표가 나오도록 수식1의 수정부탁드립니다. - 수식1 - input : P(520);#10년 520주 input : ntime(240);#240분 var : S1(0),D1(0),TM(0),TF(0); var : cnt(0),Tcond(false),HH(0),LL(0),OO(0),diff(0); Array : WH1[600](0),WH2[600](0),WH3[600](0),WH4[600](0),WH5[600](0); Array : WL1[600](0),WL2[600](0),WL3[600](0),WL4[600](0),WL5[600](0); var : WH1sum(0),WL1sum(0),WH1Sqrt(0),WL1Sqrt(0),Hma1(0),Lma1(0),WH1Stdv(0),WL1Stdv(0); var : WH2sum(0),WL2sum(0),WH2Sqrt(0),WL2Sqrt(0),Hma2(0),Lma2(0),WH2Stdv(0),WL2Stdv(0); var : WH3sum(0),WL3sum(0),WH3Sqrt(0),WL3Sqrt(0),Hma3(0),Lma3(0),WH3Stdv(0),WL3Stdv(0); var : WH4sum(0),WL4sum(0),WH4Sqrt(0),WL4Sqrt(0),Hma4(0),Lma4(0),WH4Stdv(0),WL4Stdv(0); var : WH5sum(0),WL5sum(0),WH5Sqrt(0),WL5Sqrt(0),Hma5(0),Lma5(0),WH5Stdv(0),WL5Stdv(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 TF < TF[1])) then { OO = O; HH = H; LL = L; if DayOfWeek(bdate) == 1 Then { for cnt = 1 to 599 { WH1[cnt] = WH1[cnt-1][1]; WL1[cnt] = WL1[cnt-1][1]; } } if DayOfWeek(bdate) == 2 Then { for cnt = 1 to 599 { WH2[cnt] = WH2[cnt-1][1]; WL2[cnt] = WL2[cnt-1][1]; } } if DayOfWeek(bdate) == 3 Then { for cnt = 1 to 599 { WH3[cnt] = WH3[cnt-1][1]; WL3[cnt] = WL3[cnt-1][1]; } } if DayOfWeek(bdate) == 4 Then { for cnt = 1 to 599 { WH4[cnt] = WH4[cnt-1][1]; WL4[cnt] = WL4[cnt-1][1]; } } if DayOfWeek(bdate) == 5 Then { for cnt = 1 to 599 { wh5[cnt] = WH5[cnt-1][1]; WL5[cnt] = WL5[cnt-1][1]; } } } if H > HH Then HH = H; if L < LL Then LL = L; if DayOfWeek(bdate) == 1 Then { WH1[0] = HH-OO; WL1[0] = OO-LL; } if DayOfWeek(bdate) == 2 Then { WH2[0] = HH-OO; WL2[0] = OO-LL; } if DayOfWeek(bdate) == 3 Then { WH3[0] = HH-OO; WL3[0] = OO-LL; } if DayOfWeek(bdate) == 4 Then { WH4[0] = HH-OO; WL4[0] = OO-LL; } if DayOfWeek(bdate) == 5 Then { WH5[0] = HH-OO; WL5[0] = OO-LL; } } if WH1[P-1] > 0 and WL1[P-1] > 0 and DayOfWeek(bdate) == 1 then { WH1sum = 0; WL1sum = 0; for cnt = 0 to P-1 { WH1sum = WH1sum + WH1[cnt]; WL1sum = WL1sum + WL1[cnt]; } Hma1 = WH1sum/P; Lma1 = WL1sum/P; WH1Sqrt = 0; WL1Sqrt = 0; For cnt = 0 To P - 1 { WH1Sqrt = WH1Sqrt + (WH1[cnt] - Hma1)^2; WL1Sqrt = WL1Sqrt + (WL1[cnt] - Lma1)^2; } WH1Stdv = SquareRoot(WH1Sqrt / P); WL1Stdv = SquareRoot(WL1Sqrt / P); var1 = OO+(Hma1+WH1Stdv*2); var2 = OO-(Lma1+WL1Stdv*2); var3 = OO+(Hma1+WH1Stdv); var4 = OO-(Lma1+WL1Stdv); Var5 = OO+(Hma1+WH1Stdv*3); Var6 = OO-(Lma1+WL1Stdv*3); Var7 = (OO+Hma1); Var8 = (OO-Lma1); } if WH2[P-1] > 0 and WL2[P-1] > 0 and DayOfWeek(bdate) == 2 then { WH2sum = 0; WL2sum = 0; for cnt = 0 to P-1 { WH2sum = WH2sum + WH2[cnt]; WL2sum = WL2sum + WL2[cnt]; } Hma2 = WH2sum/P; Lma2 = WL2sum/P; WH2Sqrt = 0; WL2Sqrt = 0; For cnt = 0 To P - 1 { WH2Sqrt = WH2Sqrt + (WH2[cnt] - Hma2)^2; WL2Sqrt = WL2Sqrt + (WL2[cnt] - Lma2)^2; } WH2Stdv = SquareRoot(WH2Sqrt / P); WL2Stdv = SquareRoot(WL2Sqrt / P); var1 = OO+(Hma2+WH2Stdv*2); var2 = OO-(Lma2+WL2Stdv*2); var3 = OO+(Hma2+WH2Stdv); var4 = OO-(Lma2+WL2Stdv); Var5 = OO+(Hma2+WH2Stdv*3); Var6 = OO-(Lma2+WL2Stdv*3); Var7 = (OO+Hma2); Var8 = (OO-Lma2); } if WH3[P-1] > 0 and WL3[P-1] > 0 and DayOfWeek(bdate) == 3 then { WH3sum = 0; WL3sum = 0; for cnt = 0 to P-1 { WH3sum = WH3sum + WH3[cnt]; WL3sum = WL3sum + WL3[cnt]; } Hma3 = WH3sum/P; Lma3 = WL3sum/P; WH3Sqrt = 0; WL3Sqrt = 0; For cnt = 0 To P - 1 { WH3Sqrt = WH3Sqrt + (WH3[cnt] - Hma3)^2; WL3Sqrt = WL3Sqrt + (WL3[cnt] - Lma3)^2; } WH3Stdv = SquareRoot(WH3Sqrt / P); WL3Stdv = SquareRoot(WL3Sqrt / P); var1 = OO+(Hma3+WH3Stdv*2); var2 = OO-(Lma3+WL3Stdv*2); var3 = OO+(Hma3+WH3Stdv); var4 = OO-(Lma3+WL3Stdv); Var5 = OO+(Hma3+WH3Stdv*3); Var6 = OO-(Lma3+WL3Stdv*3); Var7 = (OO+Hma3); Var8 = (OO-Lma3); } if WH4[P-1] > 0 and WL4[P-1] > 0 and DayOfWeek(bdate) == 4 then { WH4sum = 0; WL4sum = 0; for cnt = 0 to P-1 { WH4sum = WH4sum + WH4[cnt]; WL4sum = WL4sum + WL4[cnt]; } Hma4 = WH4sum/P; Lma4 = WL4sum/P; WH4Sqrt = 0; WL4Sqrt = 0; For cnt = 0 To P - 1 { WH4Sqrt = WH4Sqrt + (WH4[cnt] - Hma4)^2; WL4Sqrt = WL4Sqrt + (WL4[cnt] - Lma4)^2; } WH4Stdv = SquareRoot(WH4Sqrt / P); WL4Stdv = SquareRoot(WL4Sqrt / P); var1 = OO+(Hma4+WH4Stdv*2); var2 = OO-(Lma4+WL4Stdv*2); var3 = OO+(Hma4+WH4Stdv); var4 = OO-(Lma4+WL4Stdv); Var5 = OO+(Hma4+WH4Stdv*3); Var6 = OO-(Lma4+WL4Stdv*3); Var7 = (OO+Hma4); Var8 = (OO-Lma4); } if WH5[P-1] > 0 and WL5[P-1] > 0 and DayOfWeek(bdate) == 5 then { WH5sum = 0; WL5sum = 0; for cnt = 0 to P-1 { WH5sum = WH5sum + WH5[cnt]; WL5sum = WL5sum + WL5[cnt]; } Hma5 = WH5sum/P; Lma5 = WL5sum/P; WH5Sqrt = 0; WL5Sqrt = 0; For cnt = 0 To P - 1 { WH5Sqrt = WH5Sqrt + (WH5[cnt] - Hma5)^2; WL5Sqrt = WL5Sqrt + (WL5[cnt] - Lma5)^2; } WH5Stdv = SquareRoot(WH5Sqrt / P); WL5Stdv = SquareRoot(WL5Sqrt / P); var1 = OO+(Hma5+WH5Stdv*2); var2 = OO-(Lma5+WL5Stdv*2); var3 = OO+(Hma5+WH5Stdv); var4 = OO-(Lma5+WL5Stdv); Var5 = OO+(Hma5+WH5Stdv*3); Var6 = OO-(Lma5+WL5Stdv*3); Var7 = (OO+Hma5); Var8 = (OO-Lma5); } diff = DayHigh-daylow; if crossup(c,var7) and diff > diff[1] Then sell("s"); if CrossDown(c,var8) and diff > diff[1] Then buy("b"); - 수식2 - input : P(520);#10년 520주 input : ntime(240);#240분 var : S1(0),D1(0),TM(0),TF(0); var : cnt(0),OO(0),HH(0),LL(0); Array : WH1[600](0),WH2[600](0),WH3[600](0),WH4[600](0),WH5[600](0); Array : WL1[600](0),WL2[600](0),WL3[600](0),WL4[600](0),WL5[600](0); var : sum1(0),Sqrt1(0),ma1(0),Stdv1(0); var : sum2(0),Sqrt2(0),ma2(0),stdv2(0); var : sum3(0),Sqrt3(0),ma3(0),Stdv3(0); var : sum4(0),Sqrt4(0),ma4(0),Stdv4(0); var : sum5(0),Sqrt5(0),ma5(0),Stdv5(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 TF < TF[1])) then { OO = O; HH = H; LL = L; if DayOfWeek(bdate) == 1 Then { for cnt = 1 to 599 { WH1[cnt] = WH1[cnt-1][1]; WL1[cnt] = WL1[cnt-1][1]; } } if DayOfWeek(bdate) == 2 Then { for cnt = 1 to 599 { WH2[cnt] = WH2[cnt-1][1]; WL2[cnt] = WL2[cnt-1][1]; } } if DayOfWeek(bdate) == 3 Then { for cnt = 1 to 599 { WH3[cnt] = WH3[cnt-1][1]; WL3[cnt] = WL3[cnt-1][1]; } } if DayOfWeek(bdate) == 4 Then { for cnt = 1 to 599 { WH4[cnt] = WH4[cnt-1][1]; WL4[cnt] = WL4[cnt-1][1]; } } if DayOfWeek(bdate) == 5 Then { for cnt = 1 to 599 { WH5[cnt] = WH5[cnt-1][1]; WL5[cnt] = WL5[cnt-1][1]; } } } if H > HH Then HH = H; if L < LL Then LL = L; if DayOfWeek(bdate) == 1 Then { WH1[0] = HH; WL1[0] = LL; } if DayOfWeek(bdate) == 2 Then { WH2[0] = HH; WL2[0] = LL; } if DayOfWeek(bdate) == 3 Then { WH3[0] = HH; WL3[0] = LL; } if DayOfWeek(bdate) == 4 Then { WH4[0] = HH; WL4[0] = LL; } if DayOfWeek(bdate) == 5 Then { WH5[0] = HH; WL5[0] = LL; } } if WH1[P-1] > 0 and WL1[P-1] > 0 and DayOfWeek(bdate) == 1 then { sum1 = 0; for cnt = 0 to P-1 { sum1 = sum1 + (WH1[cnt]-WL1[cnt]); } ma1 = sum1/P; Sqrt1 = 0; For cnt = 0 To P - 1 { Sqrt1 = Sqrt1 + ((WH1[cnt]-WL1[cnt]) - ma1)^2; } Stdv1 = SquareRoot(Sqrt1/ P); plot1(ma1); plot2(ma1+Stdv1); plot3(ma1*0.8); plot4((ma1+Stdv1)*0.8); } if WH2[P-1] > 0 and WL2[P-1] > 0 and DayOfWeek(bdate) == 2 then { sum2 = 0; for cnt = 0 to P-1 { sum2 = sum2 + (WH2[cnt]-WL2[cnt]); } ma2= sum2/P; Sqrt2= 0; For cnt = 0 To P - 1 { Sqrt2 = Sqrt2 + ((WH2[cnt]-WL2[cnt]) - ma2)^2; } Stdv2 = SquareRoot(Sqrt2/ P); plot1(ma2); plot2(ma2+Stdv2); plot3(ma2*0.8); plot4((ma2+Stdv2)*0.8); } if WH3[P-1] > 0 and WL3[P-1] > 0 and DayOfWeek(bdate) == 3 then { sum3 = 0; for cnt = 0 to P-1 { sum3 = sum3 + (WH3[cnt]-WL3[cnt]); } ma3= sum3/P; Sqrt3 = 0; For cnt = 0 To P - 1 { Sqrt3 = Sqrt3 + ((WH3[cnt]-WL3[cnt]) - ma3)^2; } Stdv3 = SquareRoot(Sqrt3/ P); plot1(ma3); plot2(ma3+Stdv3); plot3(ma3*0.8); plot4((ma3+Stdv3)*0.8); } if WH4[P-1] > 0 and WL4[P-1] > 0 and DayOfWeek(bdate) == 4 then { sum4 = 0; for cnt = 0 to P-1 { sum4 = sum4 + (WH4[cnt]-WL4[cnt]); } ma4= sum4/P; Sqrt4 = 0; For cnt = 0 To P - 1 { Sqrt4 = Sqrt4 + ((WH4[cnt]-WL4[cnt]) - ma4)^2; } Stdv4 = SquareRoot(Sqrt4/ P); plot1(ma4); plot2(ma4+Stdv4); plot3(ma4*0.8); plot4((ma4+Stdv4)*0.8); } if WH5[P-1] > 0 and WL5[P-1] > 0 and DayOfWeek(bdate) == 5 then { sum5 = 0; for cnt = 0 to P-1 { sum5 = sum5 + (WH5[cnt]-WL5[cnt]); } ma5= sum5/P; Sqrt5 = 0; For cnt = 0 To P - 1 { Sqrt5 = Sqrt5 + ((WH5[cnt]-WL5[cnt]) - ma5)^2; } Stdv5 = SquareRoot(Sqrt5/ P); plot1(ma5); plot2(ma5+Stdv5); plot3(ma5*0.8); plot4((ma5+Stdv5)*0.8); } plot5((DayHigh-daylow)/PriceScale,"당일변동폭");