Search
Duplicate
📝

Magic Trend 지표

#공통 지표
Magic Trend 지표는 CCI와 ATR을 결합해 만들어진 지표입니다. 시장의 추세반전 순간을 식별하고 지지/저항 수준으로 사용될 수 있습니다.
기본적으로 “직전지표값 ± ATR × 계수” 같은 형태로 라인을 이어가고 CCI 방향, 고가/저가 돌파 여부 등을 반영해서 추세전환이 판단되면 라인을 반대쪽으로 옮기고 색깔을 바꿈
가격이 지표값 이상으로 움직인다는 것은 가격이 과거 평균보다 높게 움직이고 있으므로 강세추세를 의미하고 반대로 아래에서 움직이면 하락추세를 의미합니다.
//======================== // Magic Trend Indicator //======================== // 사용자 입력값 input : period(20), // CCI 계산 기간 coeff(1), // ATR 배수 (라인을 가격에서 얼마나 떨어뜨릴지 결정) AP(5); // ATR(평균 진폭) 계산 기간 // 내부 변수 선언 var : ATRV(0), // ATR 값 저장 변수 upt(0), // 상승 방향 기준선(지지선 후보) downt(0), // 하락 방향 기준선(저항선 후보) MagicTrend(0),// 최종 Magic Trend 값 color1(0); // 라인 색상 변수 // 1. ATR 계산 (변동성 측정) ATRv = ATR(AP); // AP 기간을 사용하여 ATR(평균 진폭)을 계산 // 2. 상승/하락 기준선 계산 upT = low - ATRv * coeff; // 상승 추세 시 사용할 기준선: 저가에서 ATR*배수만큼 아래 downT = high + ATRv * coeff; // 하락 추세 시 사용할 기준선: 고가에서 ATR*배수만큼 위 // 3. MagicTrend 초기화 MagicTrend = 0.0; // 우선 0으로 초기화 // 4. MagicTrend 값 계산 로직 // - CCI가 0 이상이면 상승 모멘텀 → upT 기준 사용 // - CCI가 0 미만이면 하락 모멘텀 → downT 기준 사용 // - 직전 MagicTrend[1] 값과 비교하여, 추세가 유지되면 이전 값 유지, // 추세 전환 시에만 upT / downT로 갱신 MagicTrend = iff( cci(period) >= 0, // ────────────── 상승 구간일 때 ────────────── // upT가 이전 MagicTrend[1]보다 작으면 (가격이 더 위에 있으면) // 이전 MagicTrend[1] 값을 유지하여 추세 연장, // 아니면 새로 계산한 upT로 갱신 IFF( upT < IFF(IsNan(MagicTrend[1]) == False, MagicTrend[1], 0), IFF(IsNan(MagicTrend[1]) == False, MagicTrend[1], 0), // 이전 값 존재 시 → 이전 MagicTrend 유지 upT // 아니면 새 기준선 upT로 설정 ), // ────────────── 하락 구간일 때 ────────────── // downT가 이전 MagicTrend[1]보다 크면 (가격이 더 아래에 있으면) // 이전 MagicTrend[1] 값을 유지하여 추세 연장, // 아니면 새로 계산한 downT로 갱신 IFF( downT > IFF(IsNan(MagicTrend[1]) == False, MagicTrend[1], 0), IFF(IsNan(MagicTrend[1]) == False, MagicTrend[1], 0), // 이전 값 존재 시 → 이전 MagicTrend 유지 downT // 아니면 새 기준선 downT로 설정 ) ); // 5. 색상 설정 // - CCI >= 0 : 상승 → 빨간색(예: 매수 관점 강조) // - CCI < 0 : 하락 → 파란색 color1 = iff(cci(period) >= 0 , red, blue); // 6. 차트 출력 // - MagicTrend 값을 "MT"라는 이름으로 출력 // - color1 색상 사용, 기본 스타일(Def), 두께 3 plot1(MagicTrend, "MT", color1, Def, 3);
JavaScript
복사