커뮤니티

부탁좀 드리겠습니다.

프로필 이미지
회원
2019-10-01 13:19:52
201
글번호 132407
답변완료
수고하십니다 일전의 답변을 받았으나 제가 찾는 수식이 아닌듯 하여 기존의 질룸을 좀더 다듬어 다시 부탁드립니다. input : Atime을 이용한 수식이었으면 합니다 var : Array : 부탁드립니다. ========================================================================= 1. 오픈챠트 : 200틱 60일(고가,종가,저가) 이동평균선 챠트가 열려있습니다 여기에 2. 500틱 120일(고가,종가,저가) 이동평균선 3. 5분봉의 5일(고가,종가,저가) 이동이평선 4. 30분봉의 20일(고가,종가,저가) 이평선을 가져올 수식구현이 가능한지요? 즉 열려있는 200틱 챠트의 60일선과 / 500틱 120일선 / 5분 5일선 / 30분 20일선 (각항공통 고가, 저가, 종가) 라인 구현을 하고자 합니다) 가능하다면 - 선두께 변경가능 - 분&틱 기간 변경가능 - 이평선 주기 변경가능 - 소수점 자릿수(Y측 좌표값) *최대치 또는 근소값이 라도 부탁드립니다.
지표
답변 3
프로필 이미지

예스스탁 예스스탁 답변

2019-10-01 16:08:41

안녕하세요 예스스탁입니다. 틱봉자체에서 분봉의 값은 정확한 계산이 가능하지 않습니다. 수식은 봉의 시고저종만 가능하고 봉내부의 특정시간값을 인지하지 못해 다른 주기의 지표도 기본차트의 배수만 가능합니다. 5분봉차트에서 10분, 15분, 20분, 200틱차트에서 400틱, 600틱과 같이 배수로 높아야 합니다. 200틱에서 400틱이면 당일 봉을 2개씩 모으면 되지만 500이면 2.5개로 모으게 할수가 없습니다. 아래 수식은 근사값으로 나오는 수식입니다. 타주기 틱봉은 2배수나 3배수로 지정하셔야 합니다. 주기와 이평기간만 외부변수 처리해 드립니다. 각 선의 두께등은 속성에서 지정하시기 바랍니다. 수식에서 plot의 두께를 지정하려면 색상과 같이 지정해야하는데 모두 지정해 드리기 어렵습니다. 지표속성에서 각지표의 색상과 두께를 설정하시면 됩니다. input : atime1(5),P1(5);#5분봉 5이평 input : atime2(30),P2(20);#30분봉 20이평 input : N3(2),P3(120);#기본차트 2배수주기 120이평 var : S1(0),D1(0),TM(0),TF1(0),TF2(0),TF3(0),cnt(0),idx(0); var : sum11(0),mav11(0),sum12(0),mav12(0),sum13(0),mav13(0); var : sum21(0),mav21(0),sum22(0),mav22(0),sum23(0),mav23(0); var : sum31(0),mav31(0),sum32(0),mav32(0),sum33(0),mav33(0); Array : C1[100](0),H1[100](0),L1[100](0); Array : C2[100](0),H2[100](0),L2[100](0); Array : C3[200](0),H3[200](0),L3[200](0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; idx = 0; } Else idx = idx+1; if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF1 = TM%atime1; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF2 < TF2[1]) Then { H1[0] = H; L1[0] = L; for cnt = 1 to 99 { C1[cnt] = C1[cnt-1][1]; H1[cnt] = H1[cnt-1][1]; L1[cnt] = L1[cnt-1][1]; } } if H > H1[0] Then H1[0] = H; if L < L1[0] Then L1[0] = L; C1[0] = C; if C1[P1] > 0 then { sum11 = 0; sum12 = 0; sum13 = 0; for cnt = 0 to P1-1 { sum11 = sum11+C1[cnt]; sum12 = sum12+H1[cnt]; sum13 = sum13+L1[cnt]; } mav11 = sum11/P1; mav12 = sum12/P1; mav13 = sum13/P1; plot1(mav11,"atime1종가이평"); plot2(mav12,"atime1고가이평"); plot3(mav13,"atime1저가이평"); } TF2 = TM%atime2; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF2 < TF2[1]) Then { H2[0] = H; L2[0] = L; for cnt = 1 to 99 { C2[cnt] = C2[cnt-1][1]; H2[cnt] = H2[cnt-1][1]; L2[cnt] = L2[cnt-1][1]; } } if H > H2[0] Then H2[0] = H; if L < L2[0] Then L2[0] = L; C2[0] = C; if C2[P2] > 0 then { sum21 = 0; sum22 = 0; sum23 = 0; for cnt = 0 to P2-1 { sum21 = sum21+C2[cnt]; sum22 = sum22+H2[cnt]; sum23 = sum23+L2[cnt]; } mav21 = sum21/P2; mav22 = sum22/P2; mav23 = sum23/P2; plot4(mav21,"atime2종가이평"); plot5(mav22,"atime2고가이평"); plot6(mav23,"atime2저가이평"); } TF3 = idx%N3; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF3 < TF3[1]) Then { H3[0] = H; L3[0] = L; for cnt = 1 to 199 { C3[cnt] = C3[cnt-1][1]; H3[cnt] = H3[cnt-1][1]; L3[cnt] = L3[cnt-1][1]; } } if H > H3[0] Then H3[0] = H; if L < L3[0] Then L3[0] = L; C3[0] = C; if C3[P3] > 0 then { sum31 = 0; sum32 = 0; sum33 = 0; for cnt = 0 to P3-1 { sum31 = sum31+C3[cnt]; sum32 = sum32+H3[cnt]; sum33 = sum33+L3[cnt]; } mav31 = sum31/P3; mav32 = sum32/P3; mav33 = sum33/P3; plot7(mav31,"n3 종가이평"); plot8(mav32,"n3 고가이평"); plot9(mav33,"n3 저가이평"); } } 즐거운 하루되세요 > 레이테크 님이 쓴 글입니다. > 제목 : 부탁좀 드리겠습니다. > 수고하십니다 일전의 답변을 받았으나 제가 찾는 수식이 아닌듯 하여 기존의 질룸을 좀더 다듬어 다시 부탁드립니다. input : Atime을 이용한 수식이었으면 합니다 var : Array : 부탁드립니다. ========================================================================= 1. 오픈챠트 : 200틱 60일(고가,종가,저가) 이동평균선 챠트가 열려있습니다 여기에 2. 500틱 120일(고가,종가,저가) 이동평균선 3. 5분봉의 5일(고가,종가,저가) 이동이평선 4. 30분봉의 20일(고가,종가,저가) 이평선을 가져올 수식구현이 가능한지요? 즉 열려있는 200틱 챠트의 60일선과 / 500틱 120일선 / 5분 5일선 / 30분 20일선 (각항공통 고가, 저가, 종가) 라인 구현을 하고자 합니다) 가능하다면 - 선두께 변경가능 - 분&틱 기간 변경가능 - 이평선 주기 변경가능 - 소수점 자릿수(Y측 좌표값) *최대치 또는 근소값이 라도 부탁드립니다.
프로필 이미지

