#공통, 지표
[설명]
파라볼릭
최근 N개의 상승구간의 고점과
최근 N개의 하락구간의 저점을 그리는 지표식입니다.
Input : af(0.02), maxAF(0.2), N(3);
Var : parabolic(0),cnt(0), t(0), hh(0), ll(0);
// 상/하 트렌드라인 ID 저장 배열
Array : htl[10](0), ltl[10](0);
// Parabolic SAR 계산
parabolic = SAR(af, maxAF);
Plot1(parabolic, "SAR",IFf(C>parabolic,Red,Blue));
// 종가가 SAR를 상향 돌파하면(상승 전환)
If CrossUp(Close, parabolic) Then
Begin
t = 1; // 상승 상태로 전환
hh = High; // 현재봉 고가로 초기 최고값 초기화
// 기존 고점추세선 아이디는 1칸씩 뒤로 밀기
For cnt = 9 DownTo 1
Begin
htl[cnt] = htl[cnt-1];
End
// 수평 라인 생성: 시작/종료 값을 모두 hh로 설정해 수평선으로 만듦
htl[0] = TL_New(sDate, sTime, hh, NextBarSdate, NextBarStime, hh);
TL_SetColor(htl[0], Red);
TL_SetExtRight(htl[0], True);
//새로운 고점라인을 그렸으므로
//최근 N번전 고점라인은 삭제
TL_Delete(htl[N]);
End
// 종가가 SAR를 하향 돌파하면(하락 전환)
If CrossDown(Close, parabolic) Then
Begin
t = -1; // 하락 상태로 전환
ll = Low; // 현재봉 저가로 초기 최저값 초기화
// 기존 저점추세선 아이디는 1칸씩 뒤로 밀기
For cnt = 9 DownTo 1
Begin
ltl[cnt] = ltl[cnt-1];
End
// 수평 라인 생성: 시작/종료 값을 모두 ll로 설정해 수평선으로 만듦
ltl[0] = TL_New(sDate, sTime, ll, NextBarSdate, NextBarStime, ll);
TL_SetColor(ltl[0], Blue);
TL_SetExtRight(ltl[0], True);
//새로운 저점라인을 그렸으므로
//최근 N번전 저점라인은 삭제
TL_Delete(ltl[N]);
End
// 상승 진행중일 때
If t == 1 Then
Begin
//현재봉의 고가가 갱신되면 상단 라인 갱신
If High > hh Then
Begin
hh = High;
//고점추세선은 시작점을 현재봉으로 이동
TL_SetBegin(htl[0], sDate, sTime, hh);
//고점추세선은 끝점을 다음봉으로 이동
TL_SetEnd(htl[0], NextBarSdate, NextBarStime, hh);
End
End
// 하락 진행중일 때
If t == -1 Then
Begin
//현재봉의 저가가 갱신되면 하단 라인 갱신
If Low < ll Then
Begin
ll = Low;
//저점추세선은 시작점을 현재봉으로 이동
TL_SetBegin(ltl[0], sDate, sTime, ll);
//고점추세선은 끝점을 다음봉으로 이동
TL_SetEnd(ltl[0], NextBarSdate, NextBarStime, ll);
End
End
JavaScript
복사
