커뮤니티

90983번 질문에 관한 재질문입니다

프로필 이미지
맘속의행복
2025-01-18 16:36:57
591
글번호 187343
답변완료

첨부 이미지

안녕하세요. 금요일에 전화상으로 드렸던 질문에 미흡한 점이 있어서 보다 직관적으로 질문을 드립니다. 첨부한 그림에서 "B"는 현재 캔들 "D"기준, 지난 10개 캔들 중 최고가 > Highest(H,10) "A"는 현재 캔들 "D"기준, 20개 캔들 이전의 당일 최고가 > Dayhigh()[20] "C"는 A와 B사이의 최저가 입니다. 여기서 C를 구하는 식을 알려주시면 감사하겠습니다. 아래는 90983 질문에 대하여 주신 답변인데, 질문상 "A"지점에 대한 정의가 분명하지 않아서 단순히 "당일 최고가"로 답변을 하시게 만든 점 죄송합니다. input : X(40),N(20),buffbar(5); var : cnt(0),ii(0),dh(0),dhx(0); var : hh(0),hx(0); var : ll(0),lastDHbar(0); #당일 봉번호 #당일 최고가와 최고가의 당일봉번호 저장 if Bdate != Bdate[1] Then { ii = 0; dh = h; dhx = ii; } else { ii = ii +1; if h > dh Then { dh =h; dhx = ii; } } #지정한 당일봉수 이후에 if ii >= X Then { #N개봉 최고가와 위치(현재봉에서 몇봉전) hh = 0; hx = 0; For cnt = 0 to N { if hh == 0 or (hh > 0 and h[cnt] > hh) Then { hh = h[cnt]; hx = cnt; } } #n봉최고점+추가봉수이전 당일최고가 위치가 현재봉에서 몇봉전인지 계산 #현재봉번호 - dhx의 hx+buffbar바전 값 lastDHbar = ii-dhx[hx+buffbar]; #n봉최고점에서 lastDHbar봉전까지의 저가중 최저가 계산 ll = 0; For cnt = hx to lastDHbar { if ll == 0 or (ll > 0 and l[cnt] < ll) Then { ll = l[cnt]; } } plot1(ll); } Else NoPlot(1);
사용자 함수
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-01-20 13:48:05

안녕하세요 예스스탁입니다. input : X(40),N1(10),N2(20); var : cnt(0),ii(0),dh(0),dhx(0); var : hh(0),hx(0); var : ll(0),lastDHbar(0); #당일 봉번호 #당일 최고가와 최고가의 당일봉번호 저장 if Bdate != Bdate[1] Then { ii = 0; dh = h; dhx = ii; } else { ii = ii +1; if h > dh Then { dh =h; dhx = ii; } } #지정한 당일봉수 이후에 if ii >= X Then { #N개봉 최고가와 위치(현재봉에서 몇봉전) hh = 0; hx = 0; For cnt = 0 to N1 { if hh == 0 or (hh > 0 and h[cnt] > hh) Then { hh = h[cnt]; hx = cnt; } } #n2봉이전 당일최고가 위치가(재봉에서 몇봉전인지 계산) #n2전봉 기준 당일 최고가의 위치 lastDHbar = ii-dhx[n2]; #n봉최고점에서 lastDHbar봉전까지의 저가중 최저가 계산 ll = 0; For cnt = hx to lastDHbar { if ll == 0 or (ll > 0 and l[cnt] < ll) Then { ll = l[cnt]; } } plot1(ll); } Else NoPlot(1); 즐거운 하루되세요 > 맘속의행복 님이 쓴 글입니다. > 제목 : 90983번 질문에 관한 재질문입니다 > 안녕하세요. 금요일에 전화상으로 드렸던 질문에 미흡한 점이 있어서 보다 직관적으로 질문을 드립니다. 첨부한 그림에서 "B"는 현재 캔들 "D"기준, 지난 10개 캔들 중 최고가 > Highest(H,10) "A"는 현재 캔들 "D"기준, 20개 캔들 이전의 당일 최고가 > Dayhigh()[20] "C"는 A와 B사이의 최저가 입니다. 여기서 C를 구하는 식을 알려주시면 감사하겠습니다. 아래는 90983 질문에 대하여 주신 답변인데, 질문상 "A"지점에 대한 정의가 분명하지 않아서 단순히 "당일 최고가"로 답변을 하시게 만든 점 죄송합니다. input : X(40),N(20),buffbar(5); var : cnt(0),ii(0),dh(0),dhx(0); var : hh(0),hx(0); var : ll(0),lastDHbar(0); #당일 봉번호 #당일 최고가와 최고가의 당일봉번호 저장 if Bdate != Bdate[1] Then { ii = 0; dh = h; dhx = ii; } else { ii = ii +1; if h > dh Then { dh =h; dhx = ii; } } #지정한 당일봉수 이후에 if ii >= X Then { #N개봉 최고가와 위치(현재봉에서 몇봉전) hh = 0; hx = 0; For cnt = 0 to N { if hh == 0 or (hh > 0 and h[cnt] > hh) Then { hh = h[cnt]; hx = cnt; } } #n봉최고점+추가봉수이전 당일최고가 위치가 현재봉에서 몇봉전인지 계산 #현재봉번호 - dhx의 hx+buffbar바전 값 lastDHbar = ii-dhx[hx+buffbar]; #n봉최고점에서 lastDHbar봉전까지의 저가중 최저가 계산 ll = 0; For cnt = hx to lastDHbar { if ll == 0 or (ll > 0 and l[cnt] < ll) Then { ll = l[cnt]; } } plot1(ll); } Else NoPlot(1);