커뮤니티

2개의 시스템식을 동시에 시험적용가능한지요??

프로필 이미지
카카
2019-03-16 12:56:23
325
글번호 127125
답변완료
안녕하세요 관리자님!! 지난주에 작성해주신 수식은 잘받았습니다. 감사합니다. 근데 시스템에 시험적용해보니 2개의 시스템식을 동시에 시험적용이 안되는지라 문의드립니다. 아래의 지표1,지표2의 수식을 동시에 시험적용할수 있게 부탁드립니다. -지표1- input : P(520);#10년 520주 input : ntime(120);#120분 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); } if crossup(C,var1) Then PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); if CrossDown(C,var2) Then PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); if crossup(C,var3) Then PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); if CrossDown(C,var4) Then PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); if crossup(C,var5) Then PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); if CrossDown(C,var6) Then PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); if crossup(C,Var7) Then PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); if CrossDown(C,Var8) Then PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); 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(3); var : hh(0),ll(0),cnt(0); #1일전에서 P일전까지 최고가/최저가 hh = DayHigh(1); ll = DayLow(1); for cnt = 1 to P { if DayHigh(cnt) > hh Then hh = DayHigh(cnt); if DayLow(cnt) < ll Then ll = DayLow(cnt); } if crossup(c,hh) Then buy("b"); if CrossDown(c,ll) Then sell("s");
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-03-18 14:44:28

안녕하세요 예스스탁입니다. 하나의 차트에는 하나의 시스템만 적용이 가능합니다. 2개의 전략을 하나의 차트에 적용할 경우 하나의 수식으로 만들어야 합니다, 또한 시스템은 먼저 만족한 조건으로 신호가 발생합니다. 2개의 시스템을 합치면 2개의 매수조건중 먼저만족한것, 2개의 매도조건중 먼저 만족한것으로 진입하게 되고 사용자분이 피라미딩을 다른진입신호만 허용으로 설정하면 진입이 중복으로 발생할 수 있으므로 각 진입별로 1회씩 신호가 발생해 진입을 누적할수 있습니다. 어떤 방식으로 2개의 시스템이 모두 적용된 효과를 보고자 하시는지 모르겠습니다. 저희가 답변드릴수 있는 수준은 단지 2개의 수식을 합쳐드리는 것일 뿐입니다. input : P(520);#10년 520주 input : ntime(120);#120분 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); } if crossup(C,var1) Then PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); if CrossDown(C,var2) Then PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); if crossup(C,var3) Then PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); if CrossDown(C,var4) Then PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); if crossup(C,var5) Then PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); if CrossDown(C,var6) Then PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); if crossup(C,Var7) Then PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); if CrossDown(C,Var8) Then PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); diff = DayHigh-daylow; if crossup(c,var7) and diff > diff[1] Then sell("s1"); if CrossDown(c,var8) and diff > diff[1] Then buy("b1"); input : Period(3); var : hv(0),lv(0),cnt1(0); #1일전에서 P일전까지 최고가/최저가 hv = DayHigh(1); lv = DayLow(1); for cnt1 = 1 to Period { if DayHigh(cnt1) > hv Then hv = DayHigh(cnt1); if DayLow(cnt1) < lv Then lv = DayLow(cnt1); } if crossup(c,hv) Then buy("b2"); if CrossDown(c,lv) Then sell("s2"); 즐거운 하루되세요 > 카카 님이 쓴 글입니다. > 제목 : 2개의 시스템식을 동시에 시험적용가능한지요?? > 안녕하세요 관리자님!! 지난주에 작성해주신 수식은 잘받았습니다. 감사합니다. 근데 시스템에 시험적용해보니 2개의 시스템식을 동시에 시험적용이 안되는지라 문의드립니다. 아래의 지표1,지표2의 수식을 동시에 시험적용할수 있게 부탁드립니다. -지표1- input : P(520);#10년 520주 input : ntime(120);#120분 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); } if crossup(C,var1) Then PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); if CrossDown(C,var2) Then PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); if crossup(C,var3) Then PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); if CrossDown(C,var4) Then PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); if crossup(C,var5) Then PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); if CrossDown(C,var6) Then PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); if crossup(C,Var7) Then PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); if CrossDown(C,Var8) Then PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); 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(3); var : hh(0),ll(0),cnt(0); #1일전에서 P일전까지 최고가/최저가 hh = DayHigh(1); ll = DayLow(1); for cnt = 1 to P { if DayHigh(cnt) > hh Then hh = DayHigh(cnt); if DayLow(cnt) < ll Then ll = DayLow(cnt); } if crossup(c,hh) Then buy("b"); if CrossDown(c,ll) Then sell("s");