Welcome to the new Traders Laboratory! Please bear with us as we finish the migration over the next few days. If you find any issues, want to leave feedback, get in touch with us, or offer suggestions please post to the Support forum here.

Welcome Guests
Welcome. You are currently viewing the forum as a guest which does not give you access to all the great features at Traders Laboratory such as interacting with members, access to all forums, downloading attachments, and eligibility to win free giveaways. Registration is fast, simple and absolutely free. Create a FREE Traders Laboratory account here.
Search the Community
Showing results for tags 'oscillator'.
Found 11 results

Coppock Curve The Coppock curve, created by E.S.C. Coppock, is a technical analysis indicator for longterm stock market investors. It was first published in Barron's Magazine on October 15, 1962. The indicator is designed for use on a monthly time scale. It's the sum of a 14month rate of change and 11month rate of change, smoothed by a 10period weighted moving average. Coppock, the founder of Trendex Research in San Antonio, Texas, was an economist. He had been asked by the Episcopal Church to identify buying opportunities for longterm investors. He thought market downturns were like bereavements and required a period of mourning. He asked the church bishops how long that normally took for people, their answer was 11 to 14 months and so he used those periods in his calculation. A buy signal is generated when the indicator is below zero and turns upwards from a trough. No sell signals are generated (that not being its design). The indicator is trendfollowing, and based on averages, so by its nature it doesn't pick a market bottom, but rather shows when a rally has become established. Coppock designed the indicator (originally called the "Trendex Model") for the S&P 500 index, and it's been applied to similar stock indexes like the Dow Jones Industrial Average. It's not regarded as wellsuited to commodity markets, since bottoms there are more rounded than the spike lows found in stocks. source: Wikipedia This indicator may be displayed as a curve, or as a histogram The color.mode setting is 0 for histogram, 1 for curve A delta line (Diff) is added for faster fractal analysis. (daily or intraday) note: This EasyLanguage indicator was written in MultiCharts. I have not tested it in TradeStation or other compatible programs. Please refer to your users manual for importation instructions. TL_Coppock.pla TL_Coppock_Curve.txt
 6 replies

 momentum
 moving average

(and 3 more)
Tagged with:

MAMA Combo This is one of my earlier inventions. Maybe "invention" is not the precise word to describe this, it is more like a concoction... because I did not "invent" the indicators, I merely combined them together in one presentation. This indicator should be called MAMACD Combo, but I thought MAMA Combo sounds more catchy. ;) This is a basic run of the mill MACD indicator, with a Fast Moving Average overlaid on top. I have created an oscillating black and white panel in the background; when the MACD value crosses below the MACD average, the panel will turn black, and white in the reverse direction. (you can adjust the panel height with BG.height in Study Format) The Fast Moving Average is the Red Light / Green Light indicator. It serves as an early warning to impending moves. You can see the code and description here: http://www.traderslaboratory.com/forums/f46/redlightgreenlight5848.html#post63641 This indicator works best in a fast fractal chart. eg. 2 minutes ES. Let me know if you have questions or suggestions. Enjoy! MAMA_Combo.txt
 8 replies

 easylanguage
 macd

(and 2 more)
Tagged with:

DeMark Oscillator DeMark_Oscillator_(MultiCharts).pla DeMark_Oscillator.txt
 3 replies

 demark
 divergence

(and 2 more)
Tagged with:

