커뮤니티

지표(점찍기) 좀 부탁 드립니다.

프로필 이미지
요타
2020-05-16 12:37:36
947
글번호 138934
답변완료
* 항상 많은 도움에 고맙 습니다. # 아래 수식이 구현하는 두개의선이 교차돌파하면 빨강점 하락 하면 blue점 부탁 드립니다. ## [아래] Input:mm(30),n(14); Var: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); if mm >= BarInterval() then { 계산주기 = mm/BarInterval(); } 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); //선형회귀선 기울기 LRS MinB = (sumY*sumX²-sumX*sumXY)/(n*sumX²- sumX^2); //선형회귀선 절편 B MinLRL = MinLRS * X + MinB; Plot1(MinLRL); if plot1(minlrl) > plot2(minlrl[k+1]) then buy(); end if Plot2(MinLRL[k+1]); //현재가 미반영 LRL if plot1(minlrl) < plot2(minlrl[k+1]) then sell(); end if * 고맙습니다. 수고하십시요.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-05-18 16:00:15

안녕하세요 예스스탁입니다. Input:mm(30),n(14); Var: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); if mm >= BarInterval then { 계산주기 = mm/BarInterval; } 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); //선형회귀선 기울기 LRS MinB = (sumY*sumX²-sumX*sumXY)/(n*sumX²- sumX^2); //선형회귀선 절편 B MinLRL = MinLRS * X + MinB; var1 = MinLRL; if crossup(var1,var1[k+1]) Then plot1(H,"검색",RED); if CrossDown(var1,var1[k+1]) Then plot1(L,"검색",BLUE); 즐거운 하루되세요 > 요타 님이 쓴 글입니다. > 제목 : 지표(점찍기) 좀 부탁 드립니다. > * 항상 많은 도움에 고맙 습니다. # 아래 수식이 구현하는 두개의선이 교차돌파하면 빨강점 하락 하면 blue점 부탁 드립니다. ## [아래] Input:mm(30),n(14); Var: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); if mm >= BarInterval() then { 계산주기 = mm/BarInterval(); } 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); //선형회귀선 기울기 LRS MinB = (sumY*sumX²-sumX*sumXY)/(n*sumX²- sumX^2); //선형회귀선 절편 B MinLRL = MinLRS * X + MinB; Plot1(MinLRL); if plot1(minlrl) > plot2(minlrl[k+1]) then buy(); end if Plot2(MinLRL[k+1]); //현재가 미반영 LRL if plot1(minlrl) < plot2(minlrl[k+1]) then sell(); end if * 고맙습니다. 수고하십시요.