커뮤니티

사용자 함수

프로필 이미지
gap
2024-01-24 17:08:39
730
글번호 176062
답변완료
안녕하세요. 예스랭귀지 함수 사전에는 RSI 함수에 기간만 입력파라미터로 넣어주고 있는데 이것을 RSI(입력가격, 입력기간)의 두 개의 파라미터로 받아서 쓰는 RSI 함수를 사용하고 싶습니다. 즉, RSI(기간)으로 제공되고 있는 것을 RSI(가격, 기간) 형태의 사용자 함수로 따로 생성해서 쓸 수 있게 사용자 함수를 요청드립니다. 감사합니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-01-25 11:34:19

안녕하세요 예스스탁입니다. 함수명 RSIV로 작성해 드립니다. 사용자함수 만드신 후에 RSIV(기준값,기간)과 같이 지정해 사용하시면 됩니다. 사용자함수명 : RSIV 반환값형 : 숫자형 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 RSIv = 100 * UpAvg / (UpAvg + DownAvg); Else RSIv = 0; 즐거운 하루되세요 > gap 님이 쓴 글입니다. > 제목 : 사용자 함수 > 안녕하세요. 예스랭귀지 함수 사전에는 RSI 함수에 기간만 입력파라미터로 넣어주고 있는데 이것을 RSI(입력가격, 입력기간)의 두 개의 파라미터로 받아서 쓰는 RSI 함수를 사용하고 싶습니다. 즉, RSI(기간)으로 제공되고 있는 것을 RSI(가격, 기간) 형태의 사용자 함수로 따로 생성해서 쓸 수 있게 사용자 함수를 요청드립니다. 감사합니다.