MTF 기능을 쓰려면?

MTF 기능은 인풋에서 레졸루션 드롭다운을 써서 단 두번 클릭으로 인디케이터의 타임프레임을 바꿀 수 있도록 해 주는 피처입니다.

파인에서도 빌트인 인디케이터를 쓸 때와 똑같이 레졸루션 파라미터를 쓸 수 있습니다. 간단히 스크립트의 스터디 선언에 레졸루션 파라미터를 넣음으로써 스크립트에 MTF 기능을 쉽게 넣을 수 있게 되어 유저가 바라는 타임프레임으로 인디케이터를 걸 수 있게 되었습니다.

레졸루션 파라미터를 쓰면 스크립트의 인풋에 레졸루션 인풋 필드가 저절로 들어가게 됩니다. 레졸루션 파라미터 디폴트값은 유효한 스트링이면 됩니다. 하지만 그 스트링이 필드 드롭다운 메뉴에 없는 거라면 그 필드에 "심볼과 같음" 이 디폴트 밸류로 나옵니다. 빈 스트링 ("") 을 넣으면 그 차트의 레졸루션을 가져다 쓰게 됩니다. 

보기로, 5분 차트에 1날 레졸루션의 무빙 애버리지를 넣고 싶을 때, 예전에는 아래와 같이 security 펑크션을 써서 할 수 있었습니다:

 

//@version=4study(title="Moving Average", shorttitle="MA with security", overlay=true)len = input(9, minval=1, title="Length")src = input(close, title="Source")out = sma(src, len)res = input(title="Resolution", type=input.resolution, defval="1D")s1 = security(syminfo.tickerid, res, out, gaps=true)plot(s1, color=color.red)
Java

하지만 이제는간단히 아래 보기와 같이  study 콜에 resolution="D" 만 넣으면 됩니다:

//@version=4study(title="Moving Average", shorttitle="MA with resolution", overlay=true, resolution="D")len = input(9, minval=1, title="Length")src = input(close, title="Source")offset = input(title="Offset", type=input.integer, defval=0, minval=-500, maxval=500)out = sma(src, len)plot(out, color=color.blue, title="MA", offset=offset)
Java

레졸루션 파라미터를 쓰면 비교적 심플한 스크립트에 MTF 기능을 쉽게 넣을 수 있습니다.  더 높은 타임프레임 인포메이션을 써야 하는 파인 스크립트는 여전히 security 를 필요로 합니다.

timeframe.*  값은 스트립트 인풋에 나오는 레졸루션 필드의 값으로 정해진대로 그 스크립트가 돌아가고 있는 레졸루션을 나타냅니다.  이는 차트 레졸루션과는 무관합니다. 그리고 레졸루션 파라미터를 스크립트에 쓰게 되면 타임 프레임이 높을수록 갭이 생기므로 timeframe.* 는 타임이 옮겨갈 때 n/a 가 나오게 됩니다. 이러한 현상에 대한 자세한 것은 당사 헬프 센터에서 알아 보십시오.