It is controlled through one single input – the band edge – which basically is frequency. The smaller it is set, the less lag there is, but you may see lot of whipsaws. Built-in automatic gain control normalizes the output to vary between the range of -1 to +1.
Mr. suggests a straightforward system:
- Buy when long-term Universal Oscillator crosses above zero
- Sell when long-term Universal Oscillator crosses below zero
I have added options to draw a signal line, histogram and bar coloring. Bar coloring, if enabled, is done using the histogram color, but you can change it easily to signal_cross by uncommenting a line (check the source).
Whiter is Brighter -
List of my other indicators:
- GDoc: https://docs.google.com/document/d/15AGC...
진정한 TradingView의 정신에 따라, 이 스크립트의 작성자는 스크립트를 오픈소스로 게시했기에 거래자들이 이해하고 확인할 수 있습니다. 작가님께 건배! 스크립트를 무료로 사용할 수 있지만, 게시물에서 이 코드를 재사용하는 것은 하우스룰을 따릅니다. 당신은 스크립트를 차트에 사용하기 위해 그것을 즐겨찾기 할 수 있습니다.
// // @author LazyBear // List of all my indicators: // https://docs.google.com/document/d/15AGCufJZ8CIUvwFJ9W-IKns88gkWOKBCvByMEvm5MLo/edit?usp=sharing // study("Universal Oscillator [LazyBear]", shorttitle="UNIOSC_LB") bandedge= input(20, title="BandEdge") showHisto=input(true, type=bool, title="Show Histogram?") showMA=input(false, type=bool, title="Show Signal?") lengthMA=input(9, title="EMA signal length") enableBarColors=input(false, title="Color Bars?") whitenoise= (close - close)/2 a1= exp(-1.414 * 3.14159 / bandedge) b1= 2.0*a1 * cos(1.414*180 /bandedge) c2= b1 c3= -a1 * a1 c1= 1 - c2 - c3 filt= c1 * (whitenoise + nz(whitenoise))/2 + c2*nz(filt) + c3*nz(filt) filt1= iff(cum(1) == 0, 0, iff(cum(1) == 2, c2*nz(filt1), iff(cum(1) == 3, c2*nz(filt1) + c3*nz(filt1), filt))) pk= iff(cum(1) == 2, .0000001, iff(abs(filt1) > nz(pk), abs(filt1), 0.991 * nz(pk))) denom= iff(pk==0, -1, pk) euo=iff(denom == -1, nz(euo), filt1/pk) euoMA=ema(euo, lengthMA) hline(0) plot(showHisto ?euo:na, style=histogram, color=euo>0?green:red, title="Histogram") plot(euo, color=maroon, linewidth=2, title="EUO") plot(showMA?euoMA:na, color=teal, title="Signal", linewidth=1) barcolor(enableBarColors?euo>0?green:red:na) //Use this if signal cross should be used for barcoloring. //barcolor(enableBarColors?(euo>euoMA ? green : red):na)
I find Ehlers Universal Oscillator useful but the signals are short term unless a user can identify an overall trend. Here I offer a chart with several notations to help assist users. Please see chart notations. Not all "signals" or signs are noted. Focus on how I use the Zscore trend to filter trend, then use the UNIOSC_LB for trading purposes. Tradres could either scalps by enter/exit with each cross of UNIOSC signal or scale in for position trades.
Of note: when overlapping indicators which I happen to do often, please check your Indicators "Properties" toggle for scaling as this is very necessary for proper indicator presentation. The default location for TV indicators is to scale on the right, when you attempt to overlap another indicator TV assumes you want the second indicator scale to be on the left so you may see the indicator readings. Please change the "scale left" on the second indicator to "scale right" so both indicators may align their respective Zero Lines together. Otherwise you with have improper readings. Now of course, not all indicators are scaled/measured in the same manner, indicator scales have to compliment one another. Hence my choosing Zscore which goes from Zero to a determined standard deviation of 2.0 in this instance set by me. And the UNIOSC_LB scales from Zero as well and within the Zscore readings up to 2.0. So for example, users cant put a WPR% with negative readings 0 to negative 100 on a scale of RSI as that reads in the oppostive manner 0 to 100. Just something to think about as screen real estate is important to some Charters.