커뮤니티

문의드립니다.

프로필 이미지
산골소년
2024-07-26 07:57:38
756
글번호 181896
답변완료
늘 고맙습니다. # 하나의 이벤트가 생기고 그 이후 생긴 이벤트가 계속 갱신이 생깁니다. 이때 처음 생긴 이벤트와 최종 나중에 생긴 이벤트를 구분하려고 합니다. 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 가 처음 생긴 지점을 기준으로 삼으면 조건에 맞지 않는 경우가 생깁니다. 그래서 최종적으로 고점 찍은 지점을 기준으로 삼는 방법을 부탁드립니다.