Jeffrey Kennedy Trend Analyzer
Forums › ProRealTime English forum › ProBuilder support › Jeffrey Kennedy Trend Analyzer
- This topic has 32 replies, 9 voices, and was last updated 4 years ago by Meta Signals Pro.
-
-
04/30/2017 at 6:38 PM #34055
Help needed to translate to PRT
In brief it is built using Williams%R, 5 period or 10 period or 15 period, calculated on (ExponentialMovingAverage[5]-ExponentialMovingAverage[20])
I cannot do it…. it gives me error or, anyway, not what is shown below
from: http://indexswingtrader.blogspot.it/2012/05/so-you-think-you-can-count-but-can-you.html
Followers of R.N. Elliott do count waves. This week Pretzel Logic’s Market Charts and Analysis (see blogroll) published a two part Introduction on understanding Elliott Wave Theory. After reading that 101 on counting waves, a handy tool for counting waves and thus analyzing the wave structure would come in handy, right?
It happens some years ago Elliott Wave International’s chief commodity analyst and “Futures Junctures Service” editor Jeffrey Kennedy” presented his Trend Analyzing Tool in a webinar. On Tuesday, 22 December 2009, EWI disclosed the formula to the public on their website.
JK Fast Line measures the most immediate, near-term progression of a market’s trend and smallest degree of the Elliott wave structure.
JK Base Line measures the intermediate progression of a market’s trend.
JK Slow Line (not show on screen shot) measures the long-term progression of a market’s trend.In the original JK_TA each panel of the indicator consists of three lines: a 5-period %R, a 10-period %R and a 15-period %R of the line concerned.
A reading of 100 indicates an uptrend. A reading of 0 indicates a downtrend.The JK TA as such is as a proxy for clarifying the underlying Elliott wave structure:
When all three lines in any version are flatlining (blended into one), it signals an impulsive, or motive, structure. See the blue lines in screen shot.
On the other hand, anytime you see the three lines separate, it’s a strong signal that the market is yielding a countertrend, or corrective pattern.The JK_TA can be used on any instrument and on any time frame:
The first, second and third chart depict the basic indicator for different time frames. The fourth chart shows a custom variant of JK_TA: the Fast, Base and Slow lines packed together in one panel, selectable by the 5%R, 10%R or 15%R version of the three indicators.Anyone needing help in counting waves can download the thinkscript studies from the comment section. While the default settings are 5 and 20, these may be adjusted to ones preferences.
Ready? Start counting!
The indicator is based on Williams%R, which is provided in the TOS studies set.The default settings are three different Williams%R lines, each calculated for a
Fast: (20-period exponential moving average) substracted from (5-period exponential moving average)
Base: (5-period exponential moving average)
Slow: (20-period exponential moving average)123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162# Jeffrey Kennedy's Trend Analyzer Tool - JK_TA# Original by Jeffrey Kennedy/Elliott Wave Internatial Inc.# as presented on Tue, 22 December 2009 on www.elliottwave.com## thinkscript by TrendXplorer# website: www.trendxplorer.info# e-mail: trendxplorer@gmail.com# Revised: May 29, 2012#hint:Jeffrey Kennedy's Trend Analyzer ToolnWhen all three lines in any version are flatlining as one, it signals an impulsive, or motive, structure.nAnytime the three lines separate, it's a strong signal that the market is yielding a countertrend, or corrective, pattern.#hint setting: select Fast, Base or Slow version of the 5-period %R, 10-period %R and 15-period %R settings for the JFTA_5, JFTA_10 and JFTA_15 lines.## --- script begin ----#declare lower;input setting = {FAST, default BASE, SLOW};input price = close;input fastLength = 5;input slowLength = 20;def value;def color;switch (setting) {case FAST:value = ExpAverage(close, fastLength) - ExpAverage(close, slowLength);color = 1;case BASE:value = ExpAverage(close, fastLength);color = 2;case SLOW:value = ExpAverage(close, slowLength);color = 3;}# Original Williams%R calculation by TD Ameritrade IP Company, Inc. (c) 2007-2012def hv5 = Highest(value, 5);def lv5 = Lowest(value, 5);plot JKTA_5 = if hv5 == lv5 then 0 else ((hv5 - value) / (hv5 - lv5) * (-100) + 100);def hv10 = Highest(value, 10);def lv10 = Lowest(value, 10);plot JKTA_10 = if hv10 == lv10 then 0 else ((hv10 - value) / (hv10 - lv10) * (-100) + 100);def hv15 = Highest(value, 15);def lv15 = Lowest(value, 15);plot JKTA_15 = if hv15 == lv15 then 0 else ((hv15 - value) / (hv15 - lv15) * (-100) + 100);JKTA_15.SetDefaultColor(GetColor(9));JKTA_15.SetLineWeight(3);JKTA_15.SetStyle(curve.firm);JKTA_15.AssignValueColor(if color==1 then color.magenta else if color==2 then color.cyan else color.green);JKTA_10.SetDefaultColor(GetColor(9));JKTA_10.SetLineWeight(1);JKTA_10.SetStyle(curve.firm);JKTA_10.AssignValueColor(if color==1 then color.magenta else if color==2 then color.cyan else color.green);JKTA_5.SetDefaultColor(GetColor(9));JKTA_5.SetLineWeight(1);JKTA_5.SetStyle(curve.short_dash);JKTA_5.AssignValueColor(if color==1 then color.magenta else if color==2 then color.cyan else color.green);plot line50 = 50;plot line0 = 0;plot line100 = 100;line50.SetDefaultColor(GetColor(7));line50.SetLineWeight(1);line50.SetStyle(curve.firm);line0.SetDefaultColor(GetColor(7));line0.SetLineWeight(1);line0.SetStyle(curve.short_dash);line100.SetDefaultColor(GetColor(7));line100.SetLineWeight(1);line100.SetStyle(curve.short_dash);## --- script end ----#**********************************************************# Jeffrey Kennedy's Trend Analyzer Tool - JK_TA_Combo# Original by Jeffrey Kennedy/Elliott Wave Internatial Inc.# as presented on Tue, 22 December 2009 on www.elliottwave.com## thinkscript by TrendXplorer# website: www.trendxplorer.info# e-mail: trendxplorer@gmail.com# Revised: May 29, 2012#hint:Jeffrey Kennedy's Trend Analyzer Tool Combined versionnWhen all three lines in any version are flatlining as one, it signals an impulsive, or motive, structure.nAnytime the three lines separate, it's a strong signal that the market is yielding a countertrend, or corrective, pattern.#hint setting %R: select 5-period %R, 10-period %R or 15-period %R as settings for the JFTA_Slow, JFTA_Base and JFTA_Base lines.## --- script begin ----#declare lower;input price = close;input setting_R = {"5", "10", default "15"};input fastLength = 5;input slowLength = 20;def period;switch (setting_R) {case "5":period = 5;case "10":period = 10;case "15":period = 15;}def fast = ExpAverage(close, fastLength) - ExpAverage(close, slowLength);def base = ExpAverage(close, fastLength);def slow = ExpAverage(close, slowLength);# Original Williams%R calculation by TD Ameritrade IP Company, Inc. (c) 2007-2012def hs = Highest(slow, period);def ls = Lowest(slow, period);plot JKTA_Slow = if hs == ls then 0 else ((hs - slow) / (hs - ls) * (-100) + 100);JKTA_Slow.SetDefaultColor(GetColor(6));JKTA_Slow.SetLineWeight(2);JKTA_Slow.SetStyle(curve.firm);def hb = Highest(base, period);def lb = Lowest(base, period);plot JKTA_Base = if hb == lb then 0 else ((hb - base) / (hb - lb) * (-100) + 100);JKTA_Base.SetDefaultColor(GetColor(1));JKTA_Base.SetLineWeight(2);JKTA_Base.SetStyle(curve.firm);def hf = Highest(fast, period);def lf = Lowest(fast, period);plot JKTA_Fast = if hf == lf then 0 else ((hf - fast) / (hf - lf) * (-100) + 100);JKTA_Fast.SetDefaultColor(GetColor(0));JKTA_Fast.SetLineWeight(2);JKTA_Fast.SetStyle(curve.firm);plot line50 = 50;plot line0 = 0;plot line100 = 100;line50.SetDefaultColor(GetColor(7));line50.SetLineWeight(1);line50.SetStyle(curve.firm);line0.SetDefaultColor(GetColor(5));line0.SetLineWeight(1);line0.SetStyle(curve.short_dash);line100.SetDefaultColor(GetColor(6));line100.SetLineWeight(1);line100.SetStyle(curve.short_dash);## --- script end ----#1 user thanked author for this post.
05/01/2017 at 10:50 AM #34128Done 🙂
1234567891011121314151617181920212223242526272829303132333435//JKFastfastLength=5slowLength=20valuefast=ExponentialAverage[fastlength](close)-ExponentialAverage[slowlength](close)hv5 = Highest[5](valuefast)lv5 = Lowest[5](valuefast)if hv5 = lv5 thenJKFast5=0elseJKFast5=((hv5 - valuefast) / (hv5 - lv5) * (-100) + 100)endifhv10 = Highest[10](valuefast)lv10 = Lowest[10](valuefast)if hv10 = lv10 thenJKFast10=0elseJKFast10=((hv10 - valuefast) / (hv10 - lv10) * (-100) + 100)endifhv15 = Highest[15](valuefast)lv15 = Lowest[15](valuefast)if hv15 = lv15 thenJKFast15=0elseJKFast15=((hv15 - valuefast) / (hv15 - lv15) * (-100) + 100)endifReturn JKFast5 coloured (255,150,255) as "JKFast5", JKFast10 coloured (255,100,255) as "JKFast10", JKFast15 coloured (255,50,255) as "JKFast15"12345678910111213141516171819202122232425262728293031323334//JK TAfastLength=5valuebase=ExponentialAverage[fastlength](close)hv5 = Highest[5](valuebase)lv5 = Lowest[5](valuebase)if hv5 = lv5 thenJKTA5=0elseJKTA5=((hv5 - valuebase) / (hv5 - lv5) * (-100) + 100)endifhv10 = Highest[10](valuebase)lv10 = Lowest[10](valuebase)if hv10 = lv10 thenJKTA10=0elseJKTA10=((hv10 - valuebase) / (hv10 - lv10) * (-100) + 100)endifhv15 = Highest[15](valuebase)lv15 = Lowest[15](valuebase)if hv15 = lv15 thenJKTA15=0elseJKTA15=((hv15 - valuebase) / (hv15 - lv15) * (-100) + 100)endifReturn JKTA5 coloured (150,150,255) as "JKTA5", JKTA10 coloured (100,100,255) as "JKTA10", JKTA15 coloured (50,50,255) as "JKTA15"12345678910111213141516171819202122232425262728293031323334//JK SlowslowLength=20valuebase=ExponentialAverage[slowLength](close)hv5 = Highest[5](valuebase)lv5 = Lowest[5](valuebase)if hv5 = lv5 thenJKSlow5=0elseJKSlow5=((hv5 - valuebase) / (hv5 - lv5) * (-100) + 100)endifhv10 = Highest[10](valuebase)lv10 = Lowest[10](valuebase)if hv10 = lv10 thenJKSlow10=0elseJKSlow10=((hv10 - valuebase) / (hv10 - lv10) * (-100) + 100)endifhv15 = Highest[15](valuebase)lv15 = Lowest[15](valuebase)if hv15 = lv15 thenJKSlow15=0elseJKSlow15=((hv15 - valuebase) / (hv15 - lv15) * (-100) + 100)endifReturn JKSlow5 coloured (150,200,0) as "JKSlow5", JKSlow10 coloured (100,200,0) as "JKSlow10", JKSlow15 coloured (50,200,0) as "JKSlow15"05/01/2017 at 11:36 AM #34140Hey well done Ciccio! Bet you’re well chuffed with yourself?
I’m interested in any ‘tools’ re Elliott Waves … I’ll read the blog you mention in 1st post.
Are you thinking of making an Auto-Trading Strategy with this or are you using for manual trading?
Thank You for Sharing
GraHal1 user thanked author for this post.
05/01/2017 at 1:48 PM #34157And here you are the Combo (in case anyone is interested)
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697//JKFastfastLength=5slowLength=20valuefast=ExponentialAverage[fastlength](close)-ExponentialAverage[slowlength](close)hv5 = Highest[5](valuefast)lv5 = Lowest[5](valuefast)if hv5 = lv5 thenJKFast5=0elseJKFast5=((hv5 - valuefast) / (hv5 - lv5) * (-100) + 100)endifhv10 = Highest[10](valuefast)lv10 = Lowest[10](valuefast)if hv10 = lv10 thenJKFast10=0elseJKFast10=((hv10 - valuefast) / (hv10 - lv10) * (-100) + 100)endifhv15 = Highest[15](valuefast)lv15 = Lowest[15](valuefast)if hv15 = lv15 thenJKFast15=0elseJKFast15=((hv15 - valuefast) / (hv15 - lv15) * (-100) + 100)endif//JK TAvaluebase=ExponentialAverage[fastlength](close)hv5 = Highest[5](valuebase)lv5 = Lowest[5](valuebase)if hv5 = lv5 thenJKTA5=0elseJKTA5=((hv5 - valuebase) / (hv5 - lv5) * (-100) + 100)endifhv10 = Highest[10](valuebase)lv10 = Lowest[10](valuebase)if hv10 = lv10 thenJKTA10=0elseJKTA10=((hv10 - valuebase) / (hv10 - lv10) * (-100) + 100)endifhv15 = Highest[15](valuebase)lv15 = Lowest[15](valuebase)if hv15 = lv15 thenJKTA15=0elseJKTA15=((hv15 - valuebase) / (hv15 - lv15) * (-100) + 100)endif//JK Slowvalueslow=ExponentialAverage[slowLength](close)hv5 = Highest[5](valueslow)lv5 = Lowest[5](valueslow)if hv5 = lv5 thenJKSlow5=0elseJKSlow5=((hv5 - valueslow) / (hv5 - lv5) * (-100) + 100)endifhv10 = Highest[10](valueslow)lv10 = Lowest[10](valueslow)if hv10 = lv10 thenJKSlow10=0elseJKSlow10=((hv10 - valueslow) / (hv10 - lv10) * (-100) + 100)endifhv15 = Highest[15](valueslow)lv15 = Lowest[15](valueslow)if hv15 = lv15 thenJKSlow15=0elseJKSlow15=((hv15 - valueslow) / (hv15 - lv15) * (-100) + 100)endifReturn JKFast5 coloured (255,150,255) as "JKFast5", JKFast10 coloured (255,100,255) as "JKFast10", JKFast15 coloured (255,50,255) as "JKFast15", JKSlow5 coloured (150,200,0) as "JKSlow5", JKSlow10 coloured (100,200,0) as "JKSlow10", JKSlow15 coloured (50,200,0) as "JKSlow15", JKTA5 coloured (150,150,255) as "JKTA5", JKTA10 coloured (100,100,255) as "JKTA10", JKTA15 coloured (50,50,255) as "JKTA15"PS
I also corrected some syntax of the JK Slow indicator posted before
1 user thanked author for this post.
05/04/2017 at 3:27 PM #34531Thanks a lot Ciccio! You are saving me 🙂 These ones could be posted into the library! Do you want me to push them there?
1 user thanked author for this post.
05/04/2017 at 5:29 PM #34565OK 😉
If you think they are useful do as you wish.
06/11/2020 at 7:54 PM #13562906/11/2020 at 8:24 PM #135633vangarde – read the forum rules before posting again. Only use the language of the forum that you are posting in. This is an English language forum. Also do not double post. I have deleted your double post in French in this English language topic.
These forums are dedicated to ProRealCode. If you want a translation to another language then try a forum dedicated to that language. Alternatively click on help and use the paid for programming service that Nicolas offers.
1 user thanked author for this post.
06/11/2020 at 10:06 PM #13563606/12/2020 at 2:55 PM #13575006/12/2020 at 2:58 PM #13575206/12/2020 at 3:02 PM #13575506/12/2020 at 3:20 PM #135757I added the sin(atan) version.
Not change the indicator , but added the following:
Zigo approach12345678910111213141516171819202122// from line 99 till end 118. I added my famous sin(atan) principle// Zigo's vieuw:if (JKFast5 +jkslow5 +JKTa5) >20 thenJK1 = 1elseJK1=-1endifif (JKFast10 +jkslow10 +JKTa10) >20 thenJK2=1elseJK2=-1endifif (JKFast15 +jkslow15 +JKTa15) >20 thenJK3=1elseJK3=-1endifJK = sin(atan(JK1 +JK2 +JK3))JKTotal= JK-JK[1]Return jkTotal06/12/2020 at 3:43 PM #13576106/12/2020 at 3:54 PM #135763 -
AuthorPosts
Find exclusive trading pro-tools on