커뮤니티

지표식 요청 드립니다.(타주기)

프로필 이미지
요타
2022-03-09 21:53:56
1048
글번호 157050
답변완료
* 항상 많은 도움에 고맙습니다. * 아래 수식을 120틱봉 에서 쓰고 있는데 타주기 240분봉 에서 신호가 나오면 선긋기 되도록 요청 드립니다. 즉 차트는 120봉 신호는 240봉에서 발생 하면 선긋기 입니다. ## 아래 수식 var: TL48(0); var1 = ma(c,5) ; Var2 = ma(c,20) ; if CrossDown(var1, Var2) Then { TL48 = TL_New(sdate,stime,9999999,sdate,stime,0); } * 매번 고맙습니다. 수고하십시요.
지표
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2022-03-10 13:45:04

안녕하세요 예스스탁입니다. 문의하신 내용이 120틱봉에서 240분봉의 값을 계산해 표시하고자 하시면 1번식을 120틱봉에서 240틱봉의 값을 계산해 표시하고자 하시면 2번식을 이용하시면 됩니다. 1 틱봉에서 타분봉 지표는 정확히 계산이 불가능합니다. 근사값으로 표시해 보시려면 아래식 이용하셔야 합니다. input : ntime(240),P1(5),P2(20); var : S1(0),D1(0),TM(0),TF(0),cnt(0); var : sum1(0),mav1(0),sum2(0),mav2(0); var : sum11(0),mav11(0),sum21(0),mav21(0),TL48(0); Array : CC[100](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 { for cnt = 1 to 99 { CC[cnt] = CC[cnt-1][1]; } } CC[0] = C; if CC[P1] > 0 and CC[P1] > 0 then { sum1 = 0; sum11 = 0; for cnt = 0 to P1-1 { sum1 = sum1+CC[cnt]; sum11 = sum11+CC[cnt]; } mav1 = sum1/P1; mav11 = sum11/P1; sum2 = 0; sum21 = 0; for cnt = 0 to P2-1 { sum2 = sum2+CC[cnt]; sum21 = sum21+CC[cnt]; } mav2 = sum2/P2; mav21 = sum21/P2; if mav1 < mav2 and mav11 > mav21 Then TL48 = TL_New(sdate,stime,9999999,sdate,stime,0); } } 2 120틱봉에서 240틱봉은 2배 높은 주기이므로 nbar를 2로 지정하시면 됩니다. input : nbar(2),P1(5),P2(20); var : S1(0),D1(0),idx(0),TF(0),cnt(0); var : sum1(0),mav1(0),sum2(0),mav2(0); var : sum11(0),mav11(0),sum21(0),mav21(0),TL48(0); Array : CC[100](0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; idx = 0; } Else idx = 1; if D1 > 0 then { TF = idx%nbar; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then { for cnt = 1 to 99 { CC[cnt] = CC[cnt-1][1]; } } CC[0] = C; if CC[P1] > 0 and CC[P1] > 0 then { sum1 = 0; sum11 = 0; for cnt = 0 to P1-1 { sum1 = sum1+CC[cnt]; sum11 = sum11+CC[cnt]; } mav1 = sum1/P1; mav11 = sum11/P1; sum2 = 0; sum21 = 0; for cnt = 0 to P2-1 { sum2 = sum2+CC[cnt]; sum21 = sum21+CC[cnt]; } mav2 = sum2/P2; mav21 = sum21/P2; if mav1 < mav2 and mav11 > mav21 Then TL48 = TL_New(sdate,stime,9999999,sdate,stime,0); } } 즐거운 하루되세요 > 요타 님이 쓴 글입니다. > 제목 : 지표식 요청 드립니다.(타주기) > * 항상 많은 도움에 고맙습니다. * 아래 수식을 120틱봉 에서 쓰고 있는데 타주기 240분봉 에서 신호가 나오면 선긋기 되도록 요청 드립니다. 즉 차트는 120봉 신호는 240봉에서 발생 하면 선긋기 입니다. ## 아래 수식 var: TL48(0); var1 = ma(c,5) ; Var2 = ma(c,20) ; if CrossDown(var1, Var2) Then { TL48 = TL_New(sdate,stime,9999999,sdate,stime,0); } * 매번 고맙습니다. 수고하십시요.
프로필 이미지

예스스탁 예스스탁 답변

2022-03-10 15:23:35