In this article we will discuss about a widespread, wellknown key element of technical analysis. Why do you think technical analysis especially some elements work so well for financial markets?Why do you think Fibonacci levels are usually strictly followed?Because thousands and billions of traders and computer programs for trading use these elements. This way everybody acts the same at the same time… This is why we decided to present in the category of technical analysis, the most used and wellknown methods of predicting financial evolution. These methods are easy to understand and are very efficient. We will discuss about the Stochastic Oscillator. We will find out what the Stochastic Oscillator is and how it is calculated. We will use it in our charts and we will see how it acts. We will discover how useful the Stochastic Oscillator is and, at the end, we will draw the conclusions. We will use the Stochastic Oscillator daily in our analyzing and trading system. 1. What is the “Stochastic Oscillator”? The stochastic oscillator is a momentum indicator used in technical analysis, introduced by George Lane in the 1950s, to compare the closing price of a commodity to its price range over a given time span. Closing levels that are consistently near the top of the range indicate accumulation (buying pressure) and those near the bottom of the range indicate distribution (selling pressure). The idea behind this indicator is that prices tend to close near their past highs in bull markets, and near their lows in bear markets. Transaction signals can be spotted when the stochastic oscillator crosses its moving average. Two stochastic oscillator indicators are typically calculated to assess future variations in prices, a fast (%K) and slow (%D). Comparisons of these statistics are a good indicator of speed at which prices are changing or the Impulse of Price. %K is the same as Williams’s %R, though on a scale 0 to 100 instead of 100 to 0, but the terminology for the two are kept separate. 2. How is it calculated? This is the method of calculating the stochastic oscillator, and the values for %K and %D. A 14day %K (14period StochasticOscillator) would use the most recent close, the highest high over the last 14 days and the lowest low over the last 14 days. The number of periods will vary according to the sensitivity and the type of signals desired. As with RSI, 14 is a popular number of periods for calculation %K tells us that the close (115.38) was in the 57th percentile of the high/low range, or just above the midpoint. Because %K is a percentage or ratio, it will fluctuate between 0 and 100. A 3day simple moving average of %K is usually plotted alongside to act as a signal or trigger line, called %D. The %K and %D oscillators range from 0 to 100 and are often visualized using a line plot. Levels near the extremes 100 and 0, for either %K or %D, indicate strength or weakness (respectively) because prices have made or are near new Nday highs or lows. There are two well known methods for using the %K and %D indicators to make decisions about when to buy or sell stocks. The first involves crossing of %K and %D signals, the second involves basing buy and sell decisions on the assumption that %K and %D oscillate. In the first case, %D acts as a trigger or signal line for %K. A buy signal is given when %K crosses up through %D, or a sell signal when it crosses down through %D.Such crossovers can occur too often, and to avoid repeated whipsaws one can wait for crossovers occurring together with an overbought/oversold pullback, or only after a peak or trough in the %D line. If price volatility is high, a simple moving average of the Stoch %D indicator may be taken. This statistic smoothes out rapid fluctuations in price. In the second case, some analysts argue that %K or %D levels above 80 and below 20 can be interpreted as overbought or oversold. On the theory that the prices oscillate, many analysts including George Lane, recommend that buying and selling be timed to the return from these thresholds. In other words, one should buy or sell after a bit of a reversal. Practically, this means that once the price exceeds one of these thresholds, the investor should wait for prices to return through those thresholds (e.g. if the oscillator were to go above 80, the investor waits until it falls below 80 to sell). The third way that traders will use this indicator is to watch for divergences where the Stochastic trends in the opposite direction of price. As with the RSI this is an indication that the momentum in the market is waning and a reversal may be in the making. For further confirmation many traders will wait for the cross below the 80 or above the 20 line before entering a trade on divergence. The chart below illustrates an example of where a divergence in stochastics relative price forecasted a reversal in the price's direction. 3. Chart examples for Dow and emini S&P 500. In the following examples we will use as parameters other values than the standard ones. We decided to do that because our research proved that these new values are used more and numerous wellknown traders agree with them. This way the indicator has a higher precision. We will use the values of 5, 5 and 3 for %K, %D and the third parameter respectively. Here are some examples where we also used other elements of the technical analysis already explained. 1. First we have a daily chart of Dow Jones for the firs three months of 2006. On the chart we have marked minitrends lasting 12 weeks. Each trend follows the previsions given by the stochastic oscillator. During these three months there have been at least seven correct sets to be followed that could generate profit. 2. This chart presents the evolution for the period August October 2003. We can find the same setups and models. Follow closely the logic for each possible transaction. 3. The evolution of the market during June – August 2001, before the tragedy in New York: we can find nine correct sets to be trade and obtain profit. 4. Conclusions a) Correctly used and followed, the stochastic oscillator along other technical analysis and astrological analysis methods can offer complex and correct information for profitable transactions. b) Trading methods based only on the stochastic oscillator can be found and can work very well. These methods can be harmoniously correlated with other methods of financial analysis resulting in a complete and complex trading system approaching financial reality. c) We often use the stochastic oscillator amongst other various methods of analysis that we will describe later. Dharmik Team

