커뮤니티

부탁드립니다

프로필 이미지
땡열이
2024-11-14 14:06:27
640
글번호 185242
답변완료
(30분봉종가(2)-30분봉시가(1)+2*30분봉시가(0))/2 를 1분봉 챠트에 지표로 나타내고 싶습니다 아래 로직으로는 다르게 나타나는 것 같습니다 input : 분(30); var : S1(0),D1(0),TM(0),TF(0),cnt(0),Result(0); Array : HH[50](0),LL[50](0),OO[50](0), cc[50](0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TimeToMinutes(stime)%분; if Bdate != Bdate[1] or (Bdate == Bdate[1] and 분 > 1 and TF < TF[1]) or (Bdate == Bdate[1] and 분 > 1 and TM >= TM[1]+분) or (Bdate == Bdate[1] and 분 == 1 and TM > TM[1]) Then { for cnt = 49 downto 1 { OO[cnt] = OO[cnt-1]; HH[cnt] = HH[cnt-1]; LL[cnt] = LL[cnt-1]; cc[cnt] = cc[cnt-1]; } OO[0] = O; HH[0] = H; LL[0] = L; cc[0] = C; } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; // 추가: 공식을 계산하여 플롯 if cc[2] > 0 and OO[1] > 0 Then { value1 = (cc[2] - OO[1] + 2 * OO[0]) / 2; } }
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-11-14 14:28:08

안녕하세요 예스스탁입니다. 종가가 30분기준 변경 첫봉의 종가만 저장되게 되어 있었습니다. 30분 구간 최종값이 저장되게 추가했습니다. input : 분(30); var : S1(0),D1(0),TM(0),TF(0),cnt(0),Result(0); Array : HH[50](0),LL[50](0),OO[50](0), cc[50](0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TimeToMinutes(stime)%분; if Bdate != Bdate[1] or (Bdate == Bdate[1] and 분 > 1 and TF < TF[1]) or (Bdate == Bdate[1] and 분 > 1 and TM >= TM[1]+분) or (Bdate == Bdate[1] and 분 == 1 and TM > TM[1]) Then { for cnt = 49 downto 1 { OO[cnt] = OO[cnt-1]; HH[cnt] = HH[cnt-1]; LL[cnt] = LL[cnt-1]; cc[cnt] = cc[cnt-1]; } OO[0] = O; HH[0] = H; LL[0] = L; cc[0] = C; } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; CC[0] = C; if cc[2] > 0 Then { value1 = (cc[2] - OO[1] + 2 * OO[0]) / 2; Plot1(value1); } } 즐거운 하루되세요 > 땡열이 님이 쓴 글입니다. > 제목 : 부탁드립니다 > (30분봉종가(2)-30분봉시가(1)+2*30분봉시가(0))/2 를 1분봉 챠트에 지표로 나타내고 싶습니다 아래 로직으로는 다르게 나타나는 것 같습니다 input : 분(30); var : S1(0),D1(0),TM(0),TF(0),cnt(0),Result(0); Array : HH[50](0),LL[50](0),OO[50](0), cc[50](0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TimeToMinutes(stime)%분; if Bdate != Bdate[1] or (Bdate == Bdate[1] and 분 > 1 and TF < TF[1]) or (Bdate == Bdate[1] and 분 > 1 and TM >= TM[1]+분) or (Bdate == Bdate[1] and 분 == 1 and TM > TM[1]) Then { for cnt = 49 downto 1 { OO[cnt] = OO[cnt-1]; HH[cnt] = HH[cnt-1]; LL[cnt] = LL[cnt-1]; cc[cnt] = cc[cnt-1]; } OO[0] = O; HH[0] = H; LL[0] = L; cc[0] = C; } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; // 추가: 공식을 계산하여 플롯 if cc[2] > 0 and OO[1] > 0 Then { value1 = (cc[2] - OO[1] + 2 * OO[0]) / 2; } }