커뮤니티
문의드립니다
2019-05-23 00:19:43
216
글번호 128895
안녕하세요
아래 식은 파동의 고점과 저점을 표시해주는데요, 여기에 추가로 진폭을 같이 표시하려고 합니다.
즉, 고점 위에 +20 (빨강색), 저점 아래에 -34 (파랑색) 이렇게 전 고점/저점과의 차이를 숫자로 나타내고 싶습니다.
나타내는 방법은
버전1) 숫자 그대로 표시하고 싶습니다.
버전2) 항생의 경우 숫자가 길어서 소숫점없이 끝의 3자리까지만 표시 부탁드립니다.
2가지로 구분해서 알려주시면 감사하겠습니다.
Input:length(12);
Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),Text1(0),처리구분("");
var:d1(0),t1(0);
Array:고점[10,2](0),저점[10,2](0); //가격,위치
처리구분 = "";
If Highest(H,length) == H and lastHiVal <> H and
Lowest(L,length) == L and lastLoVal <> L Then
{
If 저점[1,1] > L Then 처리구분 = "저점처리";
If 고점[1,1] < H Then 처리구분 = "고점처리";
}
Else If Highest(H,length) == H and lastHiVal <> H Then
처리구분 = "고점처리";
Else If Lowest(L,length) == L and lastLoVal <> L Then
처리구분 = "저점처리";
If 처리구분 == "고점처리" Then
{
lastHiVal = H;
If 고점[1,2] < 저점[1,2] Then
{
For j = 10 DownTo 2
{
고점[j,1] = 고점[j-1,1];
고점[j,2] = 고점[j-1,2];
}
}
If 고점[1,2] < 저점[1,2] or 고점[1,1] < H Then
{
고점[1,1] = H;
고점[1,2] = Index;
sBar = Index - 저점[1,2];
eBar = 0;
If d1 == sDate[sBar] and
t1 == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
}
#TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]);
d1 = sDate[sBar];
t1 = stime[sBar];
Text1 = Text_New(sDate[eBar],sTime[eBar],고점[1,1],NumToStr(고점[1,1],2));
Text_SetStyle(Text1, 2, 1);
}
}
If 처리구분 == "저점처리" Then
{
lastLoVal = L;
If 저점[1,2] < 고점[1,2] then
{
For j = 10 DownTo 2
{
저점[j,1] = 저점[j-1,1];
저점[j,2] = 저점[j-1,2];
}
}
If 저점[1,2] < 고점[1,2] or 저점[1,1] > L then
{
저점[1,1] = L;
저점[1,2] = Index;
sBar = Index - 고점[1,2];
eBar = 0;
If d1 == sDate[sBar] and
t1 == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
}
#TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]);
d1 = sDate[sBar];
t1 = stime[sBar];
Text1 = Text_New(sDate[eBar],sTime[eBar],저점[1,1],NumToStr(저점[1,1],2));
Text_SetStyle(Text1, 2, 0);
}
}
TL_SetSize(TL1,3);
TL_SetColor(TL1,CYAN);
답변 3
예스스탁 예스스탁 답변
2019-05-23 13:27:02
안녕하세요
예스스탁입니다.
텍스트의 표시시 소숫점자리수를 외변변수로 설정하게 작성해 드립니다.
종목에 맞게 지정해 주시면 됩니다.
Input:length(12),소숫점자리수(2);
Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),Text1(0),처리구분("");
var:d1(0),t1(0);
Array:고점[10,2](0),저점[10,2](0); //가격,위치
처리구분 = "";
If Highest(H,length) == H and lastHiVal <> H and
Lowest(L,length) == L and lastLoVal <> L Then
{
If 저점[1,1] > L Then 처리구분 = "저점처리";
If 고점[1,1] < H Then 처리구분 = "고점처리";
}
Else If Highest(H,length) == H and lastHiVal <> H Then
처리구분 = "고점처리";
Else If Lowest(L,length) == L and lastLoVal <> L Then
처리구분 = "저점처리";
If 처리구분 == "고점처리" Then
{
lastHiVal = H;
If 고점[1,2] < 저점[1,2] Then
{
For j = 10 DownTo 2
{
고점[j,1] = 고점[j-1,1];
고점[j,2] = 고점[j-1,2];
}
}
If 고점[1,2] < 저점[1,2] or 고점[1,1] < H Then
{
고점[1,1] = H;
고점[1,2] = Index;
sBar = Index - 저점[1,2];
eBar = 0;
If d1 == sDate[sBar] and
t1 == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
}
#TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]);
d1 = sDate[sBar];
t1 = stime[sBar];
Text1 = Text_New(sDate[eBar],sTime[eBar],고점[1,1],NumToStr(고점[1,1],소숫점자리수)+NewLine+"+"+NumToStr(abs(고점[1,1]-저점[1,1]),소숫점자리수));
Text_SetColor(Text1,RED);
Text_SetStyle(Text1, 2, 1);
}
}
If 처리구분 == "저점처리" Then
{
lastLoVal = L;
If 저점[1,2] < 고점[1,2] then
{
For j = 10 DownTo 2
{
저점[j,1] = 저점[j-1,1];
저점[j,2] = 저점[j-1,2];
}
}
If 저점[1,2] < 고점[1,2] or 저점[1,1] > L then
{
저점[1,1] = L;
저점[1,2] = Index;
sBar = Index - 고점[1,2];
eBar = 0;
If d1 == sDate[sBar] and
t1 == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
}
#TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]);
d1 = sDate[sBar];
t1 = stime[sBar];
Text1 = Text_New(sDate[eBar],sTime[eBar],저점[1,1],NumToStr(저점[1,1],소숫점자리수)+NewLine+"-"+NumToStr(abs(저점[1,1]-고점[1,1]),소숫점자리수));
Text_SetColor(Text1,blue);
Text_SetStyle(Text1, 2, 0);
}
}
TL_SetSize(TL1,3);
TL_SetColor(TL1,CYAN);
즐거운 하루되세요
> 트라반 님이 쓴 글입니다.
> 제목 : 문의드립니다
> 안녕하세요
아래 식은 파동의 고점과 저점을 표시해주는데요, 여기에 추가로 진폭을 같이 표시하려고 합니다.
즉, 고점 위에 +20 (빨강색), 저점 아래에 -34 (파랑색) 이렇게 전 고점/저점과의 차이를 숫자로 나타내고 싶습니다.
나타내는 방법은
버전1) 숫자 그대로 표시하고 싶습니다.
버전2) 항생의 경우 숫자가 길어서 소숫점없이 끝의 3자리까지만 표시 부탁드립니다.
2가지로 구분해서 알려주시면 감사하겠습니다.
Input:length(12);
Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),Text1(0),처리구분("");
var:d1(0),t1(0);
Array:고점[10,2](0),저점[10,2](0); //가격,위치
처리구분 = "";
If Highest(H,length) == H and lastHiVal <> H and
Lowest(L,length) == L and lastLoVal <> L Then
{
If 저점[1,1] > L Then 처리구분 = "저점처리";
If 고점[1,1] < H Then 처리구분 = "고점처리";
}
Else If Highest(H,length) == H and lastHiVal <> H Then
처리구분 = "고점처리";
Else If Lowest(L,length) == L and lastLoVal <> L Then
처리구분 = "저점처리";
If 처리구분 == "고점처리" Then
{
lastHiVal = H;
If 고점[1,2] < 저점[1,2] Then
{
For j = 10 DownTo 2
{
고점[j,1] = 고점[j-1,1];
고점[j,2] = 고점[j-1,2];
}
}
If 고점[1,2] < 저점[1,2] or 고점[1,1] < H Then
{
고점[1,1] = H;
고점[1,2] = Index;
sBar = Index - 저점[1,2];
eBar = 0;
If d1 == sDate[sBar] and
t1 == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
}
#TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]);
d1 = sDate[sBar];
t1 = stime[sBar];
Text1 = Text_New(sDate[eBar],sTime[eBar],고점[1,1],NumToStr(고점[1,1],2));
Text_SetStyle(Text1, 2, 1);
}
}
If 처리구분 == "저점처리" Then
{
lastLoVal = L;
If 저점[1,2] < 고점[1,2] then
{
For j = 10 DownTo 2
{
저점[j,1] = 저점[j-1,1];
저점[j,2] = 저점[j-1,2];
}
}
If 저점[1,2] < 고점[1,2] or 저점[1,1] > L then
{
저점[1,1] = L;
저점[1,2] = Index;
sBar = Index - 고점[1,2];
eBar = 0;
If d1 == sDate[sBar] and
t1 == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
}
#TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]);
d1 = sDate[sBar];
t1 = stime[sBar];
Text1 = Text_New(sDate[eBar],sTime[eBar],저점[1,1],NumToStr(저점[1,1],2));
Text_SetStyle(Text1, 2, 0);
}
}
TL_SetSize(TL1,3);
TL_SetColor(TL1,CYAN);
트라반
2019-05-23 19:59:43
감사합니다. 한가지만 더 부탁드립니다..
텍스트에서 주가는 검정색, 진폭숫자는 지금처럼 빨강, 파랑으로 해주세요.
즉, 27186 은 검정, +17 은 빨강.. 이렇게 부탁드립니다. 둘 다 빨강 파랑이니 눈이 아프네요 ㅠ
감사합니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 문의드립니다
> 안녕하세요
예스스탁입니다.
텍스트의 표시시 소숫점자리수를 외변변수로 설정하게 작성해 드립니다.
종목에 맞게 지정해 주시면 됩니다.
Input:length(12),소숫점자리수(2);
Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),Text1(0),처리구분("");
var:d1(0),t1(0);
Array:고점[10,2](0),저점[10,2](0); //가격,위치
처리구분 = "";
If Highest(H,length) == H and lastHiVal <> H and
Lowest(L,length) == L and lastLoVal <> L Then
{
If 저점[1,1] > L Then 처리구분 = "저점처리";
If 고점[1,1] < H Then 처리구분 = "고점처리";
}
Else If Highest(H,length) == H and lastHiVal <> H Then
처리구분 = "고점처리";
Else If Lowest(L,length) == L and lastLoVal <> L Then
처리구분 = "저점처리";
If 처리구분 == "고점처리" Then
{
lastHiVal = H;
If 고점[1,2] < 저점[1,2] Then
{
For j = 10 DownTo 2
{
고점[j,1] = 고점[j-1,1];
고점[j,2] = 고점[j-1,2];
}
}
If 고점[1,2] < 저점[1,2] or 고점[1,1] < H Then
{
고점[1,1] = H;
고점[1,2] = Index;
sBar = Index - 저점[1,2];
eBar = 0;
If d1 == sDate[sBar] and
t1 == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
}
#TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]);
d1 = sDate[sBar];
t1 = stime[sBar];
Text1 = Text_New(sDate[eBar],sTime[eBar],고점[1,1],NumToStr(고점[1,1],소숫점자리수)+NewLine+"+"+NumToStr(abs(고점[1,1]-저점[1,1]),소숫점자리수));
Text_SetColor(Text1,RED);
Text_SetStyle(Text1, 2, 1);
}
}
If 처리구분 == "저점처리" Then
{
lastLoVal = L;
If 저점[1,2] < 고점[1,2] then
{
For j = 10 DownTo 2
{
저점[j,1] = 저점[j-1,1];
저점[j,2] = 저점[j-1,2];
}
}
If 저점[1,2] < 고점[1,2] or 저점[1,1] > L then
{
저점[1,1] = L;
저점[1,2] = Index;
sBar = Index - 고점[1,2];
eBar = 0;
If d1 == sDate[sBar] and
t1 == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
}
#TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]);
d1 = sDate[sBar];
t1 = stime[sBar];
Text1 = Text_New(sDate[eBar],sTime[eBar],저점[1,1],NumToStr(저점[1,1],소숫점자리수)+NewLine+"-"+NumToStr(abs(저점[1,1]-고점[1,1]),소숫점자리수));
Text_SetColor(Text1,blue);
Text_SetStyle(Text1, 2, 0);
}
}
TL_SetSize(TL1,3);
TL_SetColor(TL1,CYAN);
즐거운 하루되세요
> 트라반 님이 쓴 글입니다.
> 제목 : 문의드립니다
> 안녕하세요
아래 식은 파동의 고점과 저점을 표시해주는데요, 여기에 추가로 진폭을 같이 표시하려고 합니다.
즉, 고점 위에 +20 (빨강색), 저점 아래에 -34 (파랑색) 이렇게 전 고점/저점과의 차이를 숫자로 나타내고 싶습니다.
나타내는 방법은
버전1) 숫자 그대로 표시하고 싶습니다.
버전2) 항생의 경우 숫자가 길어서 소숫점없이 끝의 3자리까지만 표시 부탁드립니다.
2가지로 구분해서 알려주시면 감사하겠습니다.
Input:length(12);
Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),Text1(0),처리구분("");
var:d1(0),t1(0);
Array:고점[10,2](0),저점[10,2](0); //가격,위치
처리구분 = "";
If Highest(H,length) == H and lastHiVal <> H and
Lowest(L,length) == L and lastLoVal <> L Then
{
If 저점[1,1] > L Then 처리구분 = "저점처리";
If 고점[1,1] < H Then 처리구분 = "고점처리";
}
Else If Highest(H,length) == H and lastHiVal <> H Then
처리구분 = "고점처리";
Else If Lowest(L,length) == L and lastLoVal <> L Then
처리구분 = "저점처리";
If 처리구분 == "고점처리" Then
{
lastHiVal = H;
If 고점[1,2] < 저점[1,2] Then
{
For j = 10 DownTo 2
{
고점[j,1] = 고점[j-1,1];
고점[j,2] = 고점[j-1,2];
}
}
If 고점[1,2] < 저점[1,2] or 고점[1,1] < H Then
{
고점[1,1] = H;
고점[1,2] = Index;
sBar = Index - 저점[1,2];
eBar = 0;
If d1 == sDate[sBar] and
t1 == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
}
#TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]);
d1 = sDate[sBar];
t1 = stime[sBar];
Text1 = Text_New(sDate[eBar],sTime[eBar],고점[1,1],NumToStr(고점[1,1],2));
Text_SetStyle(Text1, 2, 1);
}
}
If 처리구분 == "저점처리" Then
{
lastLoVal = L;
If 저점[1,2] < 고점[1,2] then
{
For j = 10 DownTo 2
{
저점[j,1] = 저점[j-1,1];
저점[j,2] = 저점[j-1,2];
}
}
If 저점[1,2] < 고점[1,2] or 저점[1,1] > L then
{
저점[1,1] = L;
저점[1,2] = Index;
sBar = Index - 고점[1,2];
eBar = 0;
If d1 == sDate[sBar] and
t1 == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
}
#TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]);
d1 = sDate[sBar];
t1 = stime[sBar];
Text1 = Text_New(sDate[eBar],sTime[eBar],저점[1,1],NumToStr(저점[1,1],2));
Text_SetStyle(Text1, 2, 0);
}
}
TL_SetSize(TL1,3);
TL_SetColor(TL1,CYAN);
예스스탁 예스스탁 답변
2019-05-24 11:41:45
안녕하세요
예스스탁입니다.
Input:length(12),소숫점자리수(2);
Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),Text1(0),처리구분("");
var:d1(0),t1(0),text2(0);
Array:고점[10,2](0),저점[10,2](0); //가격,위치
처리구분 = "";
If Highest(H,length) == H and lastHiVal <> H and
Lowest(L,length) == L and lastLoVal <> L Then
{
If 저점[1,1] > L Then 처리구분 = "저점처리";
If 고점[1,1] < H Then 처리구분 = "고점처리";
}
Else If Highest(H,length) == H and lastHiVal <> H Then
처리구분 = "고점처리";
Else If Lowest(L,length) == L and lastLoVal <> L Then
처리구분 = "저점처리";
If 처리구분 == "고점처리" Then
{
lastHiVal = H;
If 고점[1,2] < 저점[1,2] Then
{
For j = 10 DownTo 2
{
고점[j,1] = 고점[j-1,1];
고점[j,2] = 고점[j-1,2];
}
}
If 고점[1,2] < 저점[1,2] or 고점[1,1] < H Then
{
고점[1,1] = H;
고점[1,2] = Index;
sBar = Index - 저점[1,2];
eBar = 0;
If d1 == sDate[sBar] and
t1 == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
Text_Delete(Text2);
}
#TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]);
d1 = sDate[sBar];
t1 = stime[sBar];
Text1 = Text_New(sDate[eBar],sTime[eBar],고점[1,1],NumToStr(고점[1,1],소숫점자리수)+NewLine);
Text2 = Text_New(sDate[eBar],sTime[eBar],고점[1,1],"+"+NumToStr(abs(고점[1,1]-저점[1,1]),소숫점자리수));
Text_SetColor(Text1,BLACK);
Text_SetColor(Text2,RED);
Text_SetStyle(Text1, 2, 1);
Text_SetStyle(Text2, 2, 1);
}
}
If 처리구분 == "저점처리" Then
{
lastLoVal = L;
If 저점[1,2] < 고점[1,2] then
{
For j = 10 DownTo 2
{
저점[j,1] = 저점[j-1,1];
저점[j,2] = 저점[j-1,2];
}
}
If 저점[1,2] < 고점[1,2] or 저점[1,1] > L then
{
저점[1,1] = L;
저점[1,2] = Index;
sBar = Index - 고점[1,2];
eBar = 0;
If d1 == sDate[sBar] and
t1 == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
Text_Delete(Text2);
}
#TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]);
d1 = sDate[sBar];
t1 = stime[sBar];
Text1 = Text_New(sDate[eBar],sTime[eBar],저점[1,1],NumToStr(저점[1,1],소숫점자리수));
Text2 = Text_New(sDate[eBar],sTime[eBar],저점[1,1],NewLine+"-"+NumToStr(abs(저점[1,1]-고점[1,1]),소숫점자리수));
Text_SetColor(Text1,BLACK);
Text_SetColor(Text2,blue);
Text_SetStyle(Text1, 2, 0);
Text_SetStyle(Text2, 2, 0);
}
}
TL_SetSize(TL1,3);
TL_SetColor(TL1,CYAN);
즐거운 하루되세요
> 트라반 님이 쓴 글입니다.
> 제목 : Re : Re : 문의드립니다
> 감사합니다. 한가지만 더 부탁드립니다..
텍스트에서 주가는 검정색, 진폭숫자는 지금처럼 빨강, 파랑으로 해주세요.
즉, 27186 은 검정, +17 은 빨강.. 이렇게 부탁드립니다. 둘 다 빨강 파랑이니 눈이 아프네요 ㅠ
감사합니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 문의드립니다
> 안녕하세요
예스스탁입니다.
텍스트의 표시시 소숫점자리수를 외변변수로 설정하게 작성해 드립니다.
종목에 맞게 지정해 주시면 됩니다.
Input:length(12),소숫점자리수(2);
Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),Text1(0),처리구분("");
var:d1(0),t1(0);
Array:고점[10,2](0),저점[10,2](0); //가격,위치
처리구분 = "";
If Highest(H,length) == H and lastHiVal <> H and
Lowest(L,length) == L and lastLoVal <> L Then
{
If 저점[1,1] > L Then 처리구분 = "저점처리";
If 고점[1,1] < H Then 처리구분 = "고점처리";
}
Else If Highest(H,length) == H and lastHiVal <> H Then
처리구분 = "고점처리";
Else If Lowest(L,length) == L and lastLoVal <> L Then
처리구분 = "저점처리";
If 처리구분 == "고점처리" Then
{
lastHiVal = H;
If 고점[1,2] < 저점[1,2] Then
{
For j = 10 DownTo 2
{
고점[j,1] = 고점[j-1,1];
고점[j,2] = 고점[j-1,2];
}
}
If 고점[1,2] < 저점[1,2] or 고점[1,1] < H Then
{
고점[1,1] = H;
고점[1,2] = Index;
sBar = Index - 저점[1,2];
eBar = 0;
If d1 == sDate[sBar] and
t1 == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
}
#TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]);
d1 = sDate[sBar];
t1 = stime[sBar];
Text1 = Text_New(sDate[eBar],sTime[eBar],고점[1,1],NumToStr(고점[1,1],소숫점자리수)+NewLine+"+"+NumToStr(abs(고점[1,1]-저점[1,1]),소숫점자리수));
Text_SetColor(Text1,RED);
Text_SetStyle(Text1, 2, 1);
}
}
If 처리구분 == "저점처리" Then
{
lastLoVal = L;
If 저점[1,2] < 고점[1,2] then
{
For j = 10 DownTo 2
{
저점[j,1] = 저점[j-1,1];
저점[j,2] = 저점[j-1,2];
}
}
If 저점[1,2] < 고점[1,2] or 저점[1,1] > L then
{
저점[1,1] = L;
저점[1,2] = Index;
sBar = Index - 고점[1,2];
eBar = 0;
If d1 == sDate[sBar] and
t1 == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
}
#TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]);
d1 = sDate[sBar];
t1 = stime[sBar];
Text1 = Text_New(sDate[eBar],sTime[eBar],저점[1,1],NumToStr(저점[1,1],소숫점자리수)+NewLine+"-"+NumToStr(abs(저점[1,1]-고점[1,1]),소숫점자리수));
Text_SetColor(Text1,blue);
Text_SetStyle(Text1, 2, 0);
}
}
TL_SetSize(TL1,3);
TL_SetColor(TL1,CYAN);
즐거운 하루되세요
> 트라반 님이 쓴 글입니다.
> 제목 : 문의드립니다
> 안녕하세요
아래 식은 파동의 고점과 저점을 표시해주는데요, 여기에 추가로 진폭을 같이 표시하려고 합니다.
즉, 고점 위에 +20 (빨강색), 저점 아래에 -34 (파랑색) 이렇게 전 고점/저점과의 차이를 숫자로 나타내고 싶습니다.
나타내는 방법은
버전1) 숫자 그대로 표시하고 싶습니다.
버전2) 항생의 경우 숫자가 길어서 소숫점없이 끝의 3자리까지만 표시 부탁드립니다.
2가지로 구분해서 알려주시면 감사하겠습니다.
Input:length(12);
Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),Text1(0),처리구분("");
var:d1(0),t1(0);
Array:고점[10,2](0),저점[10,2](0); //가격,위치
처리구분 = "";
If Highest(H,length) == H and lastHiVal <> H and
Lowest(L,length) == L and lastLoVal <> L Then
{
If 저점[1,1] > L Then 처리구분 = "저점처리";
If 고점[1,1] < H Then 처리구분 = "고점처리";
}
Else If Highest(H,length) == H and lastHiVal <> H Then
처리구분 = "고점처리";
Else If Lowest(L,length) == L and lastLoVal <> L Then
처리구분 = "저점처리";
If 처리구분 == "고점처리" Then
{
lastHiVal = H;
If 고점[1,2] < 저점[1,2] Then
{
For j = 10 DownTo 2
{
고점[j,1] = 고점[j-1,1];
고점[j,2] = 고점[j-1,2];
}
}
If 고점[1,2] < 저점[1,2] or 고점[1,1] < H Then
{
고점[1,1] = H;
고점[1,2] = Index;
sBar = Index - 저점[1,2];
eBar = 0;
If d1 == sDate[sBar] and
t1 == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
}
#TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]);
d1 = sDate[sBar];
t1 = stime[sBar];
Text1 = Text_New(sDate[eBar],sTime[eBar],고점[1,1],NumToStr(고점[1,1],2));
Text_SetStyle(Text1, 2, 1);
}
}
If 처리구분 == "저점처리" Then
{
lastLoVal = L;
If 저점[1,2] < 고점[1,2] then
{
For j = 10 DownTo 2
{
저점[j,1] = 저점[j-1,1];
저점[j,2] = 저점[j-1,2];
}
}
If 저점[1,2] < 고점[1,2] or 저점[1,1] > L then
{
저점[1,1] = L;
저점[1,2] = Index;
sBar = Index - 고점[1,2];
eBar = 0;
If d1 == sDate[sBar] and
t1 == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
}
#TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]);
d1 = sDate[sBar];
t1 = stime[sBar];
Text1 = Text_New(sDate[eBar],sTime[eBar],저점[1,1],NumToStr(저점[1,1],2));
Text_SetStyle(Text1, 2, 0);
}
}
TL_SetSize(TL1,3);
TL_SetColor(TL1,CYAN);
다음글
이전글