커뮤니티

질문드리겠습니다

프로필 이미지
yamu
2025-04-22 14:14:26
266
글번호 190318
답변완료
1번 답변주신 내용으로 적용하면 아무것도 나오지가 않습니다 제가 구현하고자 하는건 if h>l*1.08을 만족하는 현재만족봉(A1라고 했을때) 이후 새로운 다음봉이(A0라고 했을때) 5거래일 보다 적으면 스킵을 하고, A1봉을 다시 기준점으로 해서 (다음봉인 A0봉이 새로운 기준점이 아니라) , A0 이후에 나오는 만족봉이 A1봉과 비교해서 5거래일 이상이면 값이 나타나게 하려고 합니다 즉 기준봉은 이전껄로 고정된 상태로, "최초로" 5일 이상 간격이 발생하는 새로운 봉이 나오면 var1에 index 값을 저장하려고 합니다. 그 후로 그 봉을 기준으로 또 다시 반복을 하려고 합니다. 단순히 현재봉과 직전봉을 비교하면 간격이 큰 봉이 나오지 않는 이상 값이 계속 안나오게 되는걸 방지하려고 생각해본 것입니다 예를 들어 간격이 계속 1거래일인 조건봉들이 12개가 연달아 나오면 결과값이 나오지 않게 되지만 이 방식으로 하면 두개는 나오기 때문입니다 한번 더 검토 부탁드립니다 ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ 지난 질문은 참고로 올렷습니다 질문1) 아래식에서 if d2 == 0 or (d2 > 0 and d1 >= d2+5) 이 조건에 의하면 현재봉과 전봉의 거래일 간격을 단순하게 계산해서 차이가 5거래일 이상 나지 않으면 표현을 안하게 되는데요, h>l*1.08 조건을 만족하는 봉들을 가지고 현재만족봉 기준 다음 만족봉이 5거래일 보다 적으면 건너뛰고 다다음봉이 클때 var1에 index 값을 대입하려고 합니다 예를들어 현재봉 - 다음봉 (3거래일 후) - 다다음봉 (현재봉 기준으로 해서 6거래일 후) 라면 다음봉은 건너뛰고 다다음봉에만 해당하게 조건을 작성하고 싶습니다 아래는 수식입니다 var : cnt(0), sum1(0), sumi1(0),summ(0),tt(0),hh(0),ll(0),tl(0),tl1(0),n(0); var: sum2(0),sumi2(0); var : t(0),StartBarIndex(0),dd(0),d1(0),d2(0),ee(0),e1(0),e2(0); Array : ii[50](0),aa[50](0),cc[50](0),vv[150](0),ttl[30](0),tttl[40](0),tttl1[40](0),tttl2[40](0),sd[45](0),st[45 ](0); Var33=Money/100000000; if Bdate != Bdate[1] Then { DD = DD+1; } if h>l*1.08 Then { d1 = dd; d2 = d1[1]; if d2 == 0 or (d2 > 0 and d1 >= d2+5) Then { var1 = Index; Var2 = var1[1]; Var3= Var2[1]; tl=TL_NEW(sDatE,sTimE,100,sDatE,sTimE,999999); TL_SetSize(tl,0); TL_SetColor(tl,Gray); } }
지표
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2025-04-22 14:53:39

안녕하세요 예스스탁입니다. 식을 수정했습니다. var : cnt(0), sum1(0), sumi1(0),summ(0),tt(0),hh(0),ll(0),tl(0),tl1(0),n(0); var: sum2(0),sumi2(0); var : t(0),StartBarIndex(0),dd(0),d1(0),d2(0),ee(0),e1(0),e2(0); Array : ii[50](0),aa[50](0),cc[50](0),vv[150](0),ttl[30](0),tttl[40](0),tttl1[40](0),tttl2[40](0),sd[45](0),st[45](0); Var33=Money/100000000; if Bdate != Bdate[1] Then { DD = DD+1; } if h>l*1.08 and (d1 == 0 or (d1 > 0 and dd >= d1+5)) Then { d1 = dd; var1 = Index; Var2 = var1[1]; Var3 = Var2[1]; tl=TL_NEW(sDate,sTime,100,sDate,sTime,999999); TL_SetSize(tl,0); TL_SetColor(tl,Red); } 즐거운 하루되세요 > yamu 님이 쓴 글입니다. > 제목 : 질문드리겠습니다 > 1번 답변주신 내용으로 적용하면 아무것도 나오지가 않습니다 제가 구현하고자 하는건 if h>l*1.08을 만족하는 현재만족봉(A1라고 했을때) 이후 새로운 다음봉이(A0라고 했을때) 5거래일 보다 적으면 스킵을 하고, A1봉을 다시 기준점으로 해서 (다음봉인 A0봉이 새로운 기준점이 아니라) , A0 이후에 나오는 만족봉이 A1봉과 비교해서 5거래일 이상이면 값이 나타나게 하려고 합니다 즉 기준봉은 이전껄로 고정된 상태로, "최초로" 5일 이상 간격이 발생하는 새로운 봉이 나오면 var1에 index 값을 저장하려고 합니다. 그 후로 그 봉을 기준으로 또 다시 반복을 하려고 합니다. 단순히 현재봉과 직전봉을 비교하면 간격이 큰 봉이 나오지 않는 이상 값이 계속 안나오게 되는걸 방지하려고 생각해본 것입니다 예를 들어 간격이 계속 1거래일인 조건봉들이 12개가 연달아 나오면 결과값이 나오지 않게 되지만 이 방식으로 하면 두개는 나오기 때문입니다 한번 더 검토 부탁드립니다 ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ 지난 질문은 참고로 올렷습니다 질문1) 아래식에서 if d2 == 0 or (d2 > 0 and d1 >= d2+5) 이 조건에 의하면 현재봉과 전봉의 거래일 간격을 단순하게 계산해서 차이가 5거래일 이상 나지 않으면 표현을 안하게 되는데요, h>l*1.08 조건을 만족하는 봉들을 가지고 현재만족봉 기준 다음 만족봉이 5거래일 보다 적으면 건너뛰고 다다음봉이 클때 var1에 index 값을 대입하려고 합니다 예를들어 현재봉 - 다음봉 (3거래일 후) - 다다음봉 (현재봉 기준으로 해서 6거래일 후) 라면 다음봉은 건너뛰고 다다음봉에만 해당하게 조건을 작성하고 싶습니다 아래는 수식입니다 var : cnt(0), sum1(0), sumi1(0),summ(0),tt(0),hh(0),ll(0),tl(0),tl1(0),n(0); var: sum2(0),sumi2(0); var : t(0),StartBarIndex(0),dd(0),d1(0),d2(0),ee(0),e1(0),e2(0); Array : ii[50](0),aa[50](0),cc[50](0),vv[150](0),ttl[30](0),tttl[40](0),tttl1[40](0),tttl2[40](0),sd[45](0),st[45 ](0); Var33=Money/100000000; if Bdate != Bdate[1] Then { DD = DD+1; } if h>l*1.08 Then { d1 = dd; d2 = d1[1]; if d2 == 0 or (d2 > 0 and d1 >= d2+5) Then { var1 = Index; Var2 = var1[1]; Var3= Var2[1]; tl=TL_NEW(sDatE,sTimE,100,sDatE,sTimE,999999); TL_SetSize(tl,0); TL_SetColor(tl,Gray); } }
프로필 이미지

yamu

2025-04-22 15:39:05

감사드려요