커뮤니티

질문 2가지 드리겠습니다

프로필 이미지
yamu
2024-08-12 09:44:25
965
글번호 182450
답변완료
수고하십니다 질문 2가지가 있는데요 1) 수식에 대한 해석을 부탁드립니다 input : period2(5); var : T(0),TL1(0),TL2(0); var1 = ma(asks,period2); Var2 = ma(bids,period2); if CrossUp(var1,Var2) Then { T = 1; value1 = 0; Value2 = 0; } Else if CrossDown(var1,var2) Then { T = -1; value1 = 0; Value2 = 0; } Else { if value1 == 0 or (value1 > 0 and H > value1) Then value1 = h; if value2 == 0 or (value2 > 0 and L < value2) Then value2 = L; } if value1 > 0 and Value2 > 0 Then { Plot1(value1); plot2(Value2); } 이러한 수식이 있는데 주석을 요청해도 될까요 ? 조건에 따라서 t 에 1과 -1을 할당을 했는데 어디에 쓰이는건지 모르겠습니다. 크로스업을 할때 1이고 크로스다운이 -1. 그 후로는 더이상 언급이 안되네요? 그리고 크로스업이거나 크로스다운일때 둘다 value 1 과 value 2 에 0이 들어가는것과 뒤에서 value1=0 or (value > 0 and h>value1 )이 부분도 이해가 잘 안갑니다. 수식 마지막에 plot 할때 if value1>0 혹은 var1>0 이런 조건이 항상 보이는데 어떤 의미인지 궁금합니다. 플롯하기전에 왜 0 이상이라는 조건이 들어가는지 여쭤보고 싶습니다. 질문2) 알려주신 주봉이평 수식을 분봉에서 적용해봤는데요 주간 차트에서 5, 20, 60 ma 를 적용하고 분봉에서 이 수식을 적용해서 비교를 해봤는데 매칭이 안됩니다 분봉에서는 사용이 안되나요??? 감사합니다 이하 수식 주봉 이평 input : P1(5),prev1(0); input : P2(10),prev2(0); input : P3(20),prev3(0); input : P4(60),prev4(0); input : P5(120),prev5(0); input : P6(240),prev6(0); var : cnt(0); var : sum1(0),mav1(0); var : sum2(0),mav2(0); var : sum3(0),mav3(0); var : sum4(0),mav4(0); var : sum5(0),mav5(0); var : sum6(0),mav6(0); Array : CC[300](0); if DayOfWeek(Bdate)< DayOfWeek(Bdate[1]) Then { for cnt = 1 to 99 { CC[cnt] = CC[cnt-1][1]; } } CC[0] = C; if CC[P1-1+prev1] > 0 Then { sum1 = 0; for cnt = prev1+0 to prev1+P1-1 { sum1 = sum1+CC[cnt]; } mav1 = sum1/P1; plot1(mav1); } if CC[P2-1+prev2] > 0 Then { sum2 = 0; for cnt = prev2+0 to prev2+P2-1 { sum2 = sum2+CC[cnt]; } mav2 = sum2/P2; plot2(mav2); } if CC[P3-1+prev3] > 0 Then { sum3 = 0; for cnt = prev3+0 to prev3+P3-1 { sum3 = sum3+CC[cnt]; } mav3 = sum3/P3; plot3(mav3);} 이하생략
지표
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2024-08-12 15:17:10

