커뮤니티
수식문의드립니다.
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;
//////////////////////////////////////////////////////////////////////////
항상 고맙습니다.
다음글
이전글