커뮤니티

분단위 시고저종가 사용자함수

프로필 이미지
jdavid
2022-08-16 11:24:35
1925
글번호 161505
답변완료
감사합니다. 예) 장시작부터 분주기별(15분봉) 각각의 시가, 고가. 저가, 종가를 나타내는 지표가 아니라 사용자함수를 부탁드립니다. 1 분주기별 시가표시함수 2 분주기별 고가표시함수 3 분주기별 저가표시함수 4 분주기별 종가표시함수 각 분 주기마다 시고저종가가 각각 표시되게 부탁드립니다
사용자 함수
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2022-08-16 15:47:48

안녕하세요 예스스탁입니다. MO(타분봉주기,nbar) 위와 같은 형태로 작성해 드립니다. MO(15,0) --> 0봉전 15분봉 시가 MO(15,1) --> 1봉전 15분봉 시가 다른 함수도 이름만 다르고 위와 같습니다. 1 분주기별 시가표시함수 사용자함수명 : MO 반환값형 : 숫자형 input : 분(Numeric),pre(Numeric); var : S1(0),D1(0),TM(0),TF(0),cnt(0); Array : OO[100](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 = TM%분; 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 = 99 downto 1 { OO[cnt] = OO[cnt-1]; } OO[0] = O; } if OO[pre] > 0 Then MO = OO[pre]; Else MO = Nan; } 2 분주기별 고가표시함수 사용자함수명 : MH 반환값형 : 숫자형 input : 분(Numeric),pre(Numeric); var : S1(0),D1(0),TM(0),TF(0),cnt(0); Array : HH[100](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 = TM%분; 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 = 99 downto 1 { HH[cnt] = HH[cnt-1]; } HH[0] = H; } if H > HH[0] Then HH[0] = H; if HH[pre] > 0 Then MH = HH[pre]; Else MH = Nan; } 3 분주기별 저가표시함수 사용자함수명 : ML 반환값형 : 숫자형 input : 분(Numeric),pre(Numeric); var : S1(0),D1(0),TM(0),TF(0),cnt(0); Array : LL[100](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 = TM%분; 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 = 99 downto 1 { LL[cnt] = LL[cnt-1]; } LL[0] = L; } if L < LL[0] Then LL[0] = H; if LL[pre] > 0 Then ML = LL[pre]; Else ML = Nan; } 4 분주기별 종가표시함수 사용자함수명 : MC 반환값형 : 숫자형 input : 분(Numeric),pre(Numeric); var : S1(0),D1(0),TM(0),TF(0),cnt(0); Array : CC[100](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 = TM%분; 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 = 99 downto 1 { CC[cnt] = CC[cnt-1]; } } CC[0] = C; if CC[pre] > 0 Then MC = CC[pre]; Else MC = Nan; } 즐거운 하루되세요 > jdavid 님이 쓴 글입니다. > 제목 : 분단위 시고저종가 사용자함수 > 감사합니다. 예) 장시작부터 분주기별(15분봉) 각각의 시가, 고가. 저가, 종가를 나타내는 지표가 아니라 사용자함수를 부탁드립니다. 1 분주기별 시가표시함수 2 분주기별 고가표시함수 3 분주기별 저가표시함수 4 분주기별 종가표시함수 각 분 주기마다 시고저종가가 각각 표시되게 부탁드립니다
프로필 이미지

jdavid

2022-08-16 17:00:46

jdavid 님에 의해 삭제된 답변입니다.