커뮤니티

문의 드립니다.

프로필 이미지
동해바다01
2017-03-27 12:45:31
152
글번호 108215
답변완료
안녕하세요 질문 52577 에서 전고점과 전저점의 추세선을 보충하고 싶습니다. 그러니까 1, 현고점에서 전고점 2, 현고점과 전전고점 3, 현고점과 전전전 고점 여기에 4, 전고점과 전전고점 5. 전고점과 전전전 고점 6. 전고점과 전전전전 고점 모두 우측 연장하고요 저점 추세선도 마찬가지로 1,현저점과 전저점 2.현저점과 전전저점 3,현저점과 전전전저점 여기에 4, 전저점과 전전저점 5. 전저점과 전전전저점 6. 전저점과 전전전전 저점 우측 연장 고점과 저점이 새로 생기니 앞쪽 저점과 고점의 추세선들이 모두 없어지니 앞쪽 첫번째 전고점과 전저점의 추세선은 그대로 두고 싶습니다. 미리 감사드립니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2017-03-28 15:37:05

안녕하세요 예스스탁입니다. Input:length(5); 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{ 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-저점[1,2]],sTime[index-저점[1,2]],저점[1,1]); LTL3 = TL_New(sDate[index-저점[4,2]],sTime[index-저점[4,2]],저점[4,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_Delete(LTL12); TL_Delete(LTL22); TL_Delete(LTL32); TL_SetExtRight(LTL1,true); TL_SetExtRight(LTL2,true); TL_SetExtRight(LTL3,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{ 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-고점[1,2]],sTime[index-고점[1,2]],고점[1,1]); HTL3 = TL_New(sDate[index-고점[4,2]],sTime[index-고점[4,2]],고점[4,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_Delete(HTL12); TL_Delete(HTL22); TL_Delete(HTL32); TL_SetExtRight(HTL1,true); TL_SetExtRight(HTL2,true); TL_SetExtRight(HTL3,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,BLACK); 즐거운 하루되세요 > 동해바다01 님이 쓴 글입니다. > 제목 : 문의 드립니다. > 안녕하세요 질문 52577 에서 전고점과 전저점의 추세선을 보충하고 싶습니다. 그러니까 1, 현고점에서 전고점 2, 현고점과 전전고점 3, 현고점과 전전전 고점 여기에 4, 전고점과 전전고점 5. 전고점과 전전전 고점 6. 전고점과 전전전전 고점 모두 우측 연장하고요 저점 추세선도 마찬가지로 1,현저점과 전저점 2.현저점과 전전저점 3,현저점과 전전전저점 여기에 4, 전저점과 전전저점 5. 전저점과 전전전저점 6. 전저점과 전전전전 저점 우측 연장 고점과 저점이 새로 생기니 앞쪽 저점과 고점의 추세선들이 모두 없어지니 앞쪽 첫번째 전고점과 전저점의 추세선은 그대로 두고 싶습니다. 미리 감사드립니다.