커뮤니티

문의드립니다

프로필 이미지
해피데이m
2014-09-04 14:07:29
197
글번호 78348
답변완료
아래 지표를,전 파동폭에 30%되는 시점을 돌파 이탈할때 전환되게 변경 부탁드립니다 Input:전환율(2); Var:j(0),상승(100),하락(-100),상승률(0),하락률(0),기준고(0),기준저(0), 기준고Bar(0),기준저Bar(0),추세(0),ZZ(0),TL1(0),TL2(0),방향(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); } }
지표
답변 5
프로필 이미지

예스스탁 예스스탁 답변

2014-09-04 15:39:52

안녕하세요 예스스탁입니다. Input:Per(30); Var:j(0),상승(100),하락(-100),기준고(0),기준저(0), 기준고Bar(0),기준저Bar(0),추세(0),ZZ(0),TL1(0),TL2(0),방향(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0),고Idx[20](0),저Idx[20](0); #---------------------------------------------------------# # 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 기준고-(기준고-기준저)*(Per/100) <= H[1] and 기준고-(기준고-기준저)*(Per/100) > H then 추세 = 하락; else if 기준저+(기준고-기준저)*(Per/100) >= L[1] and 기준저+(기준고-기준저)*(Per/100) < 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); } } 즐거운 하루되세요 > 해피데이m 님이 쓴 글입니다. > 제목 : 문의드립니다 > 아래 지표를,전 파동폭에 30%되는 시점을 돌파 이탈할때 전환되게 변경 부탁드립니다 Input:전환율(2); Var:j(0),상승(100),하락(-100),상승률(0),하락률(0),기준고(0),기준저(0), 기준고Bar(0),기준저Bar(0),추세(0),ZZ(0),TL1(0),TL2(0),방향(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); } }
프로필 이미지

해피데이m

2014-09-05 12:36:03

마지막 하락 추세선이 전 추세선에 30% 전환비율 시점이 1번 켄들로,1번 켄들에 하락 추세선이 나타나야되는데 3번 켄들시점에 가서 나타납니다(그림1). 이부분에 대한 설명 부탁드립니다. 그리고 전환비율이 발생&#46080; 시점에 켄들에 추세선이 나타나는 지표로 수정부탁드립니다 > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 문의드립니다 > 안녕하세요 예스스탁입니다. Input:Per(30); Var:j(0),상승(100),하락(-100),기준고(0),기준저(0), 기준고Bar(0),기준저Bar(0),추세(0),ZZ(0),TL1(0),TL2(0),방향(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0),고Idx[20](0),저Idx[20](0); #---------------------------------------------------------# # 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 기준고-(기준고-기준저)*(Per/100) <= H[1] and 기준고-(기준고-기준저)*(Per/100) > H then 추세 = 하락; else if 기준저+(기준고-기준저)*(Per/100) >= L[1] and 기준저+(기준고-기준저)*(Per/100) < 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); } } 즐거운 하루되세요
프로필 이미지

예스스탁 예스스탁 답변

2014-09-05 12:58:23

안녕하세요 예스스탁입니다. #---------------------------------------------------------# # 파동 계산 Main #---------------------------------------------------------# if 기준고-(기준고-기준저)*(Per/100) <= H[1] and 기준고-(기준고-기준저)*(Per/100) > H then 추세 = 하락; else if 기준저+(기준고-기준저)*(Per/100) >= L[1] and 기준저+(기준고-기준저)*(Per/100) < L then 추세 = 상승; 원본식에 기본수식에 하락은 고가를 기준으로 핸재봉은 고가가 지정한 30%보다 아래여야 하고 직전봉은 크다라는 조건이 있습니다. 답변드린 부분은 2%로 되어 있는 부분을 최근 추세의 30%로만 지정해 드렸습니다. 원본식에서 하나의 봉의 중간에 걸친봉은 해당이 되지 않습니다. 고가와 저가상으로 값이 내려오거나 올라가야 합니다. 래와 같이 작성하시면 현재봉은 종가기준으로 지정한 값이하이면 조건이 충족하게 됩니다. 위 내용이 30%를 기준으로 추세를 판가름하는 내용입니다. 위 내용 참고하셔서 추세조건식을 조절하시기 바랍니다. Input:Per(30); Var:j(0),상승(100),하락(-100),기준고(0),기준저(0), 기준고Bar(0),기준저Bar(0),추세(0),ZZ(0),TL1(0),TL2(0),방향(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0),고Idx[20](0),저Idx[20](0); #---------------------------------------------------------# # 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 기준고-(기준고-기준저)*(Per/100) <= H[1] and 기준고-(기준고-기준저)*(Per/100) > c then 추세 = 하락; else if 기준저+(기준고-기준저)*(Per/100) >= L[1] and 기준저+(기준고-기준저)*(Per/100) < c 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{ plot1(H); TL1 = TL_New(sdate[고bar[1]],stime[고bar[1]],고[1],sdate[저bar[1]],stime[저bar[1]],저[1]); TL_SetColor(TL1,BLUE); } if 추세 == 하락 Then{ plot1(L); 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{ plot1(H); TL2 = TL_New(sdate[저bar[1]],stime[저bar[1]],저[1],sdate,stime,c); TL_SetColor(TL2,RED); } if 추세 == 하락 Then{ plot1(L); TL2 = TL_New(sdate[고bar[1]],stime[고bar[1]],고[1],sdate,stime,c); TL_SetColor(TL2,BLUE); } } 즐거운 하루되세요 > 해피데이m 님이 쓴 글입니다. > 제목 : Re : Re : 문의드립니다 > 마지막 하락 추세선이 전 추세선에 30% 전환비율 시점이 1번 켄들로,1번 켄들에 하락 추세선이 나타나야되는데 3번 켄들시점에 가서 나타납니다(그림1). 이부분에 대한 설명 부탁드립니다. 그리고 전환비율이 발생&#46080; 시점에 켄들에 추세선이 나타나는 지표로 수정부탁드립니다 > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 문의드립니다 > 안녕하세요 예스스탁입니다. Input:Per(30); Var:j(0),상승(100),하락(-100),기준고(0),기준저(0), 기준고Bar(0),기준저Bar(0),추세(0),ZZ(0),TL1(0),TL2(0),방향(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0),고Idx[20](0),저Idx[20](0); #---------------------------------------------------------# # 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 기준고-(기준고-기준저)*(Per/100) <= H[1] and 기준고-(기준고-기준저)*(Per/100) > H then 추세 = 하락; else if 기준저+(기준고-기준저)*(Per/100) >= L[1] and 기준저+(기준고-기준저)*(Per/100) < 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); } } 즐거운 하루되세요
프로필 이미지

해피데이m

2014-09-05 19:26:00

아래 수식을 per(40)으로 적용시 첨부파일에 표시한 2-3번 추세선이 오류입니다. 즉 1-2번 구간폭에 40%(261.45)를 하방으로 이탈시 추세선이 나타나야되는데 원인을 모르겠읍니다. 아래지표를 잘못알고 이해하고있다면, 첨부파일처럼 1-2번 구간이 상승 진행중일때,하방으로 1-2번 구간폭에 per를 이탈시 새로운 추세선이 생성되고,하락락진행시는 반대로 지표 부탁드립니다 > 안녕하세요 예스스탁입니다. Input:Per(30); Var:j(0),상승(100),하락(-100),기준고(0),기준저(0), 기준고Bar(0),기준저Bar(0),추세(0),ZZ(0),TL1(0),TL2(0),방향(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0),고Idx[20](0),저Idx[20](0); #---------------------------------------------------------# # 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 기준고-(기준고-기준저)*(Per/100) <= H[1] and 기준고-(기준고-기준저)*(Per/100) > c then 추세 = 하락; else if 기준저+(기준고-기준저)*(Per/100) >= L[1] and 기준저+(기준고-기준저)*(Per/100) < c 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{ plot1(H); TL1 = TL_New(sdate[고bar[1]],stime[고bar[1]],고[1],sdate[저bar[1]],stime[저bar[1]],저[1]); TL_SetColor(TL1,BLUE); } if 추세 == 하락 Then{ plot1(L); 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{ plot1(H); TL2 = TL_New(sdate[저bar[1]],stime[저bar[1]],저[1],sdate,stime,c); TL_SetColor(TL2,RED); } if 추세 == 하락 Then{ plot1(L); TL2 = TL_New(sdate[고bar[1]],stime[고bar[1]],고[1],sdate,stime,c); TL_SetColor(TL2,BLUE); } } 즐거운 하루되세요
프로필 이미지

예스스탁 예스스탁 답변

2014-09-11 17:46:06

안녕하세요 예스스탁입니다. Input:Per(30); Var:j(0),상승(100),하락(-100),기준고(0),기준저(0), 기준고Bar(0),기준저Bar(0),추세(0),ZZ(0),TL1(0),TL2(0),방향(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0),고Idx[20](0),저Idx[20](0); #---------------------------------------------------------# # 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 기준고-(기준고-기준저)*(Per/100) <= H[1] and 기준고-(기준고-기준저)*(Per/100) > c then 추세 = 하락; else if 기준저+(기준고-기준저)*(Per/100) >= L[1] and 기준저+(기준고-기준저)*(Per/100) < c 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 = 기준고; 기준고 = min(H,고[1]); 기준고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 = 기준저; 기준저 = min(L,저[1]); 기준저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); } } 즐거운 하루되세요 > 해피데이m 님이 쓴 글입니다. > 제목 : Re : Re : Re : Re : 문의드립니다 > 아래 수식을 per(40)으로 적용시 첨부파일에 표시한 2-3번 추세선이 오류입니다. 즉 1-2번 구간폭에 40%(261.45)를 하방으로 이탈시 추세선이 나타나야되는데 원인을 모르겠읍니다. 아래지표를 잘못알고 이해하고있다면, 첨부파일처럼 1-2번 구간이 상승 진행중일때,하방으로 1-2번 구간폭에 per를 이탈시 새로운 추세선이 생성되고,하락락진행시는 반대로 지표 부탁드립니다 > 안녕하세요 예스스탁입니다. Input:Per(30); Var:j(0),상승(100),하락(-100),기준고(0),기준저(0), 기준고Bar(0),기준저Bar(0),추세(0),ZZ(0),TL1(0),TL2(0),방향(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0),고Idx[20](0),저Idx[20](0); #---------------------------------------------------------# # 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 기준고-(기준고-기준저)*(Per/100) <= H[1] and 기준고-(기준고-기준저)*(Per/100) > c then 추세 = 하락; else if 기준저+(기준고-기준저)*(Per/100) >= L[1] and 기준저+(기준고-기준저)*(Per/100) < c 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{ plot1(H); TL1 = TL_New(sdate[고bar[1]],stime[고bar[1]],고[1],sdate[저bar[1]],stime[저bar[1]],저[1]); TL_SetColor(TL1,BLUE); } if 추세 == 하락 Then{ plot1(L); 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{ plot1(H); TL2 = TL_New(sdate[저bar[1]],stime[저bar[1]],저[1],sdate,stime,c); TL_SetColor(TL2,RED); } if 추세 == 하락 Then{ plot1(L); TL2 = TL_New(sdate[고bar[1]],stime[고bar[1]],고[1],sdate,stime,c); TL_SetColor(TL2,BLUE); } } 즐거운 하루되세요