예스스탁
예스스탁 답변
2024-08-13 17:21:55
안녕하세요
예스스탁입니다.
1
예 해석하신 내용이 맞습니다.
2
추세선을 출력하고 이후에 돌파를 지정하기 위해서는
추세선이 연장이 되어야 합니다.
추세선출력후 우측으로 연장하고 종가와 비교하면 됩니다.
3
해당식에서 TL은 추세선의 아이디를 저장받는 변수입니다.
차트에는 여러개의 추세선이 그려질수 있는데
이 아이디로 특정 추세선을 지정해 값변경 및 이동, 색상등 표현방식을 변경할 수 있습니다.
추세선 값은 TL_GetValue로 가져와서 사용해야 합니다.
4
var : n(30);
var : cnt(0),hh(0),hb(0),ll(0),lb(0),TL(0),TX(0);
if CountIf(H >= L*1.11,n) >= 1 Then
{
#"최근봉"만 표시되게 하기위해 "직전에서 출력된 추세선과 텍스트는 삭제"
TL_Delete(TL);
Text_Delete(TX);
#n개봉 최고가와 최고가위치(몇봉전인지) 계산
#n개봉 최저가와 최저가위치(몇봉전인지) 계산
hh = 0;
hb = 0;
ll = 0;
lb = 0;
For cnt = 0 to n-1
{
if hh == 0 or (hh > 0 and h[cnt] > hh) Then
{
hh = h[cnt];
hb = cnt;
}
if ll == 0 or (ll > 0 and l[cnt] < ll) Then
{
ll = l[cnt];
lb = cnt;
}
}
#추세선 출력
if (lb > hb and hh >= ll*1.30) or (lb < hb and ll <= hh*0.80) Then
{
TL = TL_New(sDate[hb],sTime[hb],hh,sDate[lb],sTime[lb],ll);
//추세선 굵기
TL_SetSize(tl,2);
//추세선 우측연장
TL_SetExtRight(tl,true);
#최고가가 더 가까우면 빨강 아니면 파랑
if lb > hb Then
{
TL_SetColor(TL,Red);
}
Else
TL_SetColor(TL,Blue);
#텍스트 출력
TX = Text_New(TL_GetEndDate(TL),TL_GetEndTime(TL),TL_GetEndVal(TL),NumToStr(abs(hb-lb),0));
}
}
#추세선값 상향돌파
if TL_GetValue(TL,sDate,stime) > 0 then
{
value1 = TL_GetValue(TL,sDate,stime);
if CrossUp(C,Value1) Then
plot3(high,"tlcross");
}
즐거운 하루되세요
> yamu 님이 쓴 글입니다.
> 제목 : 추세선 수식 해석 관련해서 질문드립니다
> 전에 질문드렸던 추세선 관련해서 추가적으로 여쭤보고싶습니다
일단 수식은 아래와 같습니다
var : n(30);
var : cnt(0),hh(0),hb(0),ll(0),lb(0),TL(0),TX(0);
#최근 n봉안에 봉길이는 4%이상이고 하락시가갭 3%인 봉이 있을 때
if CountIf(H >= L*1.11,n) >= 1 Then
{
#"최근봉"만 표시되게 하기위해 "직전에서 출력된 추세선과 텍스트는 삭제"
//TL_Delete(TL);
//Text_Delete(TX);
#n개봉 최고가와 최고가위치(몇봉전인지) 계산
#n개봉 최저가와 최저가위치(몇봉전인지) 계산
hh = 0;
hb = 0;
ll = 0;
lb = 0;
For cnt = 0 to n-1
{
if hh == 0 or (hh > 0 and h[cnt] > hh) Then
{
hh = h[cnt];
hb = cnt; }
if ll == 0 or (ll > 0 and l[cnt] < ll) Then
{
ll = l[cnt];
lb = cnt;
} }
#추세선 출력
TL = TL_New(sDate[hb],sTime[hb],hh,sDate[lb],sTime[lb],ll);
#최고가가 더 가까우면 빨강 아니면 파랑
if lb > hb Then
TL_SetColor(TL,Red);
//TL_SetSize(tl,2);
Else
TL_SetColor(TL,Blue);
#텍스트 출력
TX = Text_New(TL_GetEndDate(TL),TL_GetEndTime(TL),TL_GetEndVal(TL),NumToStr(abs(hb-lb),0));
}
제가 해석한대로라면 n기간 (30봉) 동안 고가 저가 길이가 11% 이상인 봉이 한번 이상 발생한다면 추세선을 만드는거고 30봉 동안의 저점과 고점을 연결함. 그리고 상향 추세선이면 red로, 하향이면 blue 로 표현
이게 해석이 맞나요??
맞다면 추세선의 양끝단의 등락률 조건을 추가로 넣을 수 있을까요?
예를 들면 상향 추세선일때는 start의 저점과 end 의 고점의 차이가 30% 이상일때 만 추세선이 나타나게 하고, 하향선일때는 start 고점과 end 저점의 차이가 20% 이상일때 각각 나눠서 나타내고 싶습니다
+ 추세선을 돌파하는 식은 어떻게 나타내야 하나요?
추세선 돌파하거나 가로지르는 조건은 작성이 안되는건가요?~
if crossup(c,TL), then plot3(high,"tlcross") ;
이렇게 해봤는데 아닌거 같네요
+ 선굵기를 조정하고 싶은데요
아래 부분에서 선 굵기를 tl_setsize로 조정하려고 하는데 문법에러 else 라고 나옵니다
#최고가가 더 가까우면 빨강 아니면 파랑
if lb > hb Then
TL_SetColor(TL,Red);
TL_SetSize(tl,2);
Else
TL_SetColor(TL,Blue);
한번 적용하고 공부해 보겠습니다
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 추세선 수식 해석 관련해서 질문드립니다
>
안녕하세요
예스스탁입니다.
1
예 해석하신 내용이 맞습니다.
2
추세선을 출력하고 이후에 돌파를 지정하기 위해서는
추세선이 연장이 되어야 합니다.
추세선출력후 우측으로 연장하고 종가와 비교하면 됩니다.
3
해당식에서 TL은 추세선의 아이디를 저장받는 변수입니다.
차트에는 여러개의 추세선이 그려질수 있는데
이 아이디로 특정 추세선을 지정해 값변경 및 이동, 색상등 표현방식을 변경할 수 있습니다.
추세선 값은 TL_GetValue로 가져와서 사용해야 합니다.
4
var : n(30);
var : cnt(0),hh(0),hb(0),ll(0),lb(0),TL(0),TX(0);
if CountIf(H >= L*1.11,n) >= 1 Then
{
#"최근봉"만 표시되게 하기위해 "직전에서 출력된 추세선과 텍스트는 삭제"
TL_Delete(TL);
Text_Delete(TX);
#n개봉 최고가와 최고가위치(몇봉전인지) 계산
#n개봉 최저가와 최저가위치(몇봉전인지) 계산
hh = 0;
hb = 0;
ll = 0;
lb = 0;
For cnt = 0 to n-1
{
if hh == 0 or (hh > 0 and h[cnt] > hh) Then
{
hh = h[cnt];
hb = cnt;
}
if ll == 0 or (ll > 0 and l[cnt] < ll) Then
{
ll = l[cnt];
lb = cnt;
}
}
#추세선 출력
if (lb > hb and hh >= ll*1.30) or (lb < hb and ll <= hh*0.80) Then
{
TL = TL_New(sDate[hb],sTime[hb],hh,sDate[lb],sTime[lb],ll);
//추세선 굵기
TL_SetSize(tl,2);
//추세선 우측연장
TL_SetExtRight(tl,true);
#최고가가 더 가까우면 빨강 아니면 파랑
if lb > hb Then
{
TL_SetColor(TL,Red);
}
Else
TL_SetColor(TL,Blue);
#텍스트 출력
TX = Text_New(TL_GetEndDate(TL),TL_GetEndTime(TL),TL_GetEndVal(TL),NumToStr(abs(hb-lb),0));
}
}
#추세선값 상향돌파
if TL_GetValue(TL,sDate,stime) > 0 then
{
value1 = TL_GetValue(TL,sDate,stime);
if CrossUp(C,Value1) Then
plot3(high,"tlcross");
}
즐거운 하루되세요
> yamu 님이 쓴 글입니다.
> 제목 : 추세선 수식 해석 관련해서 질문드립니다
> 전에 질문드렸던 추세선 관련해서 추가적으로 여쭤보고싶습니다
일단 수식은 아래와 같습니다
var : n(30);
var : cnt(0),hh(0),hb(0),ll(0),lb(0),TL(0),TX(0);
#최근 n봉안에 봉길이는 4%이상이고 하락시가갭 3%인 봉이 있을 때
if CountIf(H >= L*1.11,n) >= 1 Then
{
#"최근봉"만 표시되게 하기위해 "직전에서 출력된 추세선과 텍스트는 삭제"
//TL_Delete(TL);
//Text_Delete(TX);
#n개봉 최고가와 최고가위치(몇봉전인지) 계산
#n개봉 최저가와 최저가위치(몇봉전인지) 계산
hh = 0;
hb = 0;
ll = 0;
lb = 0;
For cnt = 0 to n-1
{
if hh == 0 or (hh > 0 and h[cnt] > hh) Then
{
hh = h[cnt];
hb = cnt; }
if ll == 0 or (ll > 0 and l[cnt] < ll) Then
{
ll = l[cnt];
lb = cnt;
} }
#추세선 출력
TL = TL_New(sDate[hb],sTime[hb],hh,sDate[lb],sTime[lb],ll);
#최고가가 더 가까우면 빨강 아니면 파랑
if lb > hb Then
TL_SetColor(TL,Red);
//TL_SetSize(tl,2);
Else
TL_SetColor(TL,Blue);
#텍스트 출력
TX = Text_New(TL_GetEndDate(TL),TL_GetEndTime(TL),TL_GetEndVal(TL),NumToStr(abs(hb-lb),0));
}
제가 해석한대로라면 n기간 (30봉) 동안 고가 저가 길이가 11% 이상인 봉이 한번 이상 발생한다면 추세선을 만드는거고 30봉 동안의 저점과 고점을 연결함. 그리고 상향 추세선이면 red로, 하향이면 blue 로 표현
이게 해석이 맞나요??
맞다면 추세선의 양끝단의 등락률 조건을 추가로 넣을 수 있을까요?
예를 들면 상향 추세선일때는 start의 저점과 end 의 고점의 차이가 30% 이상일때 만 추세선이 나타나게 하고, 하향선일때는 start 고점과 end 저점의 차이가 20% 이상일때 각각 나눠서 나타내고 싶습니다
+ 추세선을 돌파하는 식은 어떻게 나타내야 하나요?
추세선 돌파하거나 가로지르는 조건은 작성이 안되는건가요?~
if crossup(c,TL), then plot3(high,"tlcross") ;
이렇게 해봤는데 아닌거 같네요
+ 선굵기를 조정하고 싶은데요
아래 부분에서 선 굵기를 tl_setsize로 조정하려고 하는데 문법에러 else 라고 나옵니다
#최고가가 더 가까우면 빨강 아니면 파랑
if lb > hb Then
TL_SetColor(TL,Red);
TL_SetSize(tl,2);
Else
TL_SetColor(TL,Blue);