커뮤니티
재문의 드립니다.
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 구매 후 바로 다음날 시가 매도 됩니다.??
지표와 사용자 함수가 계속 일치하지 않는 것 같은데.. 확인 부탁드립니다.
- 1. ScreenHunter_04 Sep. 14 01.23.gif (0.01 MB)
- 2. ScreenHunter_05 Sep. 14 01.24.gif (0.00 MB)
- 3. ScreenHunter_06 Sep. 14 01.25.gif (0.03 MB)
- 4. ScreenHunter_07 Sep. 14 01.28.gif (0.01 MB)
답변 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 구매 후 바로 다음날 시가 매도 됩니다.??
지표와 사용자 함수가 계속 일치하지 않는 것 같은데.. 확인 부탁드립니다.
다음글
이전글