커뮤니티
TrendLine 수식 재문의 입니다.
2013-07-12 19:21:47
258
글번호 65297
답변 중에서
================================================================
안녕하세요
예스스탁입니다.
1.
var1 = (Highest(High, 26) + Lowest(Low, 26)) / 2;
if var1 > var1[1] and var1[1] < var1[2] Then{
value1 = TL_New(sdate,stime,0,sdate,stime,99999999);
TL_SetColor(value1,blue);
}
if var1 < var1[1] and var1[1] > var1[2] Then{
value2 = TL_New(sdate,stime,0,sdate,stime,99999999);
TL_SetColor(value2,RED);
}
plot1(var1,"기준선");
==================================================================
수식이 안 그려 주는 건 부등호가 약간 오류가 있어서 바로 잡았습니다만.
제가 원하는 건
기준선이 하락하다가 최초로 상승개시하는 캔들에 수직선을 한번씩만 그리고
다시 하락 할 경우에 최초의 하락개시캔들에만 한번씩만 그리는 수식을 부탁드렸습니다.
그런데 보내주신 수식은 하락하는 캔들 마다, 상승하는 캔들마다 모든 연속된 캔들에 그리는 바람에 화면이 어지럽습니다.
그래서 나름 한번만 그리도록 다음과 같이 고안 해 봤는데
별 효과가 없습니다.
문의 드린 내용에 맞도록 수정 부탁드립니다.
=================================================================
var : TL1(0),TL2(0),flag(0);
var1 = (Highest(High, 26) + Lowest(Low, 26)) / 2;
if var1[1] <= var1[2] then flag = -1; //하락 중
if flag = -1 Then
{
if var1 > var1[1] Then
{
TL1 = TL_New(sdate,stime,0,sdate,stime,99999999);
TL_SetColor(TL1, rgb(120,86,7));
TL_SetSize(TL1,0);
TL_SetStyle(TL1,3);
flag = 1; //상승개시 첫캔들에만 그릴 것
}
}
if var1[1] >= var1[2] then flag = 1; //상승 중
if flag = 1 Then
{
if var1 < var1[1] Then
{
TL2 = TL_New(sdate,stime,0,sdate,stime,99999999);
TL_SetColor(TL2, rgb(120,86,7));
TL_SetSize(TL2,0);
TL_SetStyle(TL2,3);
flag = -1; //하락개시 첫 캔들에만 그릴 것
}
}
==========================================================
답변 1
예스스탁 예스스탁 답변
2013-07-15 09:56:41
안녕하세요
예스스탁입니다.
if 문에서 2개의 값이 같다라는 표현은 == 입니다.
=은 오른쪽의 값을 왼족에 저장한다는 표현입니다.
if var1[1] < var1[2] then
flag = -1; //하락 중
if var1[1] > var1[2] then
flag = 1; //상승 중
또한 하락중 상승중 표현에 =은 제외하셔야 합니다.
기준선 값이 값이 동일하게 유지되는 구간이 많이 발생하는데
상승하다가 값이 유지되거나 하락하다 유지되는 구간 모두
flag가 1로 저장이 됩니다.
var : TL1(0),TL2(0),flag(0);
var1 = (Highest(High, 26) + Lowest(Low, 26)) / 2;
if var1[1] < var1[2] then
flag = -1; //하락 중
if flag == -1 Then
{
if var1 > var1[1] Then
{
TL1 = TL_New(sdate,stime,0,sdate,stime,99999999);
TL_SetColor(TL1, rgb(120,86,7));
TL_SetSize(TL1,0);
TL_SetStyle(TL1,3);
flag = 1; //상승개시 첫캔들에만 그릴 것
}
}
if var1[1] > var1[2] then
flag = 1; //상승 중
if flag == 1 Then
{
if var1 < var1[1] Then
{
TL2 = TL_New(sdate,stime,0,sdate,stime,99999999);
TL_SetColor(TL2, rgb(120,86,7));
TL_SetSize(TL2,0);
TL_SetStyle(TL2,3);
flag = -1; //하락개시 첫 캔들에만 그릴 것
}
}
즐거운 하루되세요
> 무지개나날들 님이 쓴 글입니다.
> 제목 : TrendLine 수식 재문의 입니다.
> 답변 중에서
================================================================
안녕하세요
예스스탁입니다.
1.
var1 = (Highest(High, 26) + Lowest(Low, 26)) / 2;
if var1 > var1[1] and var1[1] < var1[2] Then{
value1 = TL_New(sdate,stime,0,sdate,stime,99999999);
TL_SetColor(value1,blue);
}
if var1 < var1[1] and var1[1] > var1[2] Then{
value2 = TL_New(sdate,stime,0,sdate,stime,99999999);
TL_SetColor(value2,RED);
}
plot1(var1,"기준선");
==================================================================
수식이 안 그려 주는 건 부등호가 약간 오류가 있어서 바로 잡았습니다만.
제가 원하는 건
기준선이 하락하다가 최초로 상승개시하는 캔들에 수직선을 한번씩만 그리고
다시 하락 할 경우에 최초의 하락개시캔들에만 한번씩만 그리는 수식을 부탁드렸습니다.
그런데 보내주신 수식은 하락하는 캔들 마다, 상승하는 캔들마다 모든 연속된 캔들에 그리는 바람에 화면이 어지럽습니다.
그래서 나름 한번만 그리도록 다음과 같이 고안 해 봤는데
별 효과가 없습니다.
문의 드린 내용에 맞도록 수정 부탁드립니다.
=================================================================
var : TL1(0),TL2(0),flag(0);
var1 = (Highest(High, 26) + Lowest(Low, 26)) / 2;
if var1[1] <= var1[2] then flag = -1; //하락 중
if flag = -1 Then
{
if var1 > var1[1] Then
{
TL1 = TL_New(sdate,stime,0,sdate,stime,99999999);
TL_SetColor(TL1, rgb(120,86,7));
TL_SetSize(TL1,0);
TL_SetStyle(TL1,3);
flag = 1; //상승개시 첫캔들에만 그릴 것
}
}
if var1[1] >= var1[2] then flag = 1; //상승 중
if flag = 1 Then
{
if var1 < var1[1] Then
{
TL2 = TL_New(sdate,stime,0,sdate,stime,99999999);
TL_SetColor(TL2, rgb(120,86,7));
TL_SetSize(TL2,0);
TL_SetStyle(TL2,3);
flag = -1; //하락개시 첫 캔들에만 그릴 것
}
}
==========================================================
다음글