커뮤니티

재문의 드립니다.

프로필 이미지
돼끼
2012-09-14 01:30:42
502
글번호 54690
답변완료

첨부 이미지

일전에 RVI 관련 지표와 사용자함수가 달라 문의드린적이 있습니다. ▷ RVI 지표 에 맞추기 위해 Input: Length(14); Var: Stdval(0),DnStd(0), UpStd(0), DownStd(0),RVIval(0); Stdval = Std(Close, 10); DnStd = ma( Iff(Close<=Close[1], Stdval,0),Length); UpStd = ma( Iff(Close > Close[1], Stdval, 0), Length); DownStd = ma( Iff(Close< Close[1], Stdval,0), Length); If DnStd == 0 Then RVIval = 100; Else RVIval = 100 -(100/ (1 +(UpStd/DownStd))); Plot1(RVIval, "Relative Volatility Index"); PlotBaseLine1(60); PlotBaseLine2(50); PlotBaseLine3(40); ▷ 사용자함수를 요렇게 바꿔 보라고 하셔서 지표쪽의 계산식을 사용하고자 하시면 RVI함수의 내용을 아래 내용으로 교체하시기 바랍니다. input : N(numeric); RVI = iff(ma(iff(c<=c[1],Std(c,10),0),n)==0,100,(100-(100/(1+((ma(iff(c>c[1],Std(c,10),0),n) /avg(iff(c<c[1],Std(c,10),0),n))))))); ※ 그림1 과 그림2 를 보시면 시스템 입력은 RVI 14 가 28 이 넘었을때 다음날 시가 매도 이며 첨부파일을 보시면 2012/4/30 (구매날짜) 삼영홀딩스 RVI 14 가 12.98 입니다. 그런데 4/30 구매 후 바로 다음날 시가 매도 됩니다.?? 지표와 사용자 함수가 계속 일치하지 않는 것 같은데.. 확인 부탁드립니다.
시스템
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2012-09-14 15:07:59

안녕하세요? 예스스탁입니다. 사용자함수는 RIV로 작성되었는데, 시스템식에서는 RVIval 로 작성되어 다른 사용자함수가 적용되는 것 같습니다. 아래와 같이 지표식을 수정하여 사용해 보시기 바랍니다. Input: Length(14); Var: Stdval(0),DnStd(0), UpStd(0), DownStd(0); Stdval = Std(Close, 10); DnStd = ma( Iff(Close<=Close[1], Stdval,0),Length); UpStd = ma( Iff(Close > Close[1], Stdval, 0), Length); DownStd = ma( Iff(Close< Close[1], Stdval,0), Length); If DnStd == 0 Then RVI = 100; Else RVI = 100 -(100/ (1 +(UpStd/DownStd))); Plot1(RVI, "Relative Volatility Index"); PlotBaseLine1(60); PlotBaseLine2(50); PlotBaseLine3(40); > 돼끼 님이 쓴 글입니다. > 제목 : 재문의 드립니다. > 일전에 RVI 관련 지표와 사용자함수가 달라 문의드린적이 있습니다. ▷ RVI 지표 에 맞추기 위해 Input: Length(14); Var: Stdval(0),DnStd(0), UpStd(0), DownStd(0),RVIval(0); Stdval = Std(Close, 10); DnStd = ma( Iff(Close<=Close[1], Stdval,0),Length); UpStd = ma( Iff(Close > Close[1], Stdval, 0), Length); DownStd = ma( Iff(Close< Close[1], Stdval,0), Length); If DnStd == 0 Then RVIval = 100; Else RVIval = 100 -(100/ (1 +(UpStd/DownStd))); Plot1(RVIval, "Relative Volatility Index"); PlotBaseLine1(60); PlotBaseLine2(50); PlotBaseLine3(40); ▷ 사용자함수를 요렇게 바꿔 보라고 하셔서 지표쪽의 계산식을 사용하고자 하시면 RVI함수의 내용을 아래 내용으로 교체하시기 바랍니다. input : N(numeric); RVI = iff(ma(iff(c<=c[1],Std(c,10),0),n)==0,100,(100-(100/(1+((ma(iff(c>c[1],Std(c,10),0),n) /avg(iff(c<c[1],Std(c,10),0),n))))))); ※ 그림1 과 그림2 를 보시면 시스템 입력은 RVI 14 가 28 이 넘었을때 다음날 시가 매도 이며 첨부파일을 보시면 2012/4/30 (구매날짜) 삼영홀딩스 RVI 14 가 12.98 입니다. 그런데 4/30 구매 후 바로 다음날 시가 매도 됩니다.?? 지표와 사용자 함수가 계속 일치하지 않는 것 같은데.. 확인 부탁드립니다.
프로필 이미지

돼끼

2012-09-16 13:14:37

