커뮤니티

[오픈소스] PnF차트 상승전환 종목 검색식

프로필 이미지
수식지왕
2005-12-22 00:57:32
1228
글번호 9000

첨부 이미지

본 내용은 http://cafe.empas.com/systrader에 게시된 내용입니다. 위에서 작성한 검색식은 저항선을 돌파하는지 판별하는 것이었고 이번에는 그것보다 간단한 P&F 차트상에서 상승으로 전환된 종목을 찾는 검색식입니다. 앞의 수식에서 일부 내용을 삭제하고 방향이 하락에서 상승으로 바뀌었는지를 체크합니다. /*작성자:수식지왕*/ input:bar_cnt(200); var:j(0),g(0),r(0),k(0),n(0),point(0),figure(3),u(1),d(-1),이전방향(0); array:기준가[10](0),Hi[100](0),Lo[100](0),방향[100](0); #=====================================================# # main #=====================================================# n = bar_cnt - 1; if i == n then { point = (highest(c,bar_cnt)-lowest(c,bar_cnt))/50; 기준가[0] = c[n]; k = 0; 방향[0] = 0; Hi[0] = int(h[n]/point); Lo[0] = int(l[n]/point); for g = n - 1 downto 0 { 이전방향 = 방향[0]; //보통의 처리 루틴이라면 이전봉의 값은 방향[0][1]로 //표현할 수 있겠으나 본 검색식에서는 마지막봉에서 모든 //계산이 이루어지므로 이전봉에서의 값을 이런 식으로 //별도의 변수에 넣어 처리하여 함 for r = 9 downto 1 { 기준가[r] = 기준가[r-1]; } if 방향[0] == 0 then { if 기준가[0] + (point * figure) <= c[g] then { 기준가[0] = c[g]; 방향[0] = u; Hi[0] = max(Hi[0],int(h[g]/point)); Lo[0] = min(Lo[0],int(l[g]/point)); } else if 기준가[0] - (point * figure) >= c[g] then { 기준가[0] = c[g]; 방향[0] = d; Hi[0] = max(Hi[0],int(h[g]/point)); Lo[0] = min(Lo[0],int(l[g]/point)); } else { Hi[0] = max(Hi[0],int(h[g]/point)); Lo[0] = min(Lo[0],int(l[g]/point)); } } else if 방향[0] == d then { if 기준가[0] + (point * figure) <= c[g] then { k = k + 1; for j = min(k,99) downto 1 { Hi[j] = Hi[j-1]; Lo[j] = Lo[j-1]; 방향[j] = 방향[j-1]; } 기준가[0] = c[g]; 방향[0] = u; Hi[0] = int(h[g]/point); Lo[0] = int(기준가[1]/point); } else { 기준가[0] = min(기준가[1],c[g]); Hi[0] = max(Hi[0],int(h[g]/point)); Lo[0] = min(Lo[0],int(l[g]/point)); } } else if 방향[0] == u then { if 기준가[0] - (point * figure) >= c[g] then { k = k + 1; for j = min(k,99) downto 1 { Hi[j] = Hi[j-1]; Lo[j] = Lo[j-1]; 방향[j] = 방향[j-1]; } 기준가[0] = c[g]; 방향[0] = d; Hi[0] = int(기준가[1]/point); Lo[0] = int(l[g]/point); } else { 기준가[0] = max(기준가[1],c[g]); Hi[0] = max(Hi[0],int(h[g]/point)); Lo[0] = min(Lo[0],int(l[g]/point)); } } } } #=====================================================# # 검색식 #=====================================================# if 이전방향 == d and 방향[0] == u then var1 = Hi[0]; else var1 = 0; Find(var1);
검색
답변 0