커뮤니티

지표식 부탁합니다.

프로필 이미지
자아준
2011-02-10 00:32:51
1530
글번호 35586
답변완료

첨부 이미지

관리자님 수고하십니다. 아래 지표식(10일이평지그재그)으로 그림파일 [지그재그선 개선구상2]과 같이 표현했는데 그림파일[지그재그선 구상1]과 같이 우선 빨간 원 속의 변곡점을 무시하고 지그재그선 표현하고 , 그 고점과 고점을 이은 추세선지점을 보조지표(macd 시그널)의 다이버전스를 파악하고자 하는데.. 잘되지 않네요 어떻케 표현가능한 방법이 없을까요 Input:Percent(0.015); Var:j(0),k(0),상승(100),하락(-100), 추세(0),ZZ(0), 기준고(0),기준저(0),기준고Bar(0),기준저Bar(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0); #==========================================# # 초기 처리 #==========================================# Value1 = Ma(C,10); #==========================================# # 전고점,전저점 index 증가 #==========================================# For j = 1 To 19 { 고Bar[j] = 고Bar[j] + 1; 저Bar[j] = 저Bar[j] + 1; } #==========================================# # 최근 고,저 갱신 #==========================================# If 기준고 <= C || 기준고 == 0 || IsNaN(기준고) == True Then { 기준고 = C; 기준고Bar = 0; } Else 기준고Bar = 기준고Bar + 1; If 기준저 >= C || 기준저 == 0 || IsNaN(기준저) == True Then { 기준저 = C; 기준저Bar = 0; } Else 기준저Bar = 기준저Bar + 1; #==========================================# # 5일선 지그재그 파동 계산 #==========================================# If ((추세 == 상승 || 추세 == 0) && CrossDown(C,Value1*(1-Percent))) || (추세 == 상승 && AccumN(Iff(C < Value1,1,0),10)==10) Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; } 고[1] = 기준고; ZZ = 기준고; 고Bar[1] = 기준고Bar; 기준고 = C; 기준저 = C; 기준고Bar = 0; 기준저Bar = 0; 추세 = 하락; } If ((추세 == 하락 || 추세 == 0) && CrossUp(C,Value1*(1+Percent))) || (추세 == 하락 && AccumN(Iff(C > Value1,1,0),10)==10) Then { For j = 18 DownTo 1 { 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 저[1] = 기준저; ZZ = 기준저; 저Bar[1] = 기준저Bar; 기준저 = C; 기준고 = C; 기준고Bar = 0; 기준저Bar = 0; 추세 = 상승; } #==========================================# # 지표식 출력 #==========================================# If ZZ[1] != ZZ Then Plot1(ZZ); Else If LastBarOnChart == 1 Then plot1(Iff(추세 == 상승,기준고,기준저));
지표
답변 2
프로필 이미지

자아준

2011-02-10 00:52:41

지그재그선 개선구상2 그림입니다.
프로필 이미지

예스스탁 예스스탁 답변

2011-02-10 11:38:39