안녕하세요 예스스탁입니다. 1 -1 t는 올리신 수식에서 별도로 사용되는 부분이 없습니다. var : T(0),TL1(0),TL2(0); 아마 이전에 TL1(0),TL2(0)과 연관되어 사용되던 변수인것 같습니다. 1-2 value1,value2는 crossup,crossdown이 발생하면 그 다음봉부터 최고가와 최저가가 계산해서 저장되는 변수입니다. crossup,crossdown이 발생하면 value1,value2에는 먼저 0값을 저장하고 그 다음봉에서는 각 변수가 0이므로 해당봉의 고가와 저가를 저장하고 한번 값이 저장된 이후에는 value1,value2에 0보다 큰값이 저장된 상태이므로 value1에 저장된 값보다 큰 고가나 value2에 저장된 값보다 작은 저가가 발생하면 값이 갱신됩니다. 1-3 plot하기전에 값이 0보다 크다라는 조건이 추가하는 이유는 값이 0이면 출력할 필요가 없을때입니다. 기본차트 위에 그리는 지표인데 변수에 아직 값이 저장되지 않아 0인데 차트에 그리면 기본종목과 괴리가 커서 Y축 번위가 크게 잡혀 봉이 한쪽 몰려서 표시됩니다. 이런 경우에 지표를 표시하지 않기위해 0보다 클때(값이 저장된 이후)표시하라고 조건을 주게 됩니다. 2 DayOfWeek(Bdate)< DayOfWeek(Bdate[1]) 과거일 중에 위 조건으로 체크되지 않은 날짜(20231004)가 하루 있었습니다. 거래일과 거래일 사이에 7이상 경과할 경우 한주시작으로 체크되게 조건을 추가해 드립니다. input : P1(5),prev1(0); input : P2(10),prev2(0); input : P3(20),prev3(0); input : P4(60),prev4(0); input : P5(120),prev5(0); input : P6(240),prev6(0); var : cnt(0); var : sum1(0),mav1(0); var : sum2(0),mav2(0); var : sum3(0),mav3(0); var : sum4(0),mav4(0); var : sum5(0),mav5(0); var : sum6(0),mav6(0); Array : CC[300](0); if DayOfWeek(Bdate)< DayOfWeek(Bdate[1]) or (DateToJulian(Bdate) >= DateToJulian(Bdate[1])+7) Then { for cnt = 1 to 99 { CC[cnt] = CC[cnt-1][1]; } } CC[0] = C; if CC[P1-1+prev1] > 0 Then { sum1 = 0; for cnt = prev1+0 to prev1+P1-1 { sum1 = sum1+CC[cnt]; } mav1 = sum1/P1; plot1(mav1); } if CC[P2-1+prev2] > 0 Then { sum2 = 0; for cnt = prev2+0 to prev2+P2-1 { sum2 = sum2+CC[cnt]; } mav2 = sum2/P2; plot2(mav2); } if CC[P3-1+prev3] > 0 Then { sum3 = 0; for cnt = prev3+0 to prev3+P3-1 { sum3 = sum3+CC[cnt]; } mav3 = sum3/P3; plot3(mav3); } 즐거운 하루되세요 > yamu 님이 쓴 글입니다. > 제목 : 질문 2가지 드리겠습니다 > 수고하십니다 질문 2가지가 있는데요 1) 수식에 대한 해석을 부탁드립니다 input : period2(5); var : T(0),TL1(0),TL2(0); var1 = ma(asks,period2); Var2 = ma(bids,period2); if CrossUp(var1,Var2) Then { T = 1; value1 = 0; Value2 = 0; } Else if CrossDown(var1,var2) Then { T = -1; value1 = 0; Value2 = 0; } Else { if value1 == 0 or (value1 > 0 and H > value1) Then value1 = h; if value2 == 0 or (value2 > 0 and L < value2) Then value2 = L; } if value1 > 0 and Value2 > 0 Then { Plot1(value1); plot2(Value2); } 이러한 수식이 있는데 주석을 요청해도 될까요 ? 조건에 따라서 t 에 1과 -1을 할당을 했는데 어디에 쓰이는건지 모르겠습니다. 크로스업을 할때 1이고 크로스다운이 -1. 그 후로는 더이상 언급이 안되네요? 그리고 크로스업이거나 크로스다운일때 둘다 value 1 과 value 2 에 0이 들어가는것과 뒤에서 value1=0 or (value > 0 and h>value1 )이 부분도 이해가 잘 안갑니다. 수식 마지막에 plot 할때 if value1>0 혹은 var1>0 이런 조건이 항상 보이는데 어떤 의미인지 궁금합니다. 플롯하기전에 왜 0 이상이라는 조건이 들어가는지 여쭤보고 싶습니다. 질문2) 알려주신 주봉이평 수식을 분봉에서 적용해봤는데요 주간 차트에서 5, 20, 60 ma 를 적용하고 분봉에서 이 수식을 적용해서 비교를 해봤는데 매칭이 안됩니다 분봉에서는 사용이 안되나요??? 감사합니다 이하 수식 주봉 이평 input : P1(5),prev1(0); input : P2(10),prev2(0); input : P3(20),prev3(0); input : P4(60),prev4(0); input : P5(120),prev5(0); input : P6(240),prev6(0); var : cnt(0); var : sum1(0),mav1(0); var : sum2(0),mav2(0); var : sum3(0),mav3(0); var : sum4(0),mav4(0); var : sum5(0),mav5(0); var : sum6(0),mav6(0); Array : CC[300](0); if DayOfWeek(Bdate)< DayOfWeek(Bdate[1]) Then { for cnt = 1 to 99 { CC[cnt] = CC[cnt-1][1]; } } CC[0] = C; if CC[P1-1+prev1] > 0 Then { sum1 = 0; for cnt = prev1+0 to prev1+P1-1 { sum1 = sum1+CC[cnt]; } mav1 = sum1/P1; plot1(mav1); } if CC[P2-1+prev2] > 0 Then { sum2 = 0; for cnt = prev2+0 to prev2+P2-1 { sum2 = sum2+CC[cnt]; } mav2 = sum2/P2; plot2(mav2); } if CC[P3-1+prev3] > 0 Then { sum3 = 0; for cnt = prev3+0 to prev3+P3-1 { sum3 = sum3+CC[cnt]; } mav3 = sum3/P3; plot3(mav3);} 이하생략
프로필 이미지

