커뮤니티

함수식 부탁드립니다.

프로필 이미지
양치기
2015-02-22 22:30:58
150
글번호 83340
답변완료
항상 도움 주셔서 감사합니다. 문) RSI에 대한 사용자 함수 부탁드립니다. 일반적으로 RSI는 종가를 기준으로 작성하는것으로 알고 있는데 종가 대신 (고가+저가/2)를 가지고 RSI를 구하고 싶습니다. 사용자 함수 부탁드립니다. 아래는 종가에 대한 RSI 함수입니다. /* Description : (R)elative (S)trength (I)ndex * * Provided By : YesStock Inc. (c) Copyright 2006 * E-Mail : webmaster@yesstock.com */ Inputs: Length(NumericSimple); Variables: Counter(0), DownAmt(0), UpAmt(0), UpSum(0), DownSum(0), UpAvg(0), DownAvg(0); If CurrentBar == 1 AND Length > 0 Then Begin UpSum = 0; DownSum = 0; For Counter = 0 To Length - 1 Begin UpAmt = C[Counter] - C[Counter+1]; If UpAmt >= 0 Then DownAmt = 0; Else Begin DownAmt = -UpAmt; UpAmt = 0; End; UpSum = UpSum + UpAmt; DownSum = DownSum + DownAmt; End; UpAvg = UpSum / Length; DownAvg = DownSum / Length; End Else If CurrentBar > 1 AND Length > 0 Then Begin UpAmt = C[0] - C[1]; If UpAmt >= 0 Then DownAmt = 0; Else Begin DownAmt = -UpAmt; UpAmt = 0; End; UpAvg = (UpAvg[1] * (Length - 1) + UpAmt) / Length; DownAvg = (DownAvg[1] * (Length - 1) + DownAmt) / Length; End; If UpAvg + DownAvg <> 0 Then RSI = 100 * UpAvg / (UpAvg + DownAvg); Else RSI = 0;
사용자 함수
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-02-24 17:34:16

안녕하세요 예스스탁입니다. 아래 내용으로 사용자함수를 작성하시고 지표식이나 시스템식에서 RSI2( (H+L)/2 , 14) 와 같이 가격과 기간 지정해 주시면 됩니다/ 사용자함수명 RSI2 Inputs : Price(Numeric),Length(NumericSimple); Variables: Counter(0), DownAmt(0), UpAmt(0), UpSum(0), DownSum(0), UpAvg(0), DownAvg(0); If CurrentBar == 1 AND Length > 0 Then Begin UpSum = 0; DownSum = 0; For Counter = 0 To Length - 1 Begin UpAmt = Price[Counter] - Price[Counter+1]; If UpAmt >= 0 Then DownAmt = 0; Else Begin DownAmt = -UpAmt; UpAmt = 0; End; UpSum = UpSum + UpAmt; DownSum = DownSum + DownAmt; End; UpAvg = UpSum / Length; DownAvg = DownSum / Length; End Else If CurrentBar > 1 AND Length > 0 Then Begin UpAmt = Price[0] - Price[1]; If UpAmt >= 0 Then DownAmt = 0; Else Begin DownAmt = -UpAmt; UpAmt = 0; End; UpAvg = (UpAvg[1] * (Length - 1) + UpAmt) / Length; DownAvg = (DownAvg[1] * (Length - 1) + DownAmt) / Length; End; If UpAvg + DownAvg <> 0 Then RSI2 = 100 * UpAvg / (UpAvg + DownAvg); Else RSI2 = 0; 즐거운 하루되세요 > 양치기 님이 쓴 글입니다. > 제목 : 함수식 부탁드립니다. > 항상 도움 주셔서 감사합니다. 문) RSI에 대한 사용자 함수 부탁드립니다. 일반적으로 RSI는 종가를 기준으로 작성하는것으로 알고 있는데 종가 대신 (고가+저가/2)를 가지고 RSI를 구하고 싶습니다. 사용자 함수 부탁드립니다. 아래는 종가에 대한 RSI 함수입니다. /* Description : (R)elative (S)trength (I)ndex * * Provided By : YesStock Inc. (c) Copyright 2006 * E-Mail : webmaster@yesstock.com */ Inputs: Length(NumericSimple); Variables: Counter(0), DownAmt(0), UpAmt(0), UpSum(0), DownSum(0), UpAvg(0), DownAvg(0); If CurrentBar == 1 AND Length > 0 Then Begin UpSum = 0; DownSum = 0; For Counter = 0 To Length - 1 Begin UpAmt = C[Counter] - C[Counter+1]; If UpAmt >= 0 Then DownAmt = 0; Else Begin DownAmt = -UpAmt; UpAmt = 0; End; UpSum = UpSum + UpAmt; DownSum = DownSum + DownAmt; End; UpAvg = UpSum / Length; DownAvg = DownSum / Length; End Else If CurrentBar > 1 AND Length > 0 Then Begin UpAmt = C[0] - C[1]; If UpAmt >= 0 Then DownAmt = 0; Else Begin DownAmt = -UpAmt; UpAmt = 0; End; UpAvg = (UpAvg[1] * (Length - 1) + UpAmt) / Length; DownAvg = (DownAvg[1] * (Length - 1) + DownAmt) / Length; End; If UpAvg + DownAvg <> 0 Then RSI = 100 * UpAvg / (UpAvg + DownAvg); Else RSI = 0;