커뮤니티

zigzag 관련문의

프로필 이미지
시율vn
2022-09-01 11:31:27
1346
글번호 161913
답변완료

첨부 이미지

게시판에 업로드된 zigzag 수식을 쓰고있습니다. 첨부파일에 보는 검은선 고점,저점에관해 1. 고점,저점 지수수치표시 2. 고점과 저점의 수치차이에 빼고더한값에 곱하기4 (틱수) 이두가지를 검은선 생길때 같이 꼭지점에서 표시되게 수식을 추가할수있나요? 사용하는수식첨부합니다.
지표
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2022-09-01 14:06:46

안녕하세요 예스스탁입니다. 고점과 저점의 수치차이에 빼고더한값에 곱하기4 (틱수) 올리신 내용 중 위 내용은 정확한 내용이 파악되지 않습니다. 고점과 저점에 이전 저점과 고점과의 차이를 틱수로 표시되게 추가해 드립니다. Input:전환비율(0.5); 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] * (1 + (전환비율/100)) < HH and hiBar == 0; Condition2 = 고[1,1] * (1 - (전환비율/100)) > 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(ABS(고[1,1]-저[1,1])/PriceScale,0)+"틱"+NewLine+NumToStr(고[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(ABS(고[1,1]-저[1,1])/PriceScale,0)+"틱"+NewLine+NumToStr(고[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(ABS(고[1,1]-저[1,1])/PriceScale,0)+"틱"+NewLine+NumToStr(저[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(ABS(고[1,1]-저[1,1])/PriceScale,0)+"틱"+NewLine+NumToStr(저[1,1],2)); Text_SetLocation(TX1,저[1,3],저[1,4],저[1,1]); } 최종꼭지점 = "저점"; } 즐거운 하루되세요 > 시율vn 님이 쓴 글입니다. > 제목 : zigzag 관련문의 > 게시판에 업로드된 zigzag 수식을 쓰고있습니다. 첨부파일에 보는 검은선 고점,저점에관해 1. 고점,저점 지수수치표시 2. 고점과 저점의 수치차이에 빼고더한값에 곱하기4 (틱수) 이두가지를 검은선 생길때 같이 꼭지점에서 표시되게 수식을 추가할수있나요? 사용하는수식첨부합니다.
프로필 이미지

시율vn

2022-09-01 15:06:14

감사합니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : zigzag 관련문의 > 안녕하세요 예스스탁입니다. 고점과 저점의 수치차이에 빼고더한값에 곱하기4 (틱수) 올리신 내용 중 위 내용은 정확한 내용이 파악되지 않습니다. 고점과 저점에 이전 저점과 고점과의 차이를 틱수로 표시되게 추가해 드립니다. Input:전환비율(0.5); 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] * (1 + (전환비율/100)) < HH and hiBar == 0; Condition2 = 고[1,1] * (1 - (전환비율/100)) > 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(ABS(고[1,1]-저[1,1])/PriceScale,0)+"틱"+NewLine+NumToStr(고[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(ABS(고[1,1]-저[1,1])/PriceScale,0)+"틱"+NewLine+NumToStr(고[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(ABS(고[1,1]-저[1,1])/PriceScale,0)+"틱"+NewLine+NumToStr(저[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(ABS(고[1,1]-저[1,1])/PriceScale,0)+"틱"+NewLine+NumToStr(저[1,1],2)); Text_SetLocation(TX1,저[1,3],저[1,4],저[1,1]); } 최종꼭지점 = "저점"; } 즐거운 하루되세요 > 시율vn 님이 쓴 글입니다. > 제목 : zigzag 관련문의 > 게시판에 업로드된 zigzag 수식을 쓰고있습니다. 첨부파일에 보는 검은선 고점,저점에관해 1. 고점,저점 지수수치표시 2. 고점과 저점의 수치차이에 빼고더한값에 곱하기4 (틱수) 이두가지를 검은선 생길때 같이 꼭지점에서 표시되게 수식을 추가할수있나요? 사용하는수식첨부합니다.