커뮤니티

수식 문의

프로필 이미지
흑수돌
2022-06-14 18:04:43
1274
글번호 159848
답변완료
아래 지표를, input에 입력한 시작시간~종료시간 에 적용되도록 변경하고 싶습니다. 23시간 열리는 해선시장에 적용하기 위함입니다. 부탁드리겠습니다. 감사합니다. Input:n(20); 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); if Date[1] < Date then { sumOH = 0; sumOL = 0; sumO = 0; sumH = 0; sumL = 0; sumO² = 0; sumH² = 0; sumL² = 0; for j = 1 to n { sumOH = sumOH + DayOpen(j)*DayHigh(j); sumOL = sumOL + DayOpen(j)*DayLow(j); sumO = sumO + DayOpen(j); sumH = sumH + DayHigh(j); sumL = sumL + DayLow(j); sumO² = sumO² + DayOpen(j)^2; sumH² = sumH² + DayHigh(j)^2; sumL² = sumL² + DayLow(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 * DayOpen() + HH2; LL3 = LL1 * DayOpen() + 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)))); } plot1(HH3 + 1.68 * HH1); plot2(HH3 - 1.68 * HH1); plot3(LL3 + 1.68 * LL1); plot4(LL3 - 1.68 * LL1);
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-06-15 10:29:41

안녕하세요 예스스탁입니다. 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); 즐거운 하루되세요 > 흑수돌 님이 쓴 글입니다. > 제목 : 수식 문의 > 아래 지표를, input에 입력한 시작시간~종료시간 에 적용되도록 변경하고 싶습니다. 23시간 열리는 해선시장에 적용하기 위함입니다. 부탁드리겠습니다. 감사합니다. Input:n(20); 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); if Date[1] < Date then { sumOH = 0; sumOL = 0; sumO = 0; sumH = 0; sumL = 0; sumO² = 0; sumH² = 0; sumL² = 0; for j = 1 to n { sumOH = sumOH + DayOpen(j)*DayHigh(j); sumOL = sumOL + DayOpen(j)*DayLow(j); sumO = sumO + DayOpen(j); sumH = sumH + DayHigh(j); sumL = sumL + DayLow(j); sumO² = sumO² + DayOpen(j)^2; sumH² = sumH² + DayHigh(j)^2; sumL² = sumL² + DayLow(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 * DayOpen() + HH2; LL3 = LL1 * DayOpen() + 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)))); } plot1(HH3 + 1.68 * HH1); plot2(HH3 - 1.68 * HH1); plot3(LL3 + 1.68 * LL1); plot4(LL3 - 1.68 * LL1);