예스스탁
예스스탁 답변
2024-02-20 09:24:30
안녕하세요
예스스탁입니다.
1
Inertia값이 40을 돌파하는 내용은 아래와 같습니다.
Input: Period(10), Period1(14);
Var: RVIv(0), InertiaV(0), 평균(0), 분산(0), Count(0), 표준편차(0);
평균 = ma(C, Period);
분산 = 0;
For Count = 0 To Period - 1
{
분산 = 분산 + (C[Count] - 평균)^2 ;
}
표준편차 = Sqrt(분산 / Period);
RVIv = iff(ma(iff(c<=c[1],표준편차,0),Period1)==0,100,
(
100-(100/(1+
(
(ma(iff(c>c[1],표준편차,0),Period1)
/
ma(iff(c<c[1],표준편차,0),Period1))
))))
);
InertiaV= LRL(RVIv,Period1);
if CrossUp(InertiaV, 40) Then
Find(1);
2
ma(C,20)은 종가 20단산이동평균입니다
Inertia와 주가는 Y축 범위가 다르므로 서로 크로스가 발생하지 못합니다.
만약 의도하신 내용이 Inertia와 Inertia를 이동평균한 시그널선과의 교차이면 아래식 이용하시면 됩니다.
시그널선이 포함된 지표와 종목검색 2개 올려드립니다.
2-1 지표
Input: Period(10), Period1(14),signal(20);
Var: RVIv(0), InertiaV(0), 평균(0), 분산(0), Count(0), 표준편차(0),InertiaS(0);
평균 = ma(C, Period);
분산 = 0;
For Count = 0 To Period - 1
{
분산 = 분산 + (C[Count] - 평균)^2 ;
}
표준편차 = Sqrt(분산 / Period);
RVIv = iff(ma(iff(c<=c[1],표준편차,0),Period1)==0,100,
(
100-(100/(1+
(
(ma(iff(c>c[1],표준편차,0),Period1)
/
ma(iff(c<c[1],표준편차,0),Period1))
))))
);
InertiaV = LRL(RVIv,Period1);
InertiaS = ma(InertiaV,signal);
Plot1(InertiaV,"Inertia");
Plot2(InertiaS,"Inertia signal");
2-2 종목검색
Input: Period(10), Period1(14),signal(20);
Var: RVIv(0), InertiaV(0), 평균(0), 분산(0), Count(0), 표준편차(0),InertiaS(0);
평균 = ma(C, Period);
분산 = 0;
For Count = 0 To Period - 1
{
분산 = 분산 + (C[Count] - 평균)^2 ;
}
표준편차 = Sqrt(분산 / Period);
RVIv = iff(ma(iff(c<=c[1],표준편차,0),Period1)==0,100,
(
100-(100/(1+
(
(ma(iff(c>c[1],표준편차,0),Period1)
/
ma(iff(c<c[1],표준편차,0),Period1))
))))
);
InertiaV = LRL(RVIv,Period1);
InertiaS = ma(InertiaV,signal);
if CrossUp(InertiaV, InertiaS) Then
Find(1);
즐거운 하루되세요
> 백련산힐스 님이 쓴 글입니다.
> 제목 : 월봉 차트의 지표에서 종목 검색
> 안녕하세요?
타 증권사의 Inertia라는 지표를 활용하여 InertiaV수식을 만들고
동 지표를 월봉차트에 띄워서 InertiaV값이 40을 상향돌파하는 종목을 검색하려고
하는데 도무지 방법이 생각나질 않습니다.
작성한 수식은 다음과 같습니다.
Input: Period(10), Period1(14);
Var: RVIv(0), InertiaV(0), 평균(0), 분산(0), Count(0), 표준편차(0);
평균 = ma(C, Period);
분산 = 0;
For Count = 0 To Period - 1 {
분산 = 분산 + (C[Count] - 평균)^2 ;
}
표준편차 = Sqrt(분산 / Period);
RVIv = iff(ma(iff(c<=c[1],표준편차,0),Period1)==0,100,
(
100-(100/(1+
(
(ma(iff(c>c[1],표준편차,0),Period1)
/
ma(iff(c<c[1],표준편차,0),Period1))
))))
);
InertiaV= LRL(RVIv,Period1);
if CrossUp(InertiaV, Ma(C,20)) Then //이곳에 Ma(C,20)를 넣는 것이 아닌것 같습니다.
Find(1);
고견을 주시면 감사하겠습니다.