늘 고맙습니다.
# 하나의 이벤트가 생기고 그 이후 생긴 이벤트가 계속 갱신이 생깁니다.
이때 처음 생긴 이벤트와 최종 나중에 생긴 이벤트를 구분하려고 합니다.
if crossup(C,ma20) then
{
a1=1;
a1i1=index;
}
if a1==1 and index-a1i1<20 and H==dayhigh then
{
a1=2;
a1i2=index;
}
if a1=2 and index-a1i2<5 and crossdown(C,ma20) then
{
a1=3;
sell("AA");
}
# 위 식에서 생길 수 있는 문제가 crossdown(C,ma20) 이 발생했는데 H==dayhigh 가 처음 생긴 지점을 기준으로 삼으면 조건에 맞지 않는 경우가 생깁니다. 그래서 최종적으로 고점 찍은 지점을 기준으로 삼는 방법을 부탁드립니다.
답변 1
예스스탁
예스스탁 답변
2024-07-26 14:44:13
안녕하세요
예스스탁입니다.
고점체크를 a1 == 1 or a2 == 2로 지정하시면
최종고점찍은 봉 기준이 됩니다.
if crossup(C,ma20) then
{
a1=1;
a1i1=index;
}
if (a1==1 or a1 == 2) and index-a1i1<20 and H==dayhigh then
{
a1=2;
a1i2=index;
}
if a1==2 and index-a1i2<5 and crossdown(C,ma20) then
{
a1=3;
sell("AA");
}
즐거운 하루되세요
> 산골소년 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 늘 고맙습니다.
# 하나의 이벤트가 생기고 그 이후 생긴 이벤트가 계속 갱신이 생깁니다.
이때 처음 생긴 이벤트와 최종 나중에 생긴 이벤트를 구분하려고 합니다.
if crossup(C,ma20) then
{
a1=1;
a1i1=index;
}
if a1==1 and index-a1i1<20 and H==dayhigh then
{
a1=2;
a1i2=index;
}
if a1=2 and index-a1i2<5 and crossdown(C,ma20) then
{
a1=3;
sell("AA");
}
# 위 식에서 생길 수 있는 문제가 crossdown(C,ma20) 이 발생했는데 H==dayhigh 가 처음 생긴 지점을 기준으로 삼으면 조건에 맞지 않는 경우가 생깁니다. 그래서 최종적으로 고점 찍은 지점을 기준으로 삼는 방법을 부탁드립니다.