커뮤니티

문의드립니다.

프로필 이미지
sdfadfe
2014-06-10 07:17:28
194
글번호 75706
답변완료
어제 ZigZag 수식과 관련된 질문 드렸습니다. 어제 답변받은 아래와 같은 수식 참조 시 프로그램으로부터 응답없음 이라고 나오는데 프로그램 오류인가요 ? 수식 오류인가요? 분봉기준입니다. Input:전환율(2); Var:j(0),상승(100),하락(-100),상승률(0),하락률(0),기준고(0),기준저(0), 기준고Bar(0),기준저Bar(0),추세(0),ZZ(0),TL1(0),TL2(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0),고Idx[20](0),저Idx[20](0); 상승률 = 1 + (전환율/100); 하락률 = 1 - (전환율/100); #---------------------------------------------------------# # Index()와 마찬가지로 1봉이 바뀔 때마다 1씩 증가 #---------------------------------------------------------# for j = 1 to 19 { 고Bar[j] = 고Bar[j] + 1; 저Bar[j] = 저Bar[j] + 1; 고Idx[j] = Index - 고Bar[j]; 저Idx[j] = Index - 저Bar[j]; } #---------------------------------------------------------# # 최근 고,저 갱신 #---------------------------------------------------------# if 기준고 <= H or 기준고 == 0 then { 기준고 = H; 기준고Bar = 0; } else 기준고Bar = 기준고Bar + 1; if 기준저 >= L or 기준저 == 0 then { 기준저 = L; 기준저Bar = 0; } else 기준저Bar = 기준저Bar + 1; #---------------------------------------------------------# # 파동 계산 Main #---------------------------------------------------------# if 기준고 * 하락률 <= H[1] and 기준고 * 하락률 > H then 추세 = 하락; else if 기준저 * 상승률 >= L[1] and 기준저 * 상승률 < L then 추세 = 상승; if 추세[1] == 상승 and 추세 == 하락 then { for j = 18 downto 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 고Idx[j+1] = 고Idx[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 고Idx[1] = Index - 고Bar[1]; ZZ = 기준고; 기준고 = H; 기준고Bar = 0; 기준저 = L; 기준저Bar = 0; } if 추세[1] == 하락 and 추세 == 상승 then { for j = 18 downto 1 { 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; 저Idx[j+1] = 저Idx[j]; } 저[1] = 기준저; 저Bar[1] = 기준저Bar; 저Idx[1] = Index - 저Bar[1]; ZZ = 기준저; 기준저 = L; 기준저Bar = 0; 기준고 = H; 기준고Bar = 0; } if ZZ[1] != ZZ then { if 추세 == 상승 Then{ TL1 = TL_New(sdate[고bar[1]],stime[고bar[1]],고[1],sdate[저bar[1]],stime[저bar[1]],저[1]); TL_SetColor(TL1,BLUE); } if 추세 == 하락 Then{ TL1 = TL_New(sdate[저bar[1]],stime[저bar[1]],저[1],sdate[고bar[1]],stime[고bar[1]],고[1]); TL_SetColor(TL1,RED); } } TL_Delete(TL2); if ZZ[1] == ZZ then { if 추세 == 상승 Then{ TL2 = TL_New(sdate[저bar[1]],stime[저bar[1]],저[1],sdate,stime,c); TL_SetColor(TL2,RED); } if 추세 == 하락 Then{ TL2 = TL_New(sdate[고bar[1]],stime[고bar[1]],고[1],sdate,stime,c); TL_SetColor(TL2,BLUE); } }
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2014-06-10 12:51:06

안녕하세요 예스스탁입니다. 첨부된 그림은 해당식 차트에 적용한 그림입니다. 적용해 본 결과 정상적으로 그려집니다. 해당식 추세선을 이용한 식으로 예스트레이더에만 적용이 가능하고 차트에 봉이 많으시면 그리는데 시간이 오래걸릴수 있습니다. 차트의 봉수를 줄여서 적용해 보시기 바랍니다. 즐거운 하루되세요 > sdfadfe 님이 쓴 글입니다. > 제목 : 문의드립니다. > 어제 ZigZag 수식과 관련된 질문 드렸습니다. 어제 답변받은 아래와 같은 수식 참조 시 프로그램으로부터 응답없음 이라고 나오는데 프로그램 오류인가요 ? 수식 오류인가요? 분봉기준입니다. Input:전환율(2); Var:j(0),상승(100),하락(-100),상승률(0),하락률(0),기준고(0),기준저(0), 기준고Bar(0),기준저Bar(0),추세(0),ZZ(0),TL1(0),TL2(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0),고Idx[20](0),저Idx[20](0); 상승률 = 1 + (전환율/100); 하락률 = 1 - (전환율/100); #---------------------------------------------------------# # Index()와 마찬가지로 1봉이 바뀔 때마다 1씩 증가 #---------------------------------------------------------# for j = 1 to 19 { 고Bar[j] = 고Bar[j] + 1; 저Bar[j] = 저Bar[j] + 1; 고Idx[j] = Index - 고Bar[j]; 저Idx[j] = Index - 저Bar[j]; } #---------------------------------------------------------# # 최근 고,저 갱신 #---------------------------------------------------------# if 기준고 <= H or 기준고 == 0 then { 기준고 = H; 기준고Bar = 0; } else 기준고Bar = 기준고Bar + 1; if 기준저 >= L or 기준저 == 0 then { 기준저 = L; 기준저Bar = 0; } else 기준저Bar = 기준저Bar + 1; #---------------------------------------------------------# # 파동 계산 Main #---------------------------------------------------------# if 기준고 * 하락률 <= H[1] and 기준고 * 하락률 > H then 추세 = 하락; else if 기준저 * 상승률 >= L[1] and 기준저 * 상승률 < L then 추세 = 상승; if 추세[1] == 상승 and 추세 == 하락 then { for j = 18 downto 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 고Idx[j+1] = 고Idx[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 고Idx[1] = Index - 고Bar[1]; ZZ = 기준고; 기준고 = H; 기준고Bar = 0; 기준저 = L; 기준저Bar = 0; } if 추세[1] == 하락 and 추세 == 상승 then { for j = 18 downto 1 { 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; 저Idx[j+1] = 저Idx[j]; } 저[1] = 기준저; 저Bar[1] = 기준저Bar; 저Idx[1] = Index - 저Bar[1]; ZZ = 기준저; 기준저 = L; 기준저Bar = 0; 기준고 = H; 기준고Bar = 0; } if ZZ[1] != ZZ then { if 추세 == 상승 Then{ TL1 = TL_New(sdate[고bar[1]],stime[고bar[1]],고[1],sdate[저bar[1]],stime[저bar[1]],저[1]); TL_SetColor(TL1,BLUE); } if 추세 == 하락 Then{ TL1 = TL_New(sdate[저bar[1]],stime[저bar[1]],저[1],sdate[고bar[1]],stime[고bar[1]],고[1]); TL_SetColor(TL1,RED); } } TL_Delete(TL2); if ZZ[1] == ZZ then { if 추세 == 상승 Then{ TL2 = TL_New(sdate[저bar[1]],stime[저bar[1]],저[1],sdate,stime,c); TL_SetColor(TL2,RED); } if 추세 == 하락 Then{ TL2 = TL_New(sdate[고bar[1]],stime[고bar[1]],고[1],sdate,stime,c); TL_SetColor(TL2,BLUE); } }