함수설명
UltimateOsc(Ultimate Oscillator) 지표함수
작성방법
UltimateOsc(기간1, 기간2, 기간3)
C
복사
매개변수 설명
•
"기간1": Numeric, 최근 N개봉 기간값을 입력
•
"기간2": Numeric, 최근 N개봉 기간값을 입력
•
"기간3": Numeric, 최근 N개봉 기간값을 입력
계산
SumTR1 = TrueRange의 기간1 합산
SumTR2 = TrueRange의 기간2 합산
SumTR3 = TrueRange의 기간3 합산
Diff = 종가 - TrueLow
SumDiff1 = Diff의 기간1 합산
SumDiff2 = Diff의 기간2 합산
SumDiff3 = Diff의 기간3 합산
Diff1 = (SumDiff1 / SumTR1) * 4
Diff2 = (SumDiff2 / SumTR2) * 2
Diff3 = (SumDiff3 / SumTR3)
UltimateOsc = (Diff1 + Diff2 + Diff3) / 7
활용예시
//인라인함수(수식안에서 만들어 사용하는 함수)
Function infx_UltimateOsc Numeric
{
Input : Avg1(Numeric), Avg2(Numeric), Avg3(Numeric);
Var : SumDiff1(0), SumDiff2(0), SumDiff3(0);
var : SumTR1(0), SumTR2(0), SumTR3(0);
var : Diff1(0), Diff2(0), Diff3(0), Diff(0);
SumTR1 = ACCUMN(TrueRange(), Avg1);
SumTR2 = ACCUMN(TrueRange(), Avg2);
SumTR3 = ACCUMN(TrueRange(), Avg3);
Diff = Close - TrueLow();
If Min(SumTR1, SumTR2, SumTR3) == 0 Then
infx_UltimateOsc = 0 ;
Else If SumTR1 <> 0 AND SumTR2 <> 0 AND SumTR3 <> 0 Then
{
SumDiff1 = ACCUMN(Diff, Avg1);
SumDiff2 = ACCUMN(Diff, Avg2);
SumDiff3 = ACCUMN(Diff, Avg3);
Diff1 = (SumDiff1 / SumTR1) * 4;
Diff2 = (SumDiff2 / SumTR2) * 2;
Diff3 = (SumDiff3 / SumTR3);
infx_UltimateOsc = 100*(Diff1 + Diff2 + Diff3) / 7;
}
}
EndFunction
INPUT: AVG1LEN(7), AVG2LEN(14), AVG3LEN(28);
var: UOSC(0);
UOSC = infx_UltimateOsc(AVG1LEN, AVG2LEN, AVG3LEN);
PLOT1(UOSC,"ULTOSC");
C
복사
뒤로가기는 좌측상단의 목차 버튼을 눌러주세요.