예스스탁
예스스탁 답변
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);
}
}