커뮤니티
문의드립니다.
2019-01-29 15:55:13
238
글번호 125687
안녕하세요
첨부한 그림과 같이 현재는 현재저점(1번)과 전저점(2번)의 추세선만 오른쪽으로
연장이 되는데, 여기에
1. 전저점(2번)과 전전저점(3번) 추세선,
2. 현저점(1번)과 전전저점(3번)의 추세선
3. 현저점(1번)과 전전전저점(4번)과의 추세선
4. 2번고점과 3번고점
5. 1번 고점과 3번고점
6. 1번 고점과 4번 고점
이렇게 추세선을 오른쪽 연장해서 넣고 싶습니다.
그리고 지나가면서 새로운 고점 저점이 생기면 맨
앞쪽 추세선은 지워지도록 부탁드립니다.
Input:length(6);
Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),TL2(0),TL3(0),Text1(0),처리구분(""),
TL_Val1(0),TL_Val2(0);
var : T(0),LTL1(0),LTL2(0),LTL3(0);
var : LTL11(0),LTL21(0),LTL31(0);
var : LTL12(0),LTL22(0),LTL32(0);
var : HTL1(0),HTL2(0),HTL3(0);
var : HTL11(0),HTL21(0),HTL31(0);
var : HTL12(0),HTL22(0),HTL32(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
{
T = 1;
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 TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then
{
TL_Delete(TL1);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]);
if T[1] != 1 Then{
TL_SetExtRight(LTL1,False);
LTL1 = TL_New(sDate[index-저점[2,2]],sTime[index-저점[2,2]],저점[2,1],sDate[index-저점[1,2]],sTime[index-저점[1,2]],저점[1,1]);
Ltl11 = Ltl1[1];
Ltl21 = Ltl2[1];
Ltl31 = Ltl3[1];
Ltl12 = Ltl11[1];
Ltl22 = Ltl21[1];
Ltl32 = Ltl31[1];
TL_SetExtRight(LTL1,true);
}
If 고점[3,1] < 고점[2,1] and 고점[2,1] > 고점[1,1] and 저점[2,1] < 저점[1,1] Then
{
sBar = Index - 저점[2,2];
eBar = Index - 저점[1,2];
}
}
}
If 처리구분 == "저점처리" Then
{
T = -1;
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 TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then
{
TL_Delete(TL1);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]);
if T[1] != -1 then{
TL_SetExtRight(HTL1,false);
HTL1 = TL_New(sDate[index-고점[2,2]],sTime[index-고점[2,2]],고점[2,1],sDate[index-고점[1,2]],sTime[index-고점[1,2]],고점[1,1]);
htl11 = htl1[1];
htl21 = htl2[1];
htl31 = htl3[1];
htl12 = htl11[1];
htl22 = htl21[1];
htl32 = htl31[1];
TL_SetExtRight(HTL1,true);
}
If 저점[2,1] < 저점[1,1] and 저점[2,1] < 저점[3,1] and 고점[2,1] > 고점[1,1] Then
{
sBar = Index - 고점[2,2];
eBar = Index - 고점[1,2];
}
}
}
TL_SetSize(TL1,1);
TL_SetColor(TL1,white);
답변 1
예스스탁 예스스탁 답변
2019-01-29 14:50:01
안녕하세요
예스스탁입니다.
Input:length(6);
Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),TL2(0),TL3(0),Text1(0),처리구분(""),
TL_Val1(0),TL_Val2(0);
var : T(0),LTL1(0),LTL2(0),LTL3(0),LTL4(0);
var : HTL1(0),HTL2(0),HTL3(0),HTL4(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
{
T = 1;
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 TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then
{
TL_Delete(TL1);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]);
if T[1] != 1 Then
{
TL_SetExtRight(LTL1,false);
TL_Delete(LTL2);
TL_Delete(LTL3);
TL_Delete(LTL4);
LTL1 = TL_New(sDate[index-저점[2,2]],sTime[index-저점[2,2]],저점[2,1],sDate[index-저점[1,2]],sTime[index-저점[1,2]],저점[1,1]);
LTL2 = TL_New(sDate[index-저점[3,2]],sTime[index-저점[3,2]],저점[3,1],sDate[index-저점[2,2]],sTime[index-저점[2,2]],저점[2,1]);
LTL3 = TL_New(sDate[index-저점[3,2]],sTime[index-저점[3,2]],저점[3,1],sDate[index-저점[1,2]],sTime[index-저점[1,2]],저점[1,1]);
LTL4 = TL_New(sDate[index-저점[4,2]],sTime[index-저점[4,2]],저점[4,1],sDate[index-저점[1,2]],sTime[index-저점[1,2]],저점[1,1]);
TL_SetExtRight(LTL1,true);
TL_SetExtRight(LTL2,true);
TL_SetExtRight(LTL3,true);
TL_SetExtRight(LTL4,true);
}
If 고점[3,1] < 고점[2,1] and 고점[2,1] > 고점[1,1] and 저점[2,1] < 저점[1,1] Then
{
sBar = Index - 저점[2,2];
eBar = Index - 저점[1,2];
}
}
}
If 처리구분 == "저점처리" Then
{
T = -1;
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 TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then
{
TL_Delete(TL1);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]);
if T[1] != -1 then
{
TL_SetExtRight(HTL1,false);
TL_Delete(HTL2);
TL_Delete(HTL3);
TL_Delete(HTL4);
HTL1 = TL_New(sDate[index-고점[2,2]],sTime[index-고점[2,2]],고점[2,1],sDate[index-고점[1,2]],sTime[index-고점[1,2]],고점[1,1]);
HTL2 = TL_New(sDate[index-고점[3,2]],sTime[index-고점[3,2]],고점[3,1],sDate[index-고점[2,2]],sTime[index-고점[2,2]],고점[2,1]);
HTL3 = TL_New(sDate[index-고점[3,2]],sTime[index-고점[3,2]],고점[3,1],sDate[index-고점[1,2]],sTime[index-고점[1,2]],고점[1,1]);
HTL4 = TL_New(sDate[index-고점[4,2]],sTime[index-고점[4,2]],고점[4,1],sDate[index-고점[1,2]],sTime[index-고점[1,2]],고점[1,1]);
TL_SetExtRight(HTL1,true);
TL_SetExtRight(HTL2,true);
TL_SetExtRight(HTL3,true);
TL_SetExtRight(HTL4,true);
}
If 저점[2,1] < 저점[1,1] and 저점[2,1] < 저점[3,1] and 고점[2,1] > 고점[1,1] Then
{
sBar = Index - 고점[2,2];
eBar = Index - 고점[1,2];
}
}
}
TL_SetSize(TL1,1);
TL_SetColor(TL1,white);
즐거운 하루되세요
> 동해바다01 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 안녕하세요
첨부한 그림과 같이 현재는 현재저점(1번)과 전저점(2번)의 추세선만 오른쪽으로
연장이 되는데, 여기에
1. 전저점(2번)과 전전저점(3번) 추세선,
2. 현저점(1번)과 전전저점(3번)의 추세선
3. 현저점(1번)과 전전전저점(4번)과의 추세선
4. 2번고점과 3번고점
5. 1번 고점과 3번고점
6. 1번 고점과 4번 고점
이렇게 추세선을 오른쪽 연장해서 넣고 싶습니다.
그리고 지나가면서 새로운 고점 저점이 생기면 맨
앞쪽 추세선은 지워지도록 부탁드립니다.
Input:length(6);
Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),TL2(0),TL3(0),Text1(0),처리구분(""),
TL_Val1(0),TL_Val2(0);
var : T(0),LTL1(0),LTL2(0),LTL3(0);
var : LTL11(0),LTL21(0),LTL31(0);
var : LTL12(0),LTL22(0),LTL32(0);
var : HTL1(0),HTL2(0),HTL3(0);
var : HTL11(0),HTL21(0),HTL31(0);
var : HTL12(0),HTL22(0),HTL32(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
{
T = 1;
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 TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then
{
TL_Delete(TL1);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]);
if T[1] != 1 Then{
TL_SetExtRight(LTL1,False);
LTL1 = TL_New(sDate[index-저점[2,2]],sTime[index-저점[2,2]],저점[2,1],sDate[index-저점[1,2]],sTime[index-저점[1,2]],저점[1,1]);
Ltl11 = Ltl1[1];
Ltl21 = Ltl2[1];
Ltl31 = Ltl3[1];
Ltl12 = Ltl11[1];
Ltl22 = Ltl21[1];
Ltl32 = Ltl31[1];
TL_SetExtRight(LTL1,true);
}
If 고점[3,1] < 고점[2,1] and 고점[2,1] > 고점[1,1] and 저점[2,1] < 저점[1,1] Then
{
sBar = Index - 저점[2,2];
eBar = Index - 저점[1,2];
}
}
}
If 처리구분 == "저점처리" Then
{
T = -1;
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 TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then
{
TL_Delete(TL1);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]);
if T[1] != -1 then{
TL_SetExtRight(HTL1,false);
HTL1 = TL_New(sDate[index-고점[2,2]],sTime[index-고점[2,2]],고점[2,1],sDate[index-고점[1,2]],sTime[index-고점[1,2]],고점[1,1]);
htl11 = htl1[1];
htl21 = htl2[1];
htl31 = htl3[1];
htl12 = htl11[1];
htl22 = htl21[1];
htl32 = htl31[1];
TL_SetExtRight(HTL1,true);
}
If 저점[2,1] < 저점[1,1] and 저점[2,1] < 저점[3,1] and 고점[2,1] > 고점[1,1] Then
{
sBar = Index - 고점[2,2];
eBar = Index - 고점[1,2];
}
}
}
TL_SetSize(TL1,1);
TL_SetColor(TL1,white);
다음글
이전글