Jump to content

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 'cci'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Welcome to Traders Laboratory
    • Beginners Forum
    • General Trading
    • Traders Log
    • General Discussion
    • Announcements and Support
  • The Markets
    • Market News & Analysis
    • E-mini Futures
    • Forex
    • Futures
    • Stocks
    • Options
    • Spread Betting & CFDs
  • Technical Topics
    • Technical Analysis
    • Automated Trading
    • Coding Forum
    • Swing Trading and Position Trading
    • Market Profile
    • The Wyckoff Forum
    • Volume Spread Analysis
    • The Candlestick Corner
    • Market Internals
    • Day Trading and Scalping
    • Risk & Money Management
    • Trading Psychology
  • Trading Resources
    • Trading Indicators
    • Brokers and Data Feeds
    • Trading Products and Services
    • Tools of the Trade
    • The Marketplace
    • Commercial Content
    • Listings and Reviews
    • Trading Dictionary
    • Trading Articles

Calendars

There are no results to display.


Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


First Name


Last Name


Phone


City


Country


Gender


Occupation


Biography


Interests


LinkedIn


How did you find out about TradersLaboratory?


Vendor


Favorite Markets


Trading Years


Trading Platform


Broker

Found 4 results

  1. lokking for smoothed adaptive cci as described in http://tuckerreport.com/indicators/cci-improvement/ .if ane one having this code / eld pl post it.
  2. {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 1-15 are taken from 'Cybernetic Analysis for Stocks and Futures' 16-18 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=5-10} Period(0), {for OscType=11-18} Cycle1(0), {for OscType=11-18 but only used in 14} Smooth1(0), {for OscType=11-18 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=(1-0.5*alpha)*(1-0.5*alpha)*(Smooth-2*Smooth[1]+Smooth[2])+2*(1-alpha)*Cycle[1]-(1-alpha)*( 1-alpha)*Cycle[2]; If currentbar<7 then Cycle=(Price-2*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 Length-1 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=((Close-Open)+2*(Close[1]-Open[1])+2*(Close[2]-Open[2])+(Close[3]-Open[3]))/6; Value2=((High-Low)+2*(High[1]-Low[1])+2*(High[2]-Low[2])+(High[3]-Low[3]))/6; Num=0; Denom=0; For count=0 to Length-1 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=(1-0.5*alpha)*(1-0.5*alpha)*(Smooth-2*Smooth[1]+Smooth[2])+2*(1-alpha)*Cycle[1]-(1-alpha)*(1-alpha)*Cycle[2]; If currentbar<7 then Cycle=(Price-2*Price[1]+Price[2])/4; MaxVal=Highest(Cycle, StocLength); MinVal=Lowest(Cycle, StocLength); If MaxVal<>MinVal then Value1=(Cycle-MinVal)/(MaxVal-MinVal); Value2=(4*Value1+3*Value1[1]+2*Value1[2]+Value1[3])/10; Value2=2*(Value2-0.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 Length-1 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=(CG-MinVal)/(MaxVal-MinVal); Value2=(4*Value1+3*Value1[1]+2*Value1[2]+Value1[3])/10; Value2=2*(Value2-0.5); oResult1=Value2; oResult2=0.96*(Value2[1]+0.02); end else If ( OscType=7 ) then Begin {Stochastic RVI} Value1=((Close-Open)+2*(Close[1]-Open[1])+2*(Close[2]-Open[2])+(Close[3]-Open[3]))/6; Value2=((High-Low)+2*(High[1]-Low[1])+2*(High[2]-Low[2])+(High[3]-Low[3]))/6; Num=0; Denom=0; For count=0 to Length-1 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=(RVI-MinVal)/(MaxVal-MinVal); Value4=(4*Value3+3*Value3[1]+2*Value3[2]+Value3[3])/10; Value4=2*(Value4-0.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=(1-0.5*alpha)*(1-0.5*alpha)*(Smooth-2*Smooth[1]+Smooth[2])+2*(1-alpha)*Cycle[1]-(1-alpha)*(1-alpha)*Cycle[2]; If currentbar<7 then Cycle=(Price-2*Price[1]+Price[2])/4; MaxVal=Highest(Cycle, Length2); MinVal=Lowest(Cycle, Length2); If MaxVal<>MinVal then Value1=(Cycle-MinVal)/(MaxVal-MinVal); Value2=(4*Value1+3*Value1[1]+2*Value1[2]+Value1[3])/10; Value3=0.5*Log((1+1.98*(Value2-0.5))/(1-1.98*(Value2-0.5))); oResult1=Value3; oResult2=Value3[1]; end else If ( OscType=9 ) then Begin {Fisher CG} Num=0; Denom=0; For count=0 to length-1 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=(CG-MinVal)/(MaxVal-MinVal); Value2=(4*Value1+3*Value1[1]+2*Value1[2]+Value1[3])/10; Value3=0.5*Log((1+1.98*(Value2-0.5))/(1-1.98*(Value2-0.5))); oResult1=Value3; oResult2=Value3[1]; end else If ( OscType=10 ) then Begin {Fisher RVI} Value1=((Close-Open)+2*(Close[1]-Open[1])+2*(Close[2]-Open[2])+(Close[3]-Open[3]))/6; Value2=((High-Low)+2*(High[1]-Low[1])+2*(High[2]-Low[2])+(High[3]-Low[3]))/6; Num=0; Denom=0; For count=0 to Length-1 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=(RVI-MinVal)/(MaxVal-MinVal); Value4=(4*Value3+3*Value3[1]+2*Value3[2]+Value3[3])/10; Value5=0.5*Log((1+1.98*(Value4-0.5))/(1-1.98*(Value4-0.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=(1-0.5*alpha)*(1-0.5*alpha)*(Smooth1-2*Smooth1[1]+Smooth1[2])+2*(1-alpha)*Cycle[1]-(1-alpha)*(1-alpha)*Cycle[2]; If currentbar<7 then Cycle=(Price-2*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 Value1-1 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=((Close-Open)+2*(Close[1]-Open[1])+2*(Close[2]-Open[2])+(Close[3]-Open[3]))/6; Value2=((High-Low)+2*(High[1]-Low[1])+2*(High[2]-Low[2])+(High[3]-Low[3]))/6; Num=0; Denom=0; For count=0 to Value3-1 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 DCPeriod-1 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=DCPhase-360; oResult1=Sine(DCPhase); oResult2=Sine(DCPhase+45); end else If ( OscType=15 ) then Begin {Laguerre RSI} L0=(1-Length2)*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=L0-L1 else CD=L1-L0; If L1>=L2 then CU=CU+L1-L2 else CD=CD+L2-L1; If L2>=L3 then CU=CU+L2-L3 else CD=CD+L3-L2; 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 HH-LL<>0 then vStoch=(Close-LL)/(HH-LL); 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 Value1-1 Begin Avg=Avg+MPrice[count]; end; If Value1<>0 then Avg=Avg/Value1; MD=0; For count=0 to Value1-1 Begin MD=MD+AbsValue(MPrice[count]-Avg); end; If Value1<>0 then MD=MD/Value1; If MD<>0 then vCCI=(MPrice-Avg)/(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=(1-0.5*alpha)*(1-0.5*alpha)*(Smooth-2*Smooth[1]+Smooth[2])+2*(1-alpha)*Cycle[1]-(1-alpha)*(1 -alpha)*Cycle[2]; If currentbar<7 then Cycle=(Price-2*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/Q1-I1[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;
  3. THE DOUBLE CCI TRADING METHOD I'm using my own CCI trading method using some of Woodie's "observations" to trade stocks and eventually options. I have collected some sophisticated nuances for each set-up and I do keep an eye on the price. I call a Head & Shoulders a Head & Shoulders , not a Ghost. Same goes for Shamu and Famir... there are run of the mill continuation patterns. :missy: Anyone for "meows" or "batman" set-ups? :crap: I never visited Woodie's trading forum. Have read most that has been written by Jeff, DrBob and others. From what I read, I have concluded the the old man has reached senility and has a Napoleonic complex along with a small and closed mind. The use of the double CCI does not produce a leading indicator ... just another tool like the 14-day stochastic. By the way, the same set-ups that you get using the 6- and 14- day CCIs are EXACTLY the same as the ones produced by the 6- and 14- day exponential moving averages. If you doubt me, check it out in your charting system. :helloooo: ***** If anyone is interested in discussing the technicalities of trading with the dual CCI sytem, I'm game! I will frequently check this forum to see if anybody has come alive. SAM6691
  4. Hello everyone, today I came across a post by a very new member mkp14 , he shared a very nice chart with a simple fibo retracement but with a very nice old technique from dr. bob (I dont know if you got to know him ). He was originally a woodies cci club member and went on his own with the two very interesting setup techniques 5014 and 5034.... I did trade woodie cci some years ago, then drop it not for being a bad aproach, just wanted something more price pane oriented, I remeber going thru dr bob 5014 aproach wich has a lot of sense but I never really traded the aproach because I was already on my M stuff having nice success.... Now, today as I see this chart from mkp14 I did got curios again to see a 50 cci on my chart, what would it look like and what information could I get that would be interesting... For My surprise I found something not related to normal CCI traders... and I called it : "50 cci momentum" what it means is that if your cci gets far from 0 you have momentum, if its near to 0 no momentum.... Far from 0 will be above +50 below -50 lines... if you are between +-50 you dont have momentum. I theoretically aplied a 50 cci to a 233 Tick chart from russell, so that would be a 500 cci on a 23 Tick chart wich I feel very confortable to scalp. On the example below, you can notice that when cci went above +50 and stayed above that level we had a very nice steady trending condition, as he went back between +-50 things got choppy.... This could sugest a nice "context" analisis.... Having that context per example you could take "Trend Trades" playing the dips and continuations.... Again, the spirit of looking to this type of indicator would be to understand market conditions and take profit from it (not become an indicatorist).... cheers Walter.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.