{Adaptive CCI From the book 'Rocket Science for Traders' by John Ehlers modified with new cycle measurement method from 'Cybernetic Analysis for Stocks and Futures' mmillar, July 2004 Price  the current price  only used by the Cycle Period measurement, not by the CCI calculation Length  used by the Cycle Period measurement  John Ehlers uses alpha but I have replaced it with the more intuitive Length, where alpha=2/(Length+1) CycPart  allows you to change how much of the cycle period should be used in the CCI calculation  usually 1 } Inputs: Price((H+L)/2), Length(19), CycPart(1); Vars: oResult1(0), oResult2(0); value1=_Oscillators(18, Price, Length, CycPart, 1, 0, 1, oResult1, oResult2); Plot1(oResult1, "AdaptCCI"); _Oscillators function: {A collection of oscillators by John Ehlers by mmillar, July 2004 115 are taken from 'Cybernetic Analysis for Stocks and Futures' 1618 are taken from 'Rocket Science for Traders' and updated using a new cycle period measurement method This function calls the function '_CyclePeriod' to calculate the Dominant Cycle for use in adaptive strategies Oscillator Types 1  Cyber Cycle 2  CG Oscillator 3  Relative Vigor Index (RVI) 4  Stochastic RSI 5  Stochastic Cyber Cycle 6  Stochastic CG 7  Stochastic RVI 8  Fisher Cyber Cycle 9  Fisher CG 10  Fisher RVI 11  Adaptive Cyber Cycle 12  Adaptive CG 13  Adaptive RVI 14  Sinewave Indicator 15  Laguerre RSI 16  Adaptive RSI 17  Adaptive Stochastic 18  Adaptive CCI This function is called with OscType  one of the above Price  some indicators can use a price input e.g. (H+L)/2, Close etc, otherwise this can be set to 0 Length  the length or period that you wish to measure. In some instances John Ehlers uses 'alpha' as his input but I have standardised all inputs using Length and then converted, where necessary, with alpha=2/(Length+1) Length2  this is a catch all used when an additional input variable is needed (just because everything is done in one function) RSILength, StocLength, WMALength  only used by Stochastic RSI (OscType=4) oResult1, oResult2  are the results returned by the function } Inputs: OscType(Numeric), Price(Numeric), Length(Numeric), Length2(Numeric), {general inputs} RSILength(Numeric), StocLength(Numeric), WMALength(Numeric), {only used by OscType=4} oResult1(NumericRef), oResult2(NumericRef); {results to return} Vars: alpha(0), count(0), Num(0), Denom(0), Smooth(0), Cycle(0), {for OscType=1, 5, 8, 11} CG(0), {for OscType=2, 6, 9, 12} RVI(0), {for OscType=3, 7, 10, 13} MaxVal(0), MinVal(0), {for OscType=510} Period(0), {for OscType=1118} Cycle1(0), {for OscType=1118 but only used in 14} Smooth1(0), {for OscType=1118 but only used in 11} DCPeriod(0), RealPart(0), ImagPart(0), DCPhase(0), {for OscType=14} L0(0), L1(0), L2(0), L3(0), {for OscType=15} vRSI(0), CU(0), CD(0), {for OscType=15, 16} vStoch(0), HH(0), LL(0), {for OscType=17} vCCI(0), Avg(0), MD(0), MPrice(0); {for OscType=18} If ( OscType=1 ) then Begin {Cyber Cycle} alpha=2/(Length+1); Smooth=(Price+2*Price[1]+2*Price[2]+Price[3])/6; Cycle=(10.5*alpha)*(10.5*alpha)*(Smooth2*Smooth[1]+Smooth[2])+2*(1alpha)*Cycle[1](1alpha)*( 1alpha)*Cycle[2]; If currentbar<7 then Cycle=(Price2*Price[1]+Price[2])/4; oResult1=Cycle; oResult2=Cycle[1]; end else If ( OscType=2 ) then Begin {CG Oscillator} Num=0; Denom=0; For count=0 to Length1 Begin Num=Num+(1+count)*Price[count]; Denom=Denom+Price[count]; end; If Denom<>0 then CG=Num/Denom+(Length+1)/2; oResult1=CG; oResult2=CG[1]; end else If ( OscType=3 ) then Begin {Relative Vigor Index} Value1=((CloseOpen)+2*(Close[1]Open[1])+2*(Close[2]Open[2])+(Close[3]Open[3]))/6; Value2=((HighLow)+2*(High[1]Low[1])+2*(High[2]Low[2])+(High[3]Low[3]))/6; Num=0; Denom=0; For count=0 to Length1 Begin Num=Num+Value1[count]; Denom=Denom+Value2[count]; end; If Denom<>0 then RVI=Num/Denom; oResult1=RVI; oResult2=RVI[1]; end else If ( OscType=4 ) then Begin {Stochastic RSI} Value1=RSI(Close, RSILength)Lowest(RSI(Close, RSILength), StocLength); Value2=Highest(RSI(Close, RSILength), StocLength)Lowest(RSI(Close, RSILength), StocLength); If Value2<>0 then Value3=Value1/Value2; Value4=2*(WAverage(Value3, WMALength)0.5); oResult1=Value4; oResult2=Value4[1]; end else If ( OscType=5 ) then Begin {Stochastic Cyber Cycle} alpha=2/(Length+1); Smooth=(Price+2*Price[1]+2*Price[2]+Price[3])/6; Cycle=(10.5*alpha)*(10.5*alpha)*(Smooth2*Smooth[1]+Smooth[2])+2*(1alpha)*Cycle[1](1alpha)*(1alpha)*Cycle[2]; If currentbar<7 then Cycle=(Price2*Price[1]+Price[2])/4; MaxVal=Highest(Cycle, StocLength); MinVal=Lowest(Cycle, StocLength); If MaxVal<>MinVal then Value1=(CycleMinVal)/(MaxValMinVal); Value2=(4*Value1+3*Value1[1]+2*Value1[2]+Value1[3])/10; Value2=2*(Value20.5); oResult1=Value2; oResult2=0.96*(Value2[1]+0.02); end else If ( OscType=6 ) then Begin {Stochastic CG} Num=0; Denom=0; For count=0 to Length1 Begin Num=Num+(1+count)*Price[count]; Denom=Denom+Price[count]; end; If Denom<>0 then CG=Num/Denom+(Length+1)/2; MaxVal=Highest(CG, Length); MinVal=Lowest(CG, Length); If MaxVal<>MinVal then Value1=(CGMinVal)/(MaxValMinVal); Value2=(4*Value1+3*Value1[1]+2*Value1[2]+Value1[3])/10; Value2=2*(Value20.5); oResult1=Value2; oResult2=0.96*(Value2[1]+0.02); end else If ( OscType=7 ) then Begin {Stochastic RVI} Value1=((CloseOpen)+2*(Close[1]Open[1])+2*(Close[2]Open[2])+(Close[3]Open[3]))/6; Value2=((HighLow)+2*(High[1]Low[1])+2*(High[2]Low[2])+(High[3]Low[3]))/6; Num=0; Denom=0; For count=0 to Length1 Begin Num=Num+Value1[count]; Denom=Denom+Value2[count]; end; If Denom<>0 then RVI=Num/Denom; MaxVal=Highest(RVI, Length); MinVal=Lowest(RVI, Length); If MaxVal<>MinVal then Value3=(RVIMinVal)/(MaxValMinVal); Value4=(4*Value3+3*Value3[1]+2*Value3[2]+Value3[3])/10; Value4=2*(Value40.5); oResult1=Value4; oResult2=0.96*(Value4[1]+0.02); end else If ( OscType=8 ) then Begin {Fisher Cyber Cycle} alpha=2/(Length+1); Smooth=(Price+2*Price[1]+2*Price[2]+Price[3])/6; Cycle=(10.5*alpha)*(10.5*alpha)*(Smooth2*Smooth[1]+Smooth[2])+2*(1alpha)*Cycle[1](1alpha)*(1alpha)*Cycle[2]; If currentbar<7 then Cycle=(Price2*Price[1]+Price[2])/4; MaxVal=Highest(Cycle, Length2); MinVal=Lowest(Cycle, Length2); If MaxVal<>MinVal then Value1=(CycleMinVal)/(MaxValMinVal); Value2=(4*Value1+3*Value1[1]+2*Value1[2]+Value1[3])/10; Value3=0.5*Log((1+1.98*(Value20.5))/(11.98*(Value20.5))); oResult1=Value3; oResult2=Value3[1]; end else If ( OscType=9 ) then Begin {Fisher CG} Num=0; Denom=0; For count=0 to length1 Begin Num=Num+(1+count)*(Price[count]); Denom=Denom+(Price[count]); end; If Denom<>0 then CG=Num/Denom+(Length+1)/2; MaxVal=Highest(CG, Length); MinVal=Lowest(CG, Length); If MaxVal<>MinVal then Value1=(CGMinVal)/(MaxValMinVal); Value2=(4*Value1+3*Value1[1]+2*Value1[2]+Value1[3])/10; Value3=0.5*Log((1+1.98*(Value20.5))/(11.98*(Value20.5))); oResult1=Value3; oResult2=Value3[1]; end else If ( OscType=10 ) then Begin {Fisher RVI} Value1=((CloseOpen)+2*(Close[1]Open[1])+2*(Close[2]Open[2])+(Close[3]Open[3]))/6; Value2=((HighLow)+2*(High[1]Low[1])+2*(High[2]Low[2])+(High[3]Low[3]))/6; Num=0; Denom=0; For count=0 to Length1 Begin Num=Num+Value1[count]; Denom=Denom+Value2[count]; end; If Denom<>0 then RVI=Num/Denom; MaxVal=Highest(RVI, Length); MinVal=Lowest(RVI, Length); If MaxVal<>MinVal then Value3=(RVIMinVal)/(MaxValMinVal); Value4=(4*Value3+3*Value3[1]+2*Value3[2]+Value3[3])/10; Value5=0.5*Log((1+1.98*(Value40.5))/(11.98*(Value40.5))); oResult1=Value5; oResult2=Value5[1]; end else If ( OscType=11 ) then Begin {Adaptive Cyber Cycle} alpha=2/(Length+1); Period=_CyclePeriod(Price, alpha, Cycle1, Smooth1); alpha=2/(Period+1); Cycle=(10.5*alpha)*(10.5*alpha)*(Smooth12*Smooth1[1]+Smooth1[2])+2*(1alpha)*Cycle[1](1alpha)*(1alpha)*Cycle[2]; If currentbar<7 then Cycle=(Price2*Price[1]+Price[2])/4; oResult1=Cycle; oResult2=Cycle[1]; end else If ( OscType=12 ) then Begin {Adaptive CG} alpha=2/(Length+1); Period=_CyclePeriod(Price, alpha, Cycle1, Smooth1); Value1=IntPortion(Period/2); {use half the cycle period} Num=0; Denom=0; For count=0 to Value11 Begin Num=Num+(1+count)*(Price[count]); Denom=Denom+(Price[count]); end; If Denom<>0 then CG=Num/Denom+(Value1+1)/2; oResult1=CG; oResult2=CG[1]; end else If ( OscType=13 ) then Begin {Adaptive RVI} alpha=2/(Length+1); Period=_CyclePeriod(Price, alpha, Cycle1, Smooth1); Value3=IntPortion((4*Period+3*Period[1]+2*Period[3]+Period[4])/20); Value1=((CloseOpen)+2*(Close[1]Open[1])+2*(Close[2]Open[2])+(Close[3]Open[3]))/6; Value2=((HighLow)+2*(High[1]Low[1])+2*(High[2]Low[2])+(High[3]Low[3]))/6; Num=0; Denom=0; For count=0 to Value31 Begin Num=Num+Value1[count]; Denom=Denom+Value2[count]; end; If Denom<>0 then RVI=Num/Denom; oResult1=RVI; oResult2=RVI[1]; end else If ( OscType=14 ) then Begin {Sinewave Indicator} alpha=2/(Length+1); Period=_CyclePeriod(Price, alpha, Cycle1, Smooth1); DCPeriod=IntPortion(Period); RealPart=0; ImagPart=0; For count=0 to DCPeriod1 Begin RealPart=RealPart+Sine(360*count/DCPeriod)*(Cycle1[count]); ImagPart=ImagPart+Cosine(360*count/DCPeriod)*(Cycle1[count]); end; If AbsValue(ImagPart)>0.001 then DCPhase=Arctangent(RealPart/ImagPart); If AbsValue(ImagPart)<=0.001 then DCPhase=90*Sign(RealPart); DCPhase=DCPhase+90; If ImagPart<0 then DCPhase=DCPhase+180; If DCPhase>315 then DCPhase=DCPhase360; oResult1=Sine(DCPhase); oResult2=Sine(DCPhase+45); end else If ( OscType=15 ) then Begin {Laguerre RSI} L0=(1Length2)*Close+Length2*L0[1]; L1=Length2*L0+L0[1]+Length2*L1[1]; L2=Length2*L1+L1[1]+Length2*L2[1]; L3=Length2*L2+L2[1]+Length2*L3[1]; CU=0; CD=0; If L0>=L1 then CU=L0L1 else CD=L1L0; If L1>=L2 then CU=CU+L1L2 else CD=CD+L2L1; If L2>=L3 then CU=CU+L2L3 else CD=CD+L3L2; If CU+CD<>0 then vRSI=CU/(CU+CD); oResult1=vRSI; oResult2=0; end else If ( OscType=16 ) then Begin {Adaptive RSI} alpha=2/(Length+1); Period=_CyclePeriod(Price, alpha, Cycle1, Smooth1); CU=0; CD=0; For count=0 to (Period*Length2)1 Begin If Close[count]Close[count+1]>0 then CU=CU+(Close[count]Close[count+1]); If Close[count]Close[count+1]<0 then CD=CD+(Close[count+1]Close[count]); end; If CU+CD<>0 then vRSI=100*CU/(CU+CD); oResult1=vRSI; oResult2=0; end else If ( OscType=17 ) then Begin {Adaptive Stochastic} alpha=2/(Length+1); Period=_CyclePeriod(Price, alpha, Cycle1, Smooth1); HH=High; LL=Low; For count=0 to IntPortion(Period*Length2)1 Begin If High[count]>HH then HH=High[count]; If Low[count]<LL then LL=Low[count]; end; If HHLL<>0 then vStoch=(CloseLL)/(HHLL); oResult1=vStoch; oResult2=0; end else If ( OscType=18 ) then Begin {Adaptive CCI} alpha=2/(Length+1); Period=_CyclePeriod(Price, alpha, Cycle1, Smooth1); Value1=IntPortion(Period*Length2); MPrice=(High+Low+Close)/3; Avg=0; For count=0 to Value11 Begin Avg=Avg+MPrice[count]; end; If Value1<>0 then Avg=Avg/Value1; MD=0; For count=0 to Value11 Begin MD=MD+AbsValue(MPrice[count]Avg); end; If Value1<>0 then MD=MD/Value1; If MD<>0 then vCCI=(MPriceAvg)/(0.015*MD); oResult1=vCCI; oResult2=0; end; _Oscillators=1; _cycleperiod function {Cycle Period Measurement From the book 'Cybernetic Analysis for Stocks and Futures' by John Ehlers mmillar, July 2004 This function is called with Price  the current price, such as (H+L)/2 or Close alpha  the alpha (which is related to the measurement period/length) oCycle  a return variable that is needed by some indicators } Inputs: Price(numeric), alpha(numeric), oCycle(numericref), oSmooth(numericref); Vars: Smooth(0), Cycle(0), Q1(0), I1(0), DC(0), DeltaPhase(0), MedianDelta(0), InstPeriod(0), Period(0); Smooth=(Price+2*Price[1]+2*Price[2]+Price[3])/6; Cycle=(10.5*alpha)*(10.5*alpha)*(Smooth2*Smooth[1]+Smooth[2])+2*(1alpha)*Cycle[1](1alpha)*(1 alpha)*Cycle[2]; If currentbar<7 then Cycle=(Price2*Price[1]+Price[2])/4; Q1=(0.0962*Cycle+0.5769*Cycle[2]0.5769*Cycle[4]0.0962*Cycle[6])*(0.5+0.08*InstPeriod[1]); I1=Cycle[3]; If Q1<>0 and Q1[1]<>0 then DeltaPhase=(I1/Q1I1[1]/Q1[1])/(1+I1*I1[1]/(Q1*Q1[1])); If DeltaPhase<0.1 then DeltaPhase=0.1; If DeltaPhase>1.1 then DeltaPhase=1.1; MedianDelta=Median(DeltaPhase, 5); If MedianDelta=0 then DC=15 else DC=6.28318/MedianDelta+0.5; InstPeriod=0.33*DC+0.67*InstPeriod[1]; Period=0.15*InstPeriod+0.85*Period[1]; oCycle=Cycle; oSmooth=Smooth; _CyclePeriod=Period;

