Nicolas

Trend Following Moving Averages

Category: Indicators By: Nicolas Created: April 20, 2020, 12:49 PM
April 20, 2020, 12:49 PM
Indicators
22 Comments
Trend Following Moving Averages

On each bar it creates a channel by highest/lowest point of a MA. highest point is upper line and lowest point is lower line of the MA channel,
It gets highest and lowest point of last 300 bars, (say Price Channel )
If the width of MA channel is greater than certain rate of price channel then it decides there is trend
After it decided there is trend, it calculates the rate between channel and MA. Bigger result means stronger trend.
According to rate of MA channel and the price channel , MA Line becomes lighter/darker. so when you look at the MA Line’s color you can see the trend strength.

You can choose each of the available default MA type of the platform as source.

“Period to Check Trend” is the period to create MA channel. Bigger period cause more sensitivity.
“Trend Channel Rate %” is rate of price channel . Price channel created by using highest/lowest of last 300 bars. I did this to make the script works on all time frames correctly.
“Use Linear Regression” is used to get rid of noise. it may cause 1-2 bars latency.

(description from the original author LonesomeTheBlue, all credits go to him). Indicator converted from pinescript with some adaptation to make it works with ProRealTime.

This indicator only works on PRTv11 onwards.

//PRC_TrendFollowingMvingAverage | indicator
//20.04.2020
//Nicolas @ www.prorealcode.com
//Sharing ProRealTime knowledge
//converted from Pinescript version 

// --- settings 
prd = 20 //Period to Check Trend
rateinp = 1 //Trend Channel Rate %  minval = 0.1, step = 0.1
ulinreg = 1 // 1=true, Use Linear Regression
linprd = 10 //Linear Regression Period, minval = 2
matype = 1 //ma type 0=sma, 1-ema, etc.
// --- end of settings 

rate = rateinp / 100
pricerange = highest[300](close) - lowest[300](close)
chan = pricerange * rate

p = 5
while p<=100 do 
 //trend 
 masrc = average[p,matype](close)
 if ulinreg then 
  ma = LinearRegression[linprd](masrc)
 else
  ma = masrc
 endif

 hh = highest[prd](ma)
 ll = lowest[prd](ma)
 diff = abs(hh-ll)

 if diff>chan then 
  if ma>ll+chan then 
   trend=1
  elsif ma<hh-chan then 
   trend=-1
  else
   trend=0
  endif
 else
  trend=0
 endif

 ret = trend*diff/chan

 alpha = min(255,(80+abs(ret*10)))
 if ret<0 then 
  r=255
  g=0
 else
  r=0
  g=255
 endif

 iprev=$prev[p]
 drawsegment(barindex,ma,max(0,barindex-1),iprev) coloured(r,g,0,alpha)

 $prev[p] = ma
 p=p+5
wend

return

 

Download
Filename: PRC_TrendFollowingMvingAverage.itf
Downloads: 658
Download
Filename: trend-following-bars.png
Downloads: 214
Nicolas
Nicolas Legend
I created ProRealCode because I believe in the power of shared knowledge. I spend my time coding new tools and helping members solve complex problems. If you are stuck on a code or need a fresh perspective on a strategy, I am always willing to help. Welcome to the community!
Author’s Profile

Comments

MALIMALO
5 years ago
#

Dear Nicolas, just try touse your indicator with backtest but it's not working. is anybody reach to use it? regards

Hasardeur
5 years ago
#

Dear Nicolas, is there someting at the arry to modify in order to run the trend at the actual PRT version? Bset regards Hasardeur

pyhrus
6 years ago
#

P.S : IG , que j'ai contacté ,m'indique que la version V11 , ne sera pas disponible avant un certain temps ..

pyhrus
6 years ago
#

Erratum : je veux parler de la version V10.3 , bien sur ...

pyhrus
6 years ago
#

Pourriez-vous nous proposer une version adaptée pour PRT V13.0 , ou nous préciser les instructions à remplacer ou modifier ou supprimer , dans le cas où cela est possible , pour effectuer cette adaptation ? Merci .

leonardofranci
6 years ago
#

I would like a screener that highlights the color change of the indicator (from red to green and vice versa). Can you help me? Thanks again Nicolas

leonardofranci
6 years ago
#

Just done Nicolas https://www.prorealcode.com/topic/screener_trend-following-moving-averages/

leonardofranci
6 years ago
#

Ok Nicolas apro il topic su "Supporto ProScreener" in italiano

Nicolas
6 years ago
#

Sure, please open a new topic in the indicator forum to ask your specific query, describe it as precisely as possible. Respect the posting rules too please.

leonardofranci
6 years ago
#

Hello Nicolas, it's possible to make screener with this indicator ? Thanks a lot

Nicolas
6 years ago
#

Yes that's possible.

MajorBasse
6 years ago
#

Hello Nicolas, is it possible to make a backtest with this moving average? For example "if trend = red then sellshort".

MajorBasse
6 years ago
#

And also, the boolean "ulinreg" messes up the backtest, how do I define it?

MajorBasse
6 years ago
#

I´m wondering which parameter decides the color of the average? Is the color decided by the "trend" input?

Nicolas
6 years ago
#

Yes why not?

eva.g.forsgren
6 years ago
#

Jag får felkod på rad 56?

Jan
Jan
6 years ago
#

If you start PRT via your trading account at IG.com, the PRT version 11 is not available yet, but their IT department is working on it to make it available,

Nicolas
6 years ago
#

This indicator only works on PRTv11 onwards.

Jan
Jan
6 years ago
#

Good afternoon Nicolas, Could you hint me how I become version 11 of PRT ? (I believe I missed that one . . ) And when will it be available in production ? Thanks in advance.

Nicolas
6 years ago
#

v11 is out since months, for free: https://www.prorealtime.com or with a trading account with IB, see the options available here: https://trading.prorealtime.com/en/InteractiveBrokers

Gert84
6 years ago
#

Hi Nicolas, Every time I download and import an indicator into my chart, I get the indicator at the bottom of my chart instead of on my price chart. Am I doing something wrong? I use V11.1

Nicolas
6 years ago
#

Just add it on the price.

ProRealCode ProRealCode
Loading...