아래와 같이 RVI 로 변경하여도 시뮬레이션 적용 시 원하는 값이 나오지 않습니다. (지표 와 사용자 함수 값 불일치 한듯) 현재 지표 값은 제가 원하는 값입니다. → 지표에 맞추기 위한 사용자함수가 어떻게 변경되어야 하는지를 알고싶습니다~ 지표 / 사용자함수 에 대한 시스템 적용 된 항목 과 날짜에 대하여 적혀있으니 현재 : 삼영홀딩스(004920) 이 4/30 구매되어 5/2 판매 (12.98 > 28) X 원하는값 : 삼영홀딩스(004920) 이 4/30 구매되어 5/7 판매 (31.35 > 28) O 일치하기 위한 사용자함수가 무엇인지 확인 부탁드립니다. 지표 Input: Length(14); Var: Stdval(0),DnStd(0), UpStd(0), DownStd(0), RVI(0); Stdval = Std(Close, 10); DnStd = ma( Iff(Close<=Close[1], Stdval,0),Length); UpStd = ma( Iff(Close > Close[1], Stdval, 0), Length); DownStd = ma( Iff(Close< Close[1], Stdval,0), Length); If DnStd == 0 Then RVI = 100; Else RVI = 100 -(100/ (1 +(UpStd/DownStd))); Plot1(RVI, "Relative Volatility Index"); PlotBaseLine1(60); PlotBaseLine2(50); PlotBaseLine3(40); 사용자함수 input : N(numeric); RVI = iff(ma(iff(c<=c[1],Std(c,10),0),n)==0,100,(100-(100/(1+((ma(iff(c>c[1],Std(c,10),0),n) /avg(iff(c<c[1],Std(c,10),0),n))))))); 시스템식 input:r1(14); input:e1(5),e2(20),e3(30); var1=RVI(r1); Var2=EnvelopeDown(e1,e1); Var3=EnvelopeDown(e2,e2); Var4=EnvelopeDown(e3,e3); Var5=ma(c,5); if var1 < 25 and Var4 > C and VAR5 < VAR3 AND VAR2 > VAR4 AND VAR5 > VAR4 Then { buy("구매",AtMarket); } if Var1 > 28 Then { ExitLong("판매",AtMarket); } > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 재문의 드립니다. > 안녕하세요? 예스스탁입니다. 사용자함수는 RIV로 작성되었는데, 시스템식에서는 RVIval 로 작성되어 다른 사용자함수가 적용되는 것 같습니다. 아래와 같이 지표식을 수정하여 사용해 보시기 바랍니다. Input: Length(14); Var: Stdval(0),DnStd(0), UpStd(0), DownStd(0); Stdval = Std(Close, 10); DnStd = ma( Iff(Close<=Close[1], Stdval,0),Length); UpStd = ma( Iff(Close > Close[1], Stdval, 0), Length); DownStd = ma( Iff(Close< Close[1], Stdval,0), Length); If DnStd == 0 Then RVI = 100; Else RVI = 100 -(100/ (1 +(UpStd/DownStd))); Plot1(RVI, "Relative Volatility Index"); PlotBaseLine1(60); PlotBaseLine2(50); PlotBaseLine3(40); > 돼끼 님이 쓴 글입니다. > 제목 : 재문의 드립니다. > 일전에 RVI 관련 지표와 사용자함수가 달라 문의드린적이 있습니다. ▷ RVI 지표 에 맞추기 위해 Input: Length(14); Var: Stdval(0),DnStd(0), UpStd(0), DownStd(0),RVIval(0); Stdval = Std(Close, 10); DnStd = ma( Iff(Close<=Close[1], Stdval,0),Length); UpStd = ma( Iff(Close > Close[1], Stdval, 0), Length); DownStd = ma( Iff(Close< Close[1], Stdval,0), Length); If DnStd == 0 Then RVIval = 100; Else RVIval = 100 -(100/ (1 +(UpStd/DownStd))); Plot1(RVIval, "Relative Volatility Index"); PlotBaseLine1(60); PlotBaseLine2(50); PlotBaseLine3(40); ▷ 사용자함수를 요렇게 바꿔 보라고 하셔서 지표쪽의 계산식을 사용하고자 하시면 RVI함수의 내용을 아래 내용으로 교체하시기 바랍니다. input : N(numeric); RVI = iff(ma(iff(c<=c[1],Std(c,10),0),n)==0,100,(100-(100/(1+((ma(iff(c>c[1],Std(c,10),0),n) /avg(iff(c<c[1],Std(c,10),0),n))))))); ※ 그림1 과 그림2 를 보시면 시스템 입력은 RVI 14 가 28 이 넘었을때 다음날 시가 매도 이며 첨부파일을 보시면 2012/4/30 (구매날짜) 삼영홀딩스 RVI 14 가 12.98 입니다. 그런데 4/30 구매 후 바로 다음날 시가 매도 됩니다.?? 지표와 사용자 함수가 계속 일치하지 않는 것 같은데.. 확인 부탁드립니다.