안녕하세요 예스스탁입니다. 아래와 같이 작성하시면 ↗↘과 같은 부분의 ZZ(현재upzz, 직전 upzz1)값과 그때의 MACD값(현재 upMACDsig, 직전 upMACDsig1)을 저장하여 값을 비교하여 매도식을 만들수 있습니다. Input:Percent(0.015); Var:j(0),k(0),상승(100),하락(-100), 추세(0),ZZ(0), 기준고(0),기준저(0),기준고Bar(0),기준저Bar(0); var : upZZ(0),upZZ1(0),upMACDsig(0),upMACDsig1(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0); #==========================================# # 초기 처리 #==========================================# Value1 = Ma(C,10); #==========================================# # 전고점,전저점 index 증가 #==========================================# For j = 1 To 19 { 고Bar[j] = 고Bar[j] + 1; 저Bar[j] = 저Bar[j] + 1; } #==========================================# # 최근 고,저 갱신 #==========================================# If 기준고 <= C || 기준고 == 0 || IsNaN(기준고) == True Then { 기준고 = C; 기준고Bar = 0; } Else 기준고Bar = 기준고Bar + 1; If 기준저 >= C || 기준저 == 0 || IsNaN(기준저) == True Then { 기준저 = C; 기준저Bar = 0; } Else 기준저Bar = 기준저Bar + 1; #==========================================# # 5일선 지그재그 파동 계산 #==========================================# If ((추세 == 상승 || 추세 == 0) && CrossDown(C,Value1*(1-Percent))) || (추세 == 상승 && AccumN(Iff(C < Value1,1,0),10)==10) Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; } 고[1] = 기준고; ZZ = 기준고; 고Bar[1] = 기준고Bar; 기준고 = C; 기준저 = C; 기준고Bar = 0; 기준저Bar = 0; 추세 = 하락; } If ((추세 == 하락 || 추세 == 0) && CrossUp(C,Value1*(1+Percent))) || (추세 == 하락 && AccumN(Iff(C > Value1,1,0),10)==10) Then { For j = 18 DownTo 1 { 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 저[1] = 기준저; ZZ = 기준저; 저Bar[1] = 기준저Bar; 기준저 = C; 기준고 = C; 기준고Bar = 0; 기준저Bar = 0; 추세 = 상승; } #==========================================# # 지표식 출력 #==========================================# value2 = ema(macd(12,26),9); If ZZ[1] != ZZ Then{ var1 = ZZ; var2 = var1[1]; if var1 > var2 Then{ upZZ = var1; UPZZ1 = upZZ[1]; upMACDsig = value2; upMACDsig1 = upMACDsig[1]; if upZZ > upZZ1 and upMACDsig < UPMACDsig1 Then exitlong(); } } 다만 올리신 개선구상 2와 같은 내용은 중간에 지점을 생략하는 부분은 어떻게 처리해야 할 지 모르겠습니다. 중간부분을 생략하는 부분이 굉장히 작위적인 부분이고 유동적인 부분입니다. 해당 내용은 지그재그의 꼭지점을 찾는 계산내용에 대해 살펴보시고 해당 자리에 꼭지점이 나타나지 않게 계산식 내용을 재정립해 보셔야 합니다. 식상에서는 Percent(0.015)가 변화점을 찾는 외부변수이므로 해당 변수를 조정해보시고, 여의치 않으면 계산식 자체를 새로 정립하셔야 합니다. 즐거운 하루되세요 > 자아준 님이 쓴 글입니다. > 제목 : 지표식 부탁합니다. > 관리자님 수고하십니다. 아래 지표식(10일이평지그재그)으로 그림파일 [지그재그선 개선구상2]과 같이 표현했는데 그림파일[지그재그선 구상1]과 같이 우선 빨간 원 속의 변곡점을 무시하고 지그재그선 표현하고 , 그 고점과 고점을 이은 추세선지점을 보조지표(macd 시그널)의 다이버전스를 파악하고자 하는데.. 잘되지 않네요 어떻케 표현가능한 방법이 없을까요 Input:Percent(0.015); Var:j(0),k(0),상승(100),하락(-100), 추세(0),ZZ(0), 기준고(0),기준저(0),기준고Bar(0),기준저Bar(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0); #==========================================# # 초기 처리 #==========================================# Value1 = Ma(C,10); #==========================================# # 전고점,전저점 index 증가 #==========================================# For j = 1 To 19 { 고Bar[j] = 고Bar[j] + 1; 저Bar[j] = 저Bar[j] + 1; } #==========================================# # 최근 고,저 갱신 #==========================================# If 기준고 <= C || 기준고 == 0 || IsNaN(기준고) == True Then { 기준고 = C; 기준고Bar = 0; } Else 기준고Bar = 기준고Bar + 1; If 기준저 >= C || 기준저 == 0 || IsNaN(기준저) == True Then { 기준저 = C; 기준저Bar = 0; } Else 기준저Bar = 기준저Bar + 1; #==========================================# # 5일선 지그재그 파동 계산 #==========================================# If ((추세 == 상승 || 추세 == 0) && CrossDown(C,Value1*(1-Percent))) || (추세 == 상승 && AccumN(Iff(C < Value1,1,0),10)==10) Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; } 고[1] = 기준고; ZZ = 기준고; 고Bar[1] = 기준고Bar; 기준고 = C; 기준저 = C; 기준고Bar = 0; 기준저Bar = 0; 추세 = 하락; } If ((추세 == 하락 || 추세 == 0) && CrossUp(C,Value1*(1+Percent))) || (추세 == 하락 && AccumN(Iff(C > Value1,1,0),10)==10) Then { For j = 18 DownTo 1 { 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 저[1] = 기준저; ZZ = 기준저; 저Bar[1] = 기준저Bar; 기준저 = C; 기준고 = C; 기준고Bar = 0; 기준저Bar = 0; 추세 = 상승; } #==========================================# # 지표식 출력 #==========================================# If ZZ[1] != ZZ Then Plot1(ZZ); Else If LastBarOnChart == 1 Then plot1(Iff(추세 == 상승,기준고,기준저));