안녕하세요 예스스탁입니다. 2번식 봉수카운트에 문제가 있어 수정했습니다. input : nbar(2),P1(5),P2(20); var : S1(0),D1(0),idx(0),TF(0),cnt(0); var : sum1(0),mav1(0),sum2(0),mav2(0); var : sum11(0),mav11(0),sum21(0),mav21(0),TL48(0); Array : CC[100](0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; idx = 0; } Else idx = idx+1; if D1 > 0 then { TF = idx%nbar; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then { for cnt = 1 to 99 { CC[cnt] = CC[cnt-1][1]; } } CC[0] = C; if CC[P1] > 0 and CC[P1] > 0 then { sum1 = 0; sum11 = 0; for cnt = 0 to P1-1 { sum1 = sum1+CC[cnt]; sum11 = sum11+CC[cnt+1]; } mav1 = sum1/P1; mav11 = sum11/P1; sum2 = 0; sum21 = 0; for cnt = 0 to P2-1 { sum2 = sum2+CC[cnt]; sum21 = sum21+CC[cnt+1]; } mav2 = sum2/P2; mav21 = sum21/P2; if mav1 < mav2 and mav11 > mav21 Then TL48 = TL_New(sdate,stime,9999999,sdate,stime,0); Plot1(mav1); plot2(mav2); } } 즐거운 하루되세요 > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 지표식 요청 드립니다.(타주기) > 안녕하세요 예스스탁입니다. 문의하신 내용이 120틱봉에서 240분봉의 값을 계산해 표시하고자 하시면 1번식을 120틱봉에서 240틱봉의 값을 계산해 표시하고자 하시면 2번식을 이용하시면 됩니다. 1 틱봉에서 타분봉 지표는 정확히 계산이 불가능합니다. 근사값으로 표시해 보시려면 아래식 이용하셔야 합니다. input : ntime(240),P1(5),P2(20); var : S1(0),D1(0),TM(0),TF(0),cnt(0); var : sum1(0),mav1(0),sum2(0),mav2(0); var : sum11(0),mav11(0),sum21(0),mav21(0),TL48(0); Array : CC[100](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 { for cnt = 1 to 99 { CC[cnt] = CC[cnt-1][1]; } } CC[0] = C; if CC[P1] > 0 and CC[P1] > 0 then { sum1 = 0; sum11 = 0; for cnt = 0 to P1-1 { sum1 = sum1+CC[cnt]; sum11 = sum11+CC[cnt]; } mav1 = sum1/P1; mav11 = sum11/P1; sum2 = 0; sum21 = 0; for cnt = 0 to P2-1 { sum2 = sum2+CC[cnt]; sum21 = sum21+CC[cnt]; } mav2 = sum2/P2; mav21 = sum21/P2; if mav1 < mav2 and mav11 > mav21 Then TL48 = TL_New(sdate,stime,9999999,sdate,stime,0); } } 2 120틱봉에서 240틱봉은 2배 높은 주기이므로 nbar를 2로 지정하시면 됩니다. input : nbar(2),P1(5),P2(20); var : S1(0),D1(0),idx(0),TF(0),cnt(0); var : sum1(0),mav1(0),sum2(0),mav2(0); var : sum11(0),mav11(0),sum21(0),mav21(0),TL48(0); Array : CC[100](0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; idx = 0; } Else idx = 1; if D1 > 0 then { TF = idx%nbar; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then { for cnt = 1 to 99 { CC[cnt] = CC[cnt-1][1]; } } CC[0] = C; if CC[P1] > 0 and CC[P1] > 0 then { sum1 = 0; sum11 = 0; for cnt = 0 to P1-1 { sum1 = sum1+CC[cnt]; sum11 = sum11+CC[cnt]; } mav1 = sum1/P1; mav11 = sum11/P1; sum2 = 0; sum21 = 0; for cnt = 0 to P2-1 { sum2 = sum2+CC[cnt]; sum21 = sum21+CC[cnt]; } mav2 = sum2/P2; mav21 = sum21/P2; if mav1 < mav2 and mav11 > mav21 Then TL48 = TL_New(sdate,stime,9999999,sdate,stime,0); } } 즐거운 하루되세요 > 요타 님이 쓴 글입니다. > 제목 : 지표식 요청 드립니다.(타주기) > * 항상 많은 도움에 고맙습니다. * 아래 수식을 120틱봉 에서 쓰고 있는데 타주기 240분봉 에서 신호가 나오면 선긋기 되도록 요청 드립니다. 즉 차트는 120봉 신호는 240봉에서 발생 하면 선긋기 입니다. ## 아래 수식 var: TL48(0); var1 = ma(c,5) ; Var2 = ma(c,20) ; if CrossDown(var1, Var2) Then { TL48 = TL_New(sdate,stime,9999999,sdate,stime,0); } * 매번 고맙습니다. 수고하십시요.