회원

2019-10-02 11:14:45

수고하십니다 기타의 것은 어떤 틱이든 분이든 무관하게 표현되나 atime1은 30분 이상에서만 표현이 되고 있습니다. 배수가 맞으면 표현되도록 수정좀 부탁드립니다
프로필 이미지

예스스탁 예스스탁 답변

2019-10-02 11:28:29

안녕하세요 예스스탁입니다. 변수가 잘못지정되어 있었습니다. 수정한 식입니다. input : atime1(5),P1(5);#5분봉 5이평 input : atime2(30),P2(20);#30분봉 20이평 input : N3(2),P3(120);#기본차트 2배수주기 120이평 var : S1(0),D1(0),TM(0),TF1(0),TF2(0),TF3(0),cnt(0),idx(0); var : sum11(0),mav11(0),sum12(0),mav12(0),sum13(0),mav13(0); var : sum21(0),mav21(0),sum22(0),mav22(0),sum23(0),mav23(0); var : sum31(0),mav31(0),sum32(0),mav32(0),sum33(0),mav33(0); Array : C1[100](0),H1[100](0),L1[100](0); Array : C2[100](0),H2[100](0),L2[100](0); Array : C3[200](0),H3[200](0),L3[200](0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; idx = 0; } Else idx = idx+1; if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF1 = TM%atime1; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF1 < TF1[1]) Then { H1[0] = H; L1[0] = L; for cnt = 1 to 99 { C1[cnt] = C1[cnt-1][1]; H1[cnt] = H1[cnt-1][1]; L1[cnt] = L1[cnt-1][1]; } } if H > H1[0] Then H1[0] = H; if L < L1[0] Then L1[0] = L; C1[0] = C; if C1[P1] > 0 then { sum11 = 0; sum12 = 0; sum13 = 0; for cnt = 0 to P1-1 { sum11 = sum11+C1[cnt]; sum12 = sum12+H1[cnt]; sum13 = sum13+L1[cnt]; } mav11 = sum11/P1; mav12 = sum12/P1; mav13 = sum13/P1; plot1(mav11,"atime1종가이평"); plot2(mav12,"atime1고가이평"); plot3(mav13,"atime1저가이평"); } TF2 = TM%atime2; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF2 < TF2[1]) Then { H2[0] = H; L2[0] = L; for cnt = 1 to 99 { C2[cnt] = C2[cnt-1][1]; H2[cnt] = H2[cnt-1][1]; L2[cnt] = L2[cnt-1][1]; } } if H > H2[0] Then H2[0] = H; if L < L2[0] Then L2[0] = L; C2[0] = C; if C2[P2] > 0 then { sum21 = 0; sum22 = 0; sum23 = 0; for cnt = 0 to P2-1 { sum21 = sum21+C2[cnt]; sum22 = sum22+H2[cnt]; sum23 = sum23+L2[cnt]; } mav21 = sum21/P2; mav22 = sum22/P2; mav23 = sum23/P2; plot4(mav21,"atime2종가이평"); plot5(mav22,"atime2고가이평"); plot6(mav23,"atime2저가이평"); } TF3 = idx%N3; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF3 < TF3[1]) Then { H3[0] = H; L3[0] = L; for cnt = 1 to 199 { C3[cnt] = C3[cnt-1][1]; H3[cnt] = H3[cnt-1][1]; L3[cnt] = L3[cnt-1][1]; } } if H > H3[0] Then H3[0] = H; if L < L3[0] Then L3[0] = L; C3[0] = C; if C3[P3] > 0 then { sum31 = 0; sum32 = 0; sum33 = 0; for cnt = 0 to P3-1 { sum31 = sum31+C3[cnt]; sum32 = sum32+H3[cnt]; sum33 = sum33+L3[cnt]; } mav31 = sum31/P3; mav32 = sum32/P3; mav33 = sum33/P3; plot7(mav31,"n3 종가이평"); plot8(mav32,"n3 고가이평"); plot9(mav33,"n3 저가이평"); } } 즐거운 하루되세요 > 레이테크 님이 쓴 글입니다. > 제목 : 확인좀 부탁드립니다 > 수고하십니다 기타의 것은 어떤 틱이든 분이든 무관하게 표현되나 atime1은 30분 이상에서만 표현이 되고 있습니다. 배수가 맞으면 표현되도록 수정좀 부탁드립니다