추세선 기준 고점을 잡을려고 합니다.
if h <= h[1] && h[1] > h[2] then
{ SHL = L[1];
if CrossDown(l,l[1]) Then
{T = 1;
hd = sDate[1];
hT = sTime[1];
hh = H[1]; };
}
if T == 1 Then
{ T=2;
SHD[0] = hd;
SHT[0] = ht;
SHV[0] = hh;
TL = TL_New(SLD[0],SLT[0],SLV[0],SHD[0],SHT[0],SHV[0]);
}
===============
// h[1],l[1]이 기준봉이 되고 만약 기준봉 이후에 오는 잉태형 봉이 오면 추세가 없어서 생략하고, 그 후에 오는 봉의 저점이 기준봉 저점을 하락 돌파하면 그때 고점 확정 sdate stime 입력 hd = sDate[2]; hT = sTime[2]; , 만약 기준봉 저점을 하락 돌파 못하고 기준봉 고점을 상승돌파하면 고점 확정 실패로 보고 무시.
문제는 기준봉이후 기준봉의 고점 또는 저점을 하락돌파도 상승돌파도 못하는 잉태형 봉이 계속 나올 경우 계속 무시해야 하는데
hd = sdate[?] 몇일 만에 하락돌파했는지 날 수 ? 입력해야 합니다.
for 문으로 돌려서 하면 될 것 같은데
// 넉넉하게 10일 정도 안에는 상향 또는 하향 돌파할 태니
for cnt 1 to 10
cnt = cnt +1
if CrossDown(l,l[cnt])
{T = 1;
hd = sDate[cnt];
hT = sTime[cnt];
hh = H[cnt]; };
// 10거래일 전이라도 상향 또는 하향 돌파하면 종료
exit if CrossDown(l,l[기준봉일]) or crossup(h,h[기준봉일])
도와 주세요. 풀어쓰면 이렇게 될까요.
if h <= h[1] && h[1] > h[2] then
{ SHL = L[1];
if CrossDown(l,l[1]) Then
{T = 1;
hd = sDate[1];
hT = sTime[1];
hh = H[1]; };
if CrossDown(l,l[2]) Then
{T = 1;
hd = sDate[2];
hT = sTime[2];
hh = H[2]; };
exit if CrossDown(l,l[기준봉일]) or crossup(h,h[기준봉일])
if CrossDown(l,l[3]) Then
{T = 1;
hd = sDate[3];
hT = sTime[3];
hh = H[3]; };
exit if CrossDown(l,l[기준봉일]) or crossup(h,h[기준봉일])
if CrossDown(l,l[4]) Then
{T = 1;
hd = sDate[4];
hT = sTime[4];
hh = H[4]; };
exit if CrossDown(l,l[기준봉일]) or crossup(h,h[기준봉일])
}
모르겠네요.
답변 1
예스스탁
예스스탁 답변
2024-07-29 15:30:33
안녕하세요
예스스탁입니다.
문의하신 내용을 정확이 이해하지 못했습니다.
if h <= h[1] && h[1] > h[2] then
만약 위 조건이 만족하면 L[1]값을 SHL로 저장하고
이후에 SHL보다 저가가 낮은 봉이 발생하면 고점 확정이면
아래와 같이 작성하시면 됩니다.
내용상 날짜보다는 index를 저장해서 10봉 이내로 표현하셔야 할 것 같습니다.
if h <= h[1] && h[1] > h[2] then
{
hd = sDate;
ht = sTime;
hh = H[1];
hi = Index[1];
SHL = L[1];
T = 1;
}
Else
{
if T == 1 and L < SHL and ii <= hi+10 Then
{
T=2;
SHD[0] = hd;
SHT[0] = ht;
SHV[0] = hh;
}
}
즐거운 하루되세요
> solution 님이 쓴 글입니다.
> 제목 : 수식으로 표현해주세요.
> 추세선 기준 고점을 잡을려고 합니다.
if h <= h[1] && h[1] > h[2] then
{ SHL = L[1];
if CrossDown(l,l[1]) Then
{T = 1;
hd = sDate[1];
hT = sTime[1];
hh = H[1]; };
}
if T == 1 Then
{ T=2;
SHD[0] = hd;
SHT[0] = ht;
SHV[0] = hh;
TL = TL_New(SLD[0],SLT[0],SLV[0],SHD[0],SHT[0],SHV[0]);
}
===============
// h[1],l[1]이 기준봉이 되고 만약 기준봉 이후에 오는 잉태형 봉이 오면 추세가 없어서 생략하고, 그 후에 오는 봉의 저점이 기준봉 저점을 하락 돌파하면 그때 고점 확정 sdate stime 입력 hd = sDate[2]; hT = sTime[2]; , 만약 기준봉 저점을 하락 돌파 못하고 기준봉 고점을 상승돌파하면 고점 확정 실패로 보고 무시.
문제는 기준봉이후 기준봉의 고점 또는 저점을 하락돌파도 상승돌파도 못하는 잉태형 봉이 계속 나올 경우 계속 무시해야 하는데
hd = sdate[?] 몇일 만에 하락돌파했는지 날 수 ? 입력해야 합니다.
for 문으로 돌려서 하면 될 것 같은데
// 넉넉하게 10일 정도 안에는 상향 또는 하향 돌파할 태니
for cnt 1 to 10
cnt = cnt +1
if CrossDown(l,l[cnt])
{T = 1;
hd = sDate[cnt];
hT = sTime[cnt];
hh = H[cnt]; };
// 10거래일 전이라도 상향 또는 하향 돌파하면 종료
exit if CrossDown(l,l[기준봉일]) or crossup(h,h[기준봉일])
도와 주세요. 풀어쓰면 이렇게 될까요.
if h <= h[1] && h[1] > h[2] then
{ SHL = L[1];
if CrossDown(l,l[1]) Then
{T = 1;
hd = sDate[1];
hT = sTime[1];
hh = H[1]; };
if CrossDown(l,l[2]) Then
{T = 1;
hd = sDate[2];
hT = sTime[2];
hh = H[2]; };
exit if CrossDown(l,l[기준봉일]) or crossup(h,h[기준봉일])
if CrossDown(l,l[3]) Then
{T = 1;
hd = sDate[3];
hT = sTime[3];
hh = H[3]; };
exit if CrossDown(l,l[기준봉일]) or crossup(h,h[기준봉일])
if CrossDown(l,l[4]) Then
{T = 1;
hd = sDate[4];
hT = sTime[4];
hh = H[4]; };
exit if CrossDown(l,l[기준봉일]) or crossup(h,h[기준봉일])
}
모르겠네요.