yamu

2024-08-12 16:10:50

답변 감사드립니다~~!! > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 질문 2가지 드리겠습니다 > 안녕하세요 예스스탁입니다. 1 -1 t는 올리신 수식에서 별도로 사용되는 부분이 없습니다. var : T(0),TL1(0),TL2(0); 아마 이전에 TL1(0),TL2(0)과 연관되어 사용되던 변수인것 같습니다. 1-2 value1,value2는 crossup,crossdown이 발생하면 그 다음봉부터 최고가와 최저가가 계산해서 저장되는 변수입니다. crossup,crossdown이 발생하면 value1,value2에는 먼저 0값을 저장하고 그 다음봉에서는 각 변수가 0이므로 해당봉의 고가와 저가를 저장하고 한번 값이 저장된 이후에는 value1,value2에 0보다 큰값이 저장된 상태이므로 value1에 저장된 값보다 큰 고가나 value2에 저장된 값보다 작은 저가가 발생하면 값이 갱신됩니다. 1-3 plot하기전에 값이 0보다 크다라는 조건이 추가하는 이유는 값이 0이면 출력할 필요가 없을때입니다. 기본차트 위에 그리는 지표인데 변수에 아직 값이 저장되지 않아 0인데 차트에 그리면 기본종목과 괴리가 커서 Y축 번위가 크게 잡혀 봉이 한쪽 몰려서 표시됩니다. 이런 경우에 지표를 표시하지 않기위해 0보다 클때(값이 저장된 이후)표시하라고 조건을 주게 됩니다. 2 DayOfWeek(Bdate)< DayOfWeek(Bdate[1]) 과거일 중에 위 조건으로 체크되지 않은 날짜(20231004)가 하루 있었습니다. 거래일과 거래일 사이에 7이상 경과할 경우 한주시작으로 체크되게 조건을 추가해 드립니다. input : P1(5),prev1(0); input : P2(10),prev2(0); input : P3(20),prev3(0); input : P4(60),prev4(0); input : P5(120),prev5(0); input : P6(240),prev6(0); var : cnt(0); var : sum1(0),mav1(0); var : sum2(0),mav2(0); var : sum3(0),mav3(0); var : sum4(0),mav4(0); var : sum5(0),mav5(0); var : sum6(0),mav6(0); Array : CC[300](0); if DayOfWeek(Bdate)< DayOfWeek(Bdate[1]) or (DateToJulian(Bdate) >= DateToJulian(Bdate[1])+7) Then { for cnt = 1 to 99 { CC[cnt] = CC[cnt-1][1]; } } CC[0] = C; if CC[P1-1+prev1] > 0 Then { sum1 = 0; for cnt = prev1+0 to prev1+P1-1 { sum1 = sum1+CC[cnt]; } mav1 = sum1/P1; plot1(mav1); } if CC[P2-1+prev2] > 0 Then { sum2 = 0; for cnt = prev2+0 to prev2+P2-1 { sum2 = sum2+CC[cnt]; } mav2 = sum2/P2; plot2(mav2); } if CC[P3-1+prev3] > 0 Then { sum3 = 0; for cnt = prev3+0 to prev3+P3-1 { sum3 = sum3+CC[cnt]; } mav3 = sum3/P3; plot3(mav3); } 즐거운 하루되세요 > yamu 님이 쓴 글입니다. > 제목 : 질문 2가지 드리겠습니다 > 수고하십니다 질문 2가지가 있는데요 1) 수식에 대한 해석을 부탁드립니다 input : period2(5); var : T(0),TL1(0),TL2(0); var1 = ma(asks,period2); Var2 = ma(bids,period2); if CrossUp(var1,Var2) Then { T = 1; value1 = 0; Value2 = 0; } Else if CrossDown(var1,var2) Then { T = -1; value1 = 0; Value2 = 0; } Else { if value1 == 0 or (value1 > 0 and H > value1) Then value1 = h; if value2 == 0 or (value2 > 0 and L < value2) Then value2 = L; } if value1 > 0 and Value2 > 0 Then { Plot1(value1); plot2(Value2); } 이러한 수식이 있는데 주석을 요청해도 될까요 ? 조건에 따라서 t 에 1과 -1을 할당을 했는데 어디에 쓰이는건지 모르겠습니다. 크로스업을 할때 1이고 크로스다운이 -1. 그 후로는 더이상 언급이 안되네요? 그리고 크로스업이거나 크로스다운일때 둘다 value 1 과 value 2 에 0이 들어가는것과 뒤에서 value1=0 or (value > 0 and h>value1 )이 부분도 이해가 잘 안갑니다. 수식 마지막에 plot 할때 if value1>0 혹은 var1>0 이런 조건이 항상 보이는데 어떤 의미인지 궁금합니다. 플롯하기전에 왜 0 이상이라는 조건이 들어가는지 여쭤보고 싶습니다. 질문2) 알려주신 주봉이평 수식을 분봉에서 적용해봤는데요 주간 차트에서 5, 20, 60 ma 를 적용하고 분봉에서 이 수식을 적용해서 비교를 해봤는데 매칭이 안됩니다 분봉에서는 사용이 안되나요??? 감사합니다 이하 수식 주봉 이평 input : P1(5),prev1(0); input : P2(10),prev2(0); input : P3(20),prev3(0); input : P4(60),prev4(0); input : P5(120),prev5(0); input : P6(240),prev6(0); var : cnt(0); var : sum1(0),mav1(0); var : sum2(0),mav2(0); var : sum3(0),mav3(0); var : sum4(0),mav4(0); var : sum5(0),mav5(0); var : sum6(0),mav6(0); Array : CC[300](0); if DayOfWeek(Bdate)< DayOfWeek(Bdate[1]) Then { for cnt = 1 to 99 { CC[cnt] = CC[cnt-1][1]; } } CC[0] = C; if CC[P1-1+prev1] > 0 Then { sum1 = 0; for cnt = prev1+0 to prev1+P1-1 { sum1 = sum1+CC[cnt]; } mav1 = sum1/P1; plot1(mav1); } if CC[P2-1+prev2] > 0 Then { sum2 = 0; for cnt = prev2+0 to prev2+P2-1 { sum2 = sum2+CC[cnt]; } mav2 = sum2/P2; plot2(mav2); } if CC[P3-1+prev3] > 0 Then { sum3 = 0; for cnt = prev3+0 to prev3+P3-1 { sum3 = sum3+CC[cnt]; } mav3 = sum3/P3; plot3(mav3);} 이하생략