커뮤니티

수식 부탁드립니다.

프로필 이미지
오전만트레이딩
2022-11-22 21:43:55
687
글번호 164032
답변완료
inputs: gam( numericseries ); variables: L0(0), L1(0), L2(0), L3(0), CU(0), CD(0), LRSI(0); L0 = (1 - gam)*Close + gam*L0[1]; L1 = - gam *L0 + L0[1] + gam *L1[1]; L2 = - gam *L1 + L1[1] + gam *L2[1]; L3 = - gam *L2 + L2[1] + gam *L3[1]; CU = 0; CD = 0; If L0 >= L1 then CU = L0 - L1 Else CD = L1 - L0; If L1 >= L2 then CU = CU + L1 - L2 Else CD = CD + L2 - L1; If L2 >= L3 then CU = CU + L2 - L3 Else CD = CD + L3 - L2; If CU + CD <> 0 then LaguerreRSI = CU / (CU + CD); EasyLanguage로 수식은 위와 같습니다. 실제로 예스스탁에 바로 넣어도 에러도 없고 직관적으로도 이해가 되는데 막상 작동을 안하네요. 수정부탁드립니다.
사용자 함수
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-11-23 13:52:48

안녕하세요 예스스탁입니다. 차트 첫봉에 한봉전값이 없어 L0[1]과 같은 값이 N/A입니다. 해당식은 직전값을 이용하므로 한번 N/A가 들어가면 계속 계산불능상태가 됩니다. 수식에서 필요한 최소봉이상부터 계산하게 아래와 같이 처리하셔야 합니다. inputs: gam( numericseries ); variables: L0(0), L1(0), L2(0), L3(0), CU(0), CD(0), LRSI(0); if CurrentBar >= 1 Then { L0 = (1 - gam)*Close + gam*L0[1]; L1 = - gam *L0 + L0[1] + gam *L1[1]; L2 = - gam *L1 + L1[1] + gam *L2[1]; L3 = - gam *L2 + L2[1] + gam *L3[1]; CU = 0; CD = 0; If L0 >= L1 then CU = L0 - L1 Else CD = L1 - L0; If L1 >= L2 then CU = CU + L1 - L2 Else CD = CD + L2 - L1; If L2 >= L3 then CU = CU + L2 - L3 Else CD = CD + L3 - L2; If CU + CD <> 0 then LaguerreRSI = CU / (CU + CD); } 즐거운 하루되세요 > 오전만트레이딩 님이 쓴 글입니다. > 제목 : 수식 부탁드립니다. > inputs: gam( numericseries ); variables: L0(0), L1(0), L2(0), L3(0), CU(0), CD(0), LRSI(0); L0 = (1 - gam)*Close + gam*L0[1]; L1 = - gam *L0 + L0[1] + gam *L1[1]; L2 = - gam *L1 + L1[1] + gam *L2[1]; L3 = - gam *L2 + L2[1] + gam *L3[1]; CU = 0; CD = 0; If L0 >= L1 then CU = L0 - L1 Else CD = L1 - L0; If L1 >= L2 then CU = CU + L1 - L2 Else CD = CD + L2 - L1; If L2 >= L3 then CU = CU + L2 - L3 Else CD = CD + L3 - L2; If CU + CD <> 0 then LaguerreRSI = CU / (CU + CD); EasyLanguage로 수식은 위와 같습니다. 실제로 예스스탁에 바로 넣어도 에러도 없고 직관적으로도 이해가 되는데 막상 작동을 안하네요. 수정부탁드립니다.