Tidal Wave (EasyLanguage) this indicator measures the velocity of the slow stochastic it will turn before the stoch turns it will show divergence before MACD does in the illustration, I have included the slow stochastic for your comparison. enjoy! TidalWave_beta_01.txt
 7 replies

 easylanguage
 oscillator

(and 3 more)
Tagged with:

Fisher Transform by John Ehlers The fisher transform indicator by John Ehlers is a range oscillator showing where today's price is within the past Ndays highest and lowest. It has some smoothing, plus what's known in mathematics as a fisher transform. The range position is similar to Stochastics and to Williams %R. The fisher transformation stretches out values near the Nday high and low to make large peaks so as to help highlight those extremes. The calculation is as follows: The prices used are the midpoint between the day's high and low (as in most of Ehlers' indicators). Today's price is located within the highest and lowest of those midpoints from the past N days, scaled to 1 for the low and 1 for the high. price = (high + low) / 2 price  Ndaylow raw = 2 *   1 Ndayhigh  Ndaylow This raw position is smoothed by a 5day EMA (see Exponential Moving Average) then a log form which is the fisher transform, before a final further 3day EMA smoothing. smoothed = EMA[5] of raw 1 + smoothed fisher = EMA[3] of log  1  smoothed The effect of the logarithm is to make “smoothed” values near 0 remain near there, but values near 1 and 1 grow greatly, thus highlighting extremities. A “smoothed” value of exactly +/1 would transform to +/infinity, so a clamp of 0.999 is applied, effectively limiting the final result to about +/7.5. Source: Kevin Ryde FisherTransform.txt FisherTransform_(MultiCharts).pla
 3 replies

 ehlers
 fisher transform

(and 3 more)
Tagged with:

CMI  Chande Momentum Indicator Also known as CMO  The Chande Momentum Oscillator. The Chande Momentum Indicator was created by Tushar Chande and is described in his book The New Technical Trader. The Chande Momentum Indicator is closely related to the Relative Strength Index. It differs from RSI and Stochastics by using information from both up and down days. It is similar to RSI and Stochastics that you are looking for overbought and oversold signals. The overbought level is at +50 and the oversold level at 50. These levels approximate the 70/30 levels on the Relative Strength Index. The CMI is also useful to spot trends, used in a similiar manner as the Vertical Horizontal Filter (VHF). The higher the Chande Momentum Indicator the stronger the trend. Buy when a long period CMI crosses above the short period moving average of the CMI. Sell at the converse. Chande Momentum Indicator (MultiCharts).pla

Type: Indicator Name: BWI BB Band Width Indicator: created by John Bollinger, of the Bollinger band and Bollinger Capital Management fame, as presented by John Forman in the Nov.1994 issue of "Technical Analysis of Stocks and Commodities". Idea: BWI is a measure of a tradeable's ability/tendency to trend. It is faster than an ADX, in that it will move earlier and reset itself earlier too. When the BWI is low, the volatility is low. ie. there isn't any trend. When it has a positive slope, there is a trend. I have added the following enhancements: 1. up/down colors for easy directional identification 2. option to use Exponential Average BWI_a.txt
 4 replies

 bollinger bands
 channel

(and 3 more)
Tagged with:

Here is the oscillator version of the Volume Delta created by Walterw. It shows the flow of the Volume Delta very nicely. If you like them oscillators and price divergences, this one is for you. All credits go out to Walterw for creating this indicator. Screenshot is attached. VOLUME DELTA OSC.ELD