커뮤니티

0.5p 전환 추세선

프로필 이미지
고성
2023-03-21 12:59:17
1975
글번호 167375
답변완료
저점으로부터 0.5p 상승하면 빨간 상승추세선을 표시하고 상단에 상승추세선 크기 표기. 추세선 크기를 키우며 계속 상승하다 추세선 고점으로부터 0.5p 하락하면 파란색 하락추세선 표시하고 하단에 하락추세선 크기 표기. 0.5p 변곡점마다 추세 전환. 감사합니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-03-21 14:59:01

안녕하세요 예스스탁입니다. Input : 전환(0.5),굵기(3); Var:j(0),jj(0),HH(0),LL(0),hiBar(0),loBar(0),최종꼭지점(""),처리구분(""), TL1(0),TX1(0); Array:고[10,4](0),저[10,4](0); HH = H; LL = L; If Index == 0 Then { 고[1,1] = HH; 고[1,2] = 0; 고[1,3] = sDate; 고[1,4] = sTime; 저[1,1] = LL; 저[1,2] = 0; 저[1,3] = sDate; 저[1,4] = sTime; } If Index > 0 Then { hiBar = hiBar + 1; loBar = loBar + 1; } If HH[hiBar] < HH Then hiBar = 0; If LL[loBar] > LL Then loBar = 0; Condition1 = 저[1,1]+전환 < HH and hiBar == 0; Condition2 = 고[1,1]-전환 > LL and loBar == 0; 처리구분 = ""; 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 { If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = HH[hiBar]; 고[1,2] = Index - hiBar; 고[1,3] = sDate[hiBar]; 고[1,4] = sTime[hiBar]; hiBar = -1; loBar = -1; TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); TL_SetSize(TL1,1); TL_SetColor(TL1,RED); TX1 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1]-저[1,1],2)); Text_SetStyle(TX1,2,1); } Else If 고[1,1] < HH[hiBar] Then // 1번 고점보다 높은 고가 출현 { 고[1,1] = HH[hiBar]; 고[1,2] = Index - hiBar; 고[1,3] = sDate[hiBar]; 고[1,4] = sTime[hiBar]; hiBar = -1; loBar = -1; TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]); Text_SetString(TX1,NumToStr(고[1,1]-저[1,1],2)); Text_SetLocation(TX1,고[1,3],고[1,4],고[1,1]); } 최종꼭지점 = "고점"; } If 처리구분 == "저점처리" Then { If 최종꼭지점 == "고점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = LL[loBar]; 저[1,2] = Index - loBar; 저[1,3] = sDate[loBar]; 저[1,4] = sTime[loBar]; hiBar = -1; loBar = -1; TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); TL_SetSize(TL1,1); TL_SetColor(TL1,BLUE); TX1 = Text_New(저[1,3],저[1,4],저[1,1],NumToStr(저[1,1]-고[1,1],2)); Text_SetStyle(TX1,2,0); } Else If 저[1,1] > LL[loBar] Then { 저[1,1] = LL[loBar]; 저[1,2] = Index - loBar; 저[1,3] = sDate[loBar]; 저[1,4] = sTime[loBar]; hiBar = -1; loBar = -1; TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]); Text_SetString(TX1,NumToStr(저[1,1]-고[1,1],2)); Text_SetLocation(TX1,저[1,3],저[1,4],저[1,1]); } 최종꼭지점 = "저점"; } 즐거운 하루되세요 > 고성 님이 쓴 글입니다. > 제목 : 0.5p 전환 추세선 > 저점으로부터 0.5p 상승하면 빨간 상승추세선을 표시하고 상단에 상승추세선 크기 표기. 추세선 크기를 키우며 계속 상승하다 추세선 고점으로부터 0.5p 하락하면 파란색 하락추세선 표시하고 하단에 하락추세선 크기 표기. 0.5p 변곡점마다 추세 전환. 감사합니다.