커뮤니티

정리해서 수식문의 드립니다.

프로필 이미지
꿀떡
2025-04-10 14:32:19
293
글번호 190005
답변완료
당일 3분봉 09:00 이후 발생한 첫음봉이후 첫음봉의 고가를 넘어서는 다음 음봉의 고가를 표시하고 싶습니다. 아래 수식이 맞게 표현된 건가요? 추가로 이전에 문의 드린 수식에서 LH(-1)로 했을 때 검색이 안되고, 0으로 했을 때만 검색이 되네요. 검색된 종목은 표현 내용이 다르고요. 맞게 수정 부탁 드립니다. var : cnt(0), 당일(False), LH1(0), LH2(-1), HH(0); if sDate != sDate[1] Then { cnt = 0; LH1 = 0; } if C<O and sTime > 090000 Then { cnt = cnt+1; if cnt == 1 Then LH1 = H; } if cnt == 1 and cnt[1] == 0 and 당일 Then LH2 = 0; if LH2 >= 0 and LH1<L and C<O Then LH2 = LH2+1; if LH2 == 1 and LH2[1] == 0 Then HH = H;
종목검색
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-04-10 14:46:57

안녕하세요 예스스탁입니다. 작성하신 수식에서 당일이라는 변수는 선언만 초기값으로 false로 되어 있지 이후 true로 변경되는 부분이 없습니다. if cnt == 1 and cnt[1] == 0 and 당일 Then LH2 = 0; 그런데 위 조건문에 당일이라는 변수가 true라는 조건이 있으므로 충족이 되지 않아 LH2가 0이 되지 못합니다. 그래서 LH2를 초기값으로 -1로 하면 이후 조건 수행이 되지 않습니다. 당일이라는 변수는 불필요해 보여 삭제합니다. var : cnt(0), 당일(False), LH1(0), LH2(-1), HH(0); #날짜변경시 변수 초기화 if sDate != sDate[1] Then { cnt = 0; LH1 = 0; LH2 = 0; } #9시 이후 음봉 발생시마다 if C<O and sTime >= 090000 Then { #카운트 1씩 증가 cnt = cnt+1; #첫번째 음봉이면 LH1에 고가 저장 if cnt == 1 Then LH1 = H; } #당일첫음봉의 고가 저장후(LH1에 값저장 후) LH1보다 저가가 크면서 음봉이 발생하면 if LH1 >= 0 and LH1<L and C<O Then { #카운트 1씩 증가 LH2 = LH2+1; #첫번째이면 HH에 고가 저장 if LH2 == 1 Then HH = H; } 즐거운 하루되세요 > 꿀떡 님이 쓴 글입니다. > 제목 : 정리해서 수식문의 드립니다. > 당일 3분봉 09:00 이후 발생한 첫음봉이후 첫음봉의 고가를 넘어서는 다음 음봉의 고가를 표시하고 싶습니다. 아래 수식이 맞게 표현된 건가요? 추가로 이전에 문의 드린 수식에서 LH(-1)로 했을 때 검색이 안되고, 0으로 했을 때만 검색이 되네요. 검색된 종목은 표현 내용이 다르고요. 맞게 수정 부탁 드립니다. var : cnt(0), 당일(False), LH1(0), LH2(-1), HH(0); if sDate != sDate[1] Then { cnt = 0; LH1 = 0; } if C<O and sTime > 090000 Then { cnt = cnt+1; if cnt == 1 Then LH1 = H; } if cnt == 1 and cnt[1] == 0 and 당일 Then LH2 = 0; if LH2 >= 0 and LH1<L and C<O Then LH2 = LH2+1; if LH2 == 1 and LH2[1] == 0 Then HH = H;