저자: traderak20 (iUniMA.mq5 기반)
iUniMA 다중 시간대(MTF) 지표는 사용자가 다양한 종류의 이동 평균(SMA, EMA, SMMA, LWMA, AMA, DEMA, TEMA, FRAMA, VIDYA)을 선택할 수 있게 해줍니다. 이 지표는 현재 차트의 시간대보다 높은 혹은 낮은 시간대에도 적용 가능합니다.
기존의 iUniMA 지표에 비해 추가된 설정은 계산에 사용되는 두 번째 시간대입니다. 현재 차트의 시간대보다 낮은 시간대에 지표를 적용할 경우 모든 값을 표시할 수는 없습니다. 이 경우, 선택한 가격 유형에 따라 적절한 값을 제공하기 위해 다른 접근 방식을 사용합니다.
두 가지 예시:
- 시간대_1=5분, 시간대_2=1분, Close 가격 시리즈 기반 계산:
시간대_1의 모든 바에 대해, 지표는 시간대_2에서 Close 시간 이전 또는 동일한 Close 시간을 가진 최신 바를 표시합니다. 이 경우, 종료된 바와 현재 열려 있는 바 모두 적용됩니다.
- 시간대_1=5분, 시간대_2=1분, Open 가격 시리즈 기반 계산:
시간대_1의 모든 바에 대해, 지표는 시간대_2에서 Open 시간 이전 또는 동일한 Open 시간을 가진 최신 바를 보여줍니다. 이 경우도 종료된 바와 현재 열려 있는 바 모두 적용됩니다. 여기서의 논리는 만약 바의 Open 시간으로 지표를 계산하려면 아마도 새 바가 열릴 때 거래할 것이기 때문입니다. 이 경우, 새 5분 바의 Open 시점에는 해당 바의 일부인 첫 번째 1분 바의 Open 만 알 수 있습니다. 두 번째에서 다섯 번째 1분 바의 Open은 계산에서 무시됩니다.
어떤 시간대와 어떤 시간대도 혼합할 수 있으며, 비동기적으로 설정할 수 있습니다. 예를 들어, 시간대_1 = 5분, 시간대_2 = 12분과 같이 설정할 수 있습니다. 지표는 이들이 동기화될 수 있도록 합니다. 작동 방식은 위의 예시와 유사합니다.
더 시각적인 설명을 원하신다면 MACD 히스토그램 MTF MC 지표를 참고해 보세요.
시간대를 전환할 때는 가격 데이터가 로드되는 데 몇 초의 시간이 필요합니다. 지표가 표시되지 않는 경우, 차트를 수동으로 새로 고침하세요.
오류 메시지를 켜고 끄려면 소스에서 확인하세요:
bool ShowErrorMessages=false; // 디버깅을 위한 오류 메시지 켜기/끄기

업데이트 내역:
2010 09 26: v03
- 차트의 시간대보다 작은 시간대에서 값 표시 개선;
- if(convertedTime<tempTimeArray_TF2[0]); 이후 EMPTY_VALUE로 버퍼 설정;
- 코드 최적화;
- OnInit()에서 PLOT_DRAW_BEGIN 제거;
- 버퍼 및 배열의 ArraySetAsSeries를 OnInit()으로 이동;
2010 08 28: v02
- 지표 최초 공개;