커뮤니티

수식 문의

프로필 이미지
흑수돌
2022-06-15 13:28:37
1206
글번호 159870
답변완료
항상 도움 주셔서 감사드립니다. 아래의 지표에 표현되는 plot선을, iput 에서 지정한 봉갯수만큼만 점으로 표현되도록 수정하고 싶습니다. 부탁드립니다. 감사합니다. input : StartTime(90000),EndTime(65000); Input:n(20); var : Tcond(false),cnt(0); Var:j(0),HH1(0),HH2(0),HH3(0),HH4(0), LL1(0),LL2(0),LL3(0),LL4(0), sumOH(0),sumOL(0),sumO(0),sumH(0),sumL(0),sumO²(0),sumH²(0),sumL²(0); Array : OO[100](0),HH[100](0),LL[100](0); if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then Tcond = False; if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { Tcond = true; For cnt = 99 downto 1 { OO[cnt] = OO[cnt-1]; HH[cnt] = HH[cnt-1]; LL[cnt] = LL[cnt-1]; } OO[0] = O; HH[0] = H; LL[0] = L; sumOH = 0; sumOL = 0; sumO = 0; sumH = 0; sumL = 0; sumO² = 0; sumH² = 0; sumL² = 0; for j = 1 to n { sumOH = sumOH + OO[j]*HH[j]; sumOL = sumOL + OO[j]*LL[j]; sumO = sumO + OO[j]; sumH = sumH + HH[j]; sumL = sumL + LL[j]; sumO² = sumO² + OO[j]^2; sumH² = sumH² + HH[j]^2; sumL² = sumL² + LL[j]^2; } HH1 = (n*sumOH - sumO*sumH) / (n*sumO²- sumO^2); HH2 = (sumH*sumO² - sumO*sumOH) / (n*sumO² - sumO^2); LL1 = (n*sumOL - sumO*sumL) / (n*sumO² - sumO^2); LL2 = (sumL*sumO² - sumO*sumOL) / (n*sumO² - sumO^2); HH3 = HH1 * OO[0] + HH2; LL3 = LL1 * OO[0] + LL2; HH4 = sqrt((1/(n*(n-2))) * (n*sumH² - sumH^2 - ((n*sumOH - sumO*sumH)^2 / (n*sumO² - sumO^2)))); LL4 = sqrt((1/(n*(n-2))) * (n*sumL² - sumL^2 - ((n*sumOL - sumO*sumL)^2 / (n*sumO² - sumO^2)))); } if Tcond == true Then { if HH[0] > 0 and H > HH[0] Then HH[0] = H; if LL[0] > 0 and L < LL[0] Then LL[0] = L; } plot1(HH3 + 1.68 * HH1); plot2(HH3 - 1.68 * HH1); plot3(LL3 + 1.68 * LL1); plot4(LL3 - 1.68 * LL1);
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-06-15 14:22:03

안녕하세요 예스스탁입니다. input : StartTime(90000),EndTime(65000),nbar(30); Input:n(20); var : Tcond(false),cnt(0),idx(0); Var:j(0),HH1(0),HH2(0),HH3(0),HH4(0), LL1(0),LL2(0),LL3(0),LL4(0), sumOH(0),sumOL(0),sumO(0),sumH(0),sumL(0),sumO²(0),sumH²(0),sumL²(0); Array : OO[100](0),HH[100](0),LL[100](0); if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then Tcond = False; if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { idx = 0; Tcond = true; For cnt = 99 downto 1 { OO[cnt] = OO[cnt-1]; HH[cnt] = HH[cnt-1]; LL[cnt] = LL[cnt-1]; } OO[0] = O; HH[0] = H; LL[0] = L; sumOH = 0; sumOL = 0; sumO = 0; sumH = 0; sumL = 0; sumO² = 0; sumH² = 0; sumL² = 0; for j = 1 to n { sumOH = sumOH + OO[j]*HH[j]; sumOL = sumOL + OO[j]*LL[j]; sumO = sumO + OO[j]; sumH = sumH + HH[j]; sumL = sumL + LL[j]; sumO² = sumO² + OO[j]^2; sumH² = sumH² + HH[j]^2; sumL² = sumL² + LL[j]^2; } HH1 = (n*sumOH - sumO*sumH) / (n*sumO²- sumO^2); HH2 = (sumH*sumO² - sumO*sumOH) / (n*sumO² - sumO^2); LL1 = (n*sumOL - sumO*sumL) / (n*sumO² - sumO^2); LL2 = (sumL*sumO² - sumO*sumOL) / (n*sumO² - sumO^2); HH3 = HH1 * OO[0] + HH2; LL3 = LL1 * OO[0] + LL2; HH4 = sqrt((1/(n*(n-2))) * (n*sumH² - sumH^2 - ((n*sumOH - sumO*sumH)^2 / (n*sumO² - sumO^2)))); LL4 = sqrt((1/(n*(n-2))) * (n*sumL² - sumL^2 - ((n*sumOL - sumO*sumL)^2 / (n*sumO² - sumO^2)))); } if Tcond == true Then { idx = idx+1; if HH[0] > 0 and H > HH[0] Then HH[0] = H; if LL[0] > 0 and L < LL[0] Then LL[0] = L; } if idx <= nbar Then { plot1(HH3 + 1.68 * HH1); plot2(HH3 - 1.68 * HH1); plot3(LL3 + 1.68 * LL1); plot4(LL3 - 1.68 * LL1); } 즐거운 하루되세요 > 흑수돌 님이 쓴 글입니다. > 제목 : 수식 문의 > 항상 도움 주셔서 감사드립니다. 아래의 지표에 표현되는 plot선을, iput 에서 지정한 봉갯수만큼만 점으로 표현되도록 수정하고 싶습니다. 부탁드립니다. 감사합니다. input : StartTime(90000),EndTime(65000); Input:n(20); var : Tcond(false),cnt(0); Var:j(0),HH1(0),HH2(0),HH3(0),HH4(0), LL1(0),LL2(0),LL3(0),LL4(0), sumOH(0),sumOL(0),sumO(0),sumH(0),sumL(0),sumO²(0),sumH²(0),sumL²(0); Array : OO[100](0),HH[100](0),LL[100](0); if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then Tcond = False; if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { Tcond = true; For cnt = 99 downto 1 { OO[cnt] = OO[cnt-1]; HH[cnt] = HH[cnt-1]; LL[cnt] = LL[cnt-1]; } OO[0] = O; HH[0] = H; LL[0] = L; sumOH = 0; sumOL = 0; sumO = 0; sumH = 0; sumL = 0; sumO² = 0; sumH² = 0; sumL² = 0; for j = 1 to n { sumOH = sumOH + OO[j]*HH[j]; sumOL = sumOL + OO[j]*LL[j]; sumO = sumO + OO[j]; sumH = sumH + HH[j]; sumL = sumL + LL[j]; sumO² = sumO² + OO[j]^2; sumH² = sumH² + HH[j]^2; sumL² = sumL² + LL[j]^2; } HH1 = (n*sumOH - sumO*sumH) / (n*sumO²- sumO^2); HH2 = (sumH*sumO² - sumO*sumOH) / (n*sumO² - sumO^2); LL1 = (n*sumOL - sumO*sumL) / (n*sumO² - sumO^2); LL2 = (sumL*sumO² - sumO*sumOL) / (n*sumO² - sumO^2); HH3 = HH1 * OO[0] + HH2; LL3 = LL1 * OO[0] + LL2; HH4 = sqrt((1/(n*(n-2))) * (n*sumH² - sumH^2 - ((n*sumOH - sumO*sumH)^2 / (n*sumO² - sumO^2)))); LL4 = sqrt((1/(n*(n-2))) * (n*sumL² - sumL^2 - ((n*sumOL - sumO*sumL)^2 / (n*sumO² - sumO^2)))); } if Tcond == true Then { if HH[0] > 0 and H > HH[0] Then HH[0] = H; if LL[0] > 0 and L < LL[0] Then LL[0] = L; } plot1(HH3 + 1.68 * HH1); plot2(HH3 - 1.68 * HH1); plot3(LL3 + 1.68 * LL1); plot4(LL3 - 1.68 * LL1);