당일 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;