커뮤니티

수식문의드립니다.

프로필 이미지
까시서방
2017-05-08 13:29:05
129
글번호 109369
답변완료
주차트 300틱 차트에 참조데이타(Data2)를 쓰지않고 아래수식 30분봉의 MinLRL,MinLRL[k+1] 값을 나타내고 싶습니다. ///////////////////////////////////////////////////////////////// Var:n(19),j(0),k(0),계산주기(0),X(0),sumXY(0),sumX(0),sumY(0),sumX²(0), MinLRS(0),MinB(0),MinLRL(0); Array:MinClose[100](0); k = k + 1; if DayIndex()%계산주기 == 0 then { for j = 98 downto 0 { MinClose[j+1] = MinClose[j]; } X = X + 1; k = 0; } MinClose[0] = C; sumXY = 0; sumX = 0; sumY = 0; sumX² = 0; For j = 0 To n-1 { sumXY = sumXY + (X-j)*MinClose[j]; sumX = sumX + (X-j); sumY = sumY + MinClose[j]; sumX²= sumX²+ (X-j)^2; } MinLRS = (n*sumXY - sumX*sumY)/(n*sumX²- sumX^2); MinB = (sumY*sumX²-sumX*sumXY)/(n*sumX²- sumX^2); MinLRL = MinLRS * X + MinB; ////////////////////////////////////////////////////////////////////////// 항상 고맙습니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2017-05-10 16:01:54

안녕하세요 예스스탁입니다. 틱봉 차트에서 분봉의 값은 정확히 계산이 되지 않습니다. 수식은 봉의 시고저종가만 알수 있는데 분봉의 종가가 봉의 중간에 있을 경우가 많습니다. 최대한 근사값으로 계산됩니다. 기존에 봉수로 구분되는(DayIndex()%계산주기 == 0) 부분을 분단위로 구분하게 수정해 드립니다. Var:n(19),j(0),k(0),X(0),sumXY(0),sumX(0),sumY(0),sumX²(0), MinLRS(0),MinB(0),MinLRL(0),TF(0); Array:MinClose[100](0); k = k + 1; TF = TimeToMinutes(stime)%30; if Bdate != Bdate[1] or (Bdate == Bdate and TF < TF[1]) then { for j = 98 downto 0 { MinClose[j+1] = MinClose[j]; } X = X + 1; k = 0; } MinClose[0] = C; sumXY = 0; sumX = 0; sumY = 0; sumX² = 0; For j = 0 To n-1 { sumXY = sumXY + (X-j)*MinClose[j]; sumX = sumX + (X-j); sumY = sumY + MinClose[j]; sumX²= sumX²+ (X-j)^2; } MinLRS = (n*sumXY - sumX*sumY)/(n*sumX²- sumX^2); MinB = (sumY*sumX²-sumX*sumXY)/(n*sumX²- sumX^2); MinLRL = MinLRS * X + MinB; 즐거운 하루되세요 > 까시서방 님이 쓴 글입니다. > 제목 : 수식문의드립니다. > 주차트 300틱 차트에 참조데이타(Data2)를 쓰지않고 아래수식 30분봉의 MinLRL,MinLRL[k+1] 값을 나타내고 싶습니다. ///////////////////////////////////////////////////////////////// Var:n(19),j(0),k(0),계산주기(0),X(0),sumXY(0),sumX(0),sumY(0),sumX²(0), MinLRS(0),MinB(0),MinLRL(0); Array:MinClose[100](0); k = k + 1; if DayIndex()%계산주기 == 0 then { for j = 98 downto 0 { MinClose[j+1] = MinClose[j]; } X = X + 1; k = 0; } MinClose[0] = C; sumXY = 0; sumX = 0; sumY = 0; sumX² = 0; For j = 0 To n-1 { sumXY = sumXY + (X-j)*MinClose[j]; sumX = sumX + (X-j); sumY = sumY + MinClose[j]; sumX²= sumX²+ (X-j)^2; } MinLRS = (n*sumXY - sumX*sumY)/(n*sumX²- sumX^2); MinB = (sumY*sumX²-sumX*sumXY)/(n*sumX²- sumX^2); MinLRL = MinLRS * X + MinB; ////////////////////////////////////////////////////////////////////////// 항상 고맙습니다.