커뮤니티
문의드립니다
2019-01-09 03:00:33
193
글번호 125084
input:length(4),종가사용여부(0),파동선두께(5),수치표시(1);
Var:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""),
TL1(0),Text1(0),tl2(0),tl3(0),tl4(0),tl5(0),T(0);
Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime
#==========================================#
HH = IFF(종가사용여부==1,C,H);
LL = IFF(종가사용여부==1,C,L);
If Index == 0 Then
{
고[1,1] = HH;
저[1,1] = LL;
}
Condition1 = Highest(HH,length) == HH and 최종고가 <> HH;
Condition2 = Lowest (LL,length) == LL and 최종저가 <> LL;
처리구분 = "";
If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생
{
If 최종꼭지점 == "저점" Then
{
If 저[1,1] > LL Then 처리구분 = "저점처리";
Else 처리구분 = "고점처리";
}
Else If 최종꼭지점 == "고점" Then
{
If 고[1,1] < HH Then 처리구분 = "고점처리";
Else 처리구분 = "저점처리";
}
}
Else If Condition1 Then 처리구분 = "고점처리";
Else If Condition2 Then 처리구분 = "저점처리";
#==========================================#
If 처리구분 == "고점처리" Then
{
T = 1;
최종고가 = HH; // 신규고점을 체크하기 위해 저장
If 최종꼭지점 == "저점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
고[j,jj] = 고[j-1,jj];
}
}
고[1,1] = HH;
고[1,2] = Index;
고[1,3] = sDate;
고[1,4] = sTime;
//TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]);
If 수치표시 == 1 Then
{
}
TL_SetSize(TL1,파동선두께);
TL_SetColor(TL1,red);
}
Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현
{
고[1,1] = HH;
고[1,2] = Index;
고[1,3] = sDate;
고[1,4] = sTime;
TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]);
// 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임
If 수치표시 == 1 Then
{
}
}
최종꼭지점 = "고점";
}
#==========================================#
If 처리구분 == "저점처리" Then
{
T = -1;
최종저가 = LL;
If 최종꼭지점 == "고점" then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
저[j,jj] = 저[j-1,jj];
}
}
저[1,1] = LL;
저[1,2] = Index;
저[1,3] = sDate;
저[1,4] = sTime;
//TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]);
If 수치표시 == 1 Then
{
}
TL_SetSize(TL1,파동선두께);
TL_SetColor(TL1,blue);
}
Else If 저[1,1] > LL then
{
저[1,1] = LL;
저[1,2] = Index;
저[1,3] = sDate;
저[1,4] = sTime;
TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]);
If 수치표시 == 1 Then
{
}
}
최종꼭지점 = "저점";
}
if T == -1 and T[1] != -1 Then{
TL2 = TL_New(고[2,3],고[2,4],고[2,1],sdate,stime,고[2,1]);
TL_Delete(TL3);
TL3 = TL_New(고[1,3],고[1,4],고[1,1],sdate,stime,고[1,1]);
TL_SetExtRight(TL3,true);
TL_SetSize(TL2,1);
TL_SetColor(TL2,GRAY);
TL_SetSize(TL3,3);
TL_SetColor(TL3,BLUE);
}
if T == 1 and T[1] != 1 Then{
TL2= TL_New(저[2,3],저[2,4],저[2,1],sdate,stime,저[2,1]);
TL_Delete(TL3);
TL3= TL_New(저[1,3],저[1,4],저[1,1],sdate,stime,저[1,1]);
TL_SetExtRight(TL3,true);
TL_SetSize(TL2,1);
TL_SetColor(TL2,GRAY);
TL_SetSize(TL3,3);
TL_SetColor(TL3,MAGENTA);
}
위수식에서 보라색을사용할려고 하는데표현이안되네요,그래서 수평선색갈을 내가지정하고십습니다 plot1,plot2,방식으로 변경부탁합니다~~감사합니다
답변 1
예스스탁 예스스탁 답변
2019-01-10 11:42:18
안녕하세요
예스스탁입니다.
해당 지표는 추세선으로 그리는 지표입니다.
수식 내용상 현재 시점에서 과거의 2개의 점을 그리게 되므로
일반 plot명령어로는 구현이 되지 않는 내용입니다.
추세선은 속성창등에서 색지정이 되지 않습니다.
랭귀지 안에서 처리하셔야 합니다.
랭귀지에 사용된 함수 중 TL_SetColor가 각 추세선의 색상을 지정하는 명령어 입니다.
해당 함수안에 색상을 지정해 주셔야 합니다.
도움을 드리지 못해 죄송합니다.
즐거운 하루되세요
> 소망 님이 쓴 글입니다.
> 제목 : 문의드립니다
> input:length(4),종가사용여부(0),파동선두께(5),수치표시(1);
Var:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""),
TL1(0),Text1(0),tl2(0),tl3(0),tl4(0),tl5(0),T(0);
Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime
#==========================================#
HH = IFF(종가사용여부==1,C,H);
LL = IFF(종가사용여부==1,C,L);
If Index == 0 Then
{
고[1,1] = HH;
저[1,1] = LL;
}
Condition1 = Highest(HH,length) == HH and 최종고가 <> HH;
Condition2 = Lowest (LL,length) == LL and 최종저가 <> LL;
처리구분 = "";
If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생
{
If 최종꼭지점 == "저점" Then
{
If 저[1,1] > LL Then 처리구분 = "저점처리";
Else 처리구분 = "고점처리";
}
Else If 최종꼭지점 == "고점" Then
{
If 고[1,1] < HH Then 처리구분 = "고점처리";
Else 처리구분 = "저점처리";
}
}
Else If Condition1 Then 처리구분 = "고점처리";
Else If Condition2 Then 처리구분 = "저점처리";
#==========================================#
If 처리구분 == "고점처리" Then
{
T = 1;
최종고가 = HH; // 신규고점을 체크하기 위해 저장
If 최종꼭지점 == "저점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
고[j,jj] = 고[j-1,jj];
}
}
고[1,1] = HH;
고[1,2] = Index;
고[1,3] = sDate;
고[1,4] = sTime;
//TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]);
If 수치표시 == 1 Then
{
}
TL_SetSize(TL1,파동선두께);
TL_SetColor(TL1,red);
}
Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현
{
고[1,1] = HH;
고[1,2] = Index;
고[1,3] = sDate;
고[1,4] = sTime;
TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]);
// 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임
If 수치표시 == 1 Then
{
}
}
최종꼭지점 = "고점";
}
#==========================================#
If 처리구분 == "저점처리" Then
{
T = -1;
최종저가 = LL;
If 최종꼭지점 == "고점" then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
저[j,jj] = 저[j-1,jj];
}
}
저[1,1] = LL;
저[1,2] = Index;
저[1,3] = sDate;
저[1,4] = sTime;
//TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]);
If 수치표시 == 1 Then
{
}
TL_SetSize(TL1,파동선두께);
TL_SetColor(TL1,blue);
}
Else If 저[1,1] > LL then
{
저[1,1] = LL;
저[1,2] = Index;
저[1,3] = sDate;
저[1,4] = sTime;
TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]);
If 수치표시 == 1 Then
{
}
}
최종꼭지점 = "저점";
}
if T == -1 and T[1] != -1 Then{
TL2 = TL_New(고[2,3],고[2,4],고[2,1],sdate,stime,고[2,1]);
TL_Delete(TL3);
TL3 = TL_New(고[1,3],고[1,4],고[1,1],sdate,stime,고[1,1]);
TL_SetExtRight(TL3,true);
TL_SetSize(TL2,1);
TL_SetColor(TL2,GRAY);
TL_SetSize(TL3,3);
TL_SetColor(TL3,BLUE);
}
if T == 1 and T[1] != 1 Then{
TL2= TL_New(저[2,3],저[2,4],저[2,1],sdate,stime,저[2,1]);
TL_Delete(TL3);
TL3= TL_New(저[1,3],저[1,4],저[1,1],sdate,stime,저[1,1]);
TL_SetExtRight(TL3,true);
TL_SetSize(TL2,1);
TL_SetColor(TL2,GRAY);
TL_SetSize(TL3,3);
TL_SetColor(TL3,MAGENTA);
}
위수식에서 보라색을사용할려고 하는데표현이안되네요,그래서 수평선색갈을 내가지정하고십습니다 plot1,plot2,방식으로 변경부탁합니다~~감사합니다
다음글
이전글