커뮤니티

미완성 Sar 수식입니다. 관리자님 수정해주세요.

프로필 이미지
수식지왕
2003-07-15 00:00:00
2234
글번호 400
답변완료
검은펜님이 SAR에 대한 사용자함수식을 요구하시길래 인터넷을 뒤지다 보니 프로그래밍된 것이 있어 예스 언어로 바꿔보았습니다. 로직은 이해가 갑니다만 값이 틀린 것으로 보아 reverse 시점 체크하는 부분에서의 j값과 카운트에서 오류가 있는 것 같은데 찾기가 어렵군요. 비주얼베이직처럼 디버거 기능이라도 있으면 찾기가 쉬우련만... 우선 아쉬운대로 올리니 리서치팀에서 정확한 값을 찾아주시기 바랍니다. input:AF(0.02), MAXaf(0.2); var: accfac(0), SIP(0), pSAR(0), SARn(0), xprice(0), j(0), count(0), buysell(0),firstday(0); accfac = AF; count = min(i,100); buysell = 0;// 1-long, 0-short firstday = 1; pSAR = h[count]; SARn = pSAR; SIP = pSAR; xprice = h[count]; for j = count+1 downto 0 begin if buysell == 0 then // short position { if firstday == 1 then { pSAR = SIP; firstday = 0; } else { if l[j] < xprice then { xprice = l[j]; if accfac < MAXaf then accfac = accfac + AF; } pSAR = SARn - accfac * abs(xprice - SARn); } if pSAR <= h[j] or pSAR <= h[j+1] then { if h[j] >= h[j+1] then pSAR = h[j]; else pSAR = h[j+1]; buysell = 1; accfac = AF; SIP = xprice; firstday = 1; } } if buysell == 1 then // long position { if firstday == 1 then { pSAR = SIP; firstday = 0; } else { if h[j] > xprice then { xprice = h[j]; if accfac < MAXaf then accfac = accfac + AF; } pSAR = SARn + accfac * abs(xprice - SARn); } if pSAR >= l[j] or pSAR >= l[j+1] then { if l[j] <= l[j+1] then pSAR = l[j]; else pSAR = l[j+1]; buysell = 0; accfac = AF; SIP = xprice; firstday = 1; } } SARn = pSAR; end; plot1(pSar,"sar");
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2003-07-28 00:00:00

안녕하세요..예스스탁입니다. sar관련 식은 검은펜님의 개인 메일로 보내드렸습니다. 즐거운 날 되세요. > 수식지왕 님이 쓴 글입니다. > 제목 : 미완성 Sar 수식입니다. 관리자님 수정해주세요. > 검은펜님이 SAR에 대한 사용자함수식을 요구하시길래 > 인터넷을 뒤지다 보니 프로그래밍된 것이 있어 예스 언어로 바꿔보았습니다. > > 로직은 이해가 갑니다만 값이 틀린 것으로 보아 reverse 시점 체크하는 부분에서의 j값과 > 카운트에서 오류가 있는 것 같은데 찾기가 어렵군요. > > 비주얼베이직처럼 디버거 기능이라도 있으면 찾기가 쉬우련만... > > 우선 아쉬운대로 올리니 리서치팀에서 정확한 값을 찾아주시기 바랍니다. > > > > > input:AF(0.02), MAXaf(0.2); > var: accfac(0), SIP(0), pSAR(0), SARn(0), xprice(0), > j(0), count(0), buysell(0),firstday(0); > > accfac = AF; > count = min(i,100); > buysell = 0;// 1-long, 0-short > > firstday = 1; > pSAR = h[count]; > SARn = pSAR; > SIP = pSAR; > xprice = h[count]; > > for j = count+1 downto 0 begin > > if buysell == 0 then // short position > { > if firstday == 1 then > { > pSAR = SIP; > firstday = 0; > } > else > { > if l[j] < xprice then > { > xprice = l[j]; > if accfac < MAXaf then > accfac = accfac + AF; > } > pSAR = SARn - accfac * abs(xprice - SARn); > } > if pSAR <= h[j] or pSAR <= h[j+1] then > { > if h[j] >= h[j+1] then > pSAR = h[j]; > else > pSAR = h[j+1]; > buysell = 1; > accfac = AF; > SIP = xprice; > firstday = 1; > } > } > if buysell == 1 then // long position > { > if firstday == 1 then > { > pSAR = SIP; > firstday = 0; > } > else > { > if h[j] > xprice then > { > xprice = h[j]; > if accfac < MAXaf then > accfac = accfac + AF; > } > pSAR = SARn + accfac * abs(xprice - SARn); > } > > if pSAR >= l[j] or pSAR >= l[j+1] then > { > if l[j] <= l[j+1] then > pSAR = l[j]; > else > pSAR = l[j+1]; > buysell = 0; > accfac = AF; > SIP = xprice; > firstday = 1; > } > } > SARn = pSAR; > end; > > plot1(pSar,"sar");