# G-Channels – Efficient Calculation Of Upper/Lower Extremities

Channels indicators are widely used in technical analysis, they provide lot of information. In general, technical indicators giving upper/lower extremities are calculated by adding/subtracting a volatility component to a central tendency estimator. This is the case with Bollinger bands, using the rolling standard deviation as volatility estimator and the simple moving average as central tendency estimator, or the Keltner channels using the exponential moving average and the average true range.

Lots and lots and lots of those indicators have been made, they only really need a central tendency estimator, which can be obtained from pretty much any filter, however i find interesting to focus on the efficiency of those indicators, therefore i propose a super efficient channel indicator using recursion. The average resulting from the upper/lower extremity of the indicator provide a new efficient filter similar to the average highest/lowest.

The calculation – How Does It Works:

Efficiency is often associated to recursion, this would allow us to use past output values as input, so how does the indicator is calculated? Lets look at the upper band calculation :

a = max(src,(a[1])) – (a[1] – b[1])/length

src is the closing price, a is upper extremity, b is the lower one. Here we only need 3 values, the previous values of a and b and the closing price. Basically a = max(src,a[1]) mean :

if the closing price is greater than the precedent value of a then output the closing price, else output the precedent value of a

therefore a will never be inferior to its precedent value, this is useful for getting the maximum price value in our dataset however its not useful to make an upper band, therefore we subtract this to a correction factor defined as the difference between a and b, this force the upper band to have lower values thus acting like a band without loosing its “upper” property, a similar process is done with the lower band.

Of course we could only use 2 values for making the indicator, thus ending with :

a = max(src,a[1]) – (abs(close – a[1])/length

(description from original author: alexgrover)

Risk disclosure:

No information on this site is investment advice or a solicitation to buy or sell any financial instrument. Past performance is not indicative of future results. Trading may expose you to risk of loss greater than your deposits and is only suitable for experienced investors who have sufficient financial means to bear such risk.

ProRealTime ITF files and other attachments : How to import ITF files into ProRealTime platform?

PRC is also on YouTube, subscribe to our channel for exclusive content and tutorials

1. • 11 days ago #

I really like it when you develop ideas around price movement! I am much less a fan of all the indicators calculated with averages of this or that, too subjective in my opinion!

Register or

#### Likes

Related users ' posts
LucasBest
1 month ago
0
Indicators
Nicolas
2 months ago
7
Indicators
I suspected something like this but in the PRT documentation I couldn't find anything to exp...
Bonjour Nicolas, Peux tu nous expliquer le principe de fonctionnement ? Ou nous mettre un...
Le lien vers l'article IFTA de l'auteur est dans le post déjà :)
JS
2 months ago
0
Indicators
davidelaferla
2 months ago
0
Indicators
Nicolas
2 months ago
13
Indicators
merci ! semble très sympa couplé avec une MM.
You can't, all codes shared here are to be used with ProRealTime trading platform: https://t...
JS
3 months ago
1
Indicators
Bonjour Nicolas, Je suis a la recherche d'indicateurs pour me donner la meilleure indicatio...
Nicolas
4 months ago
2
Indicators
Well done Nicolas, creative!
Hi Nicolas, please can you explain how to read/use this indicator? thanks!
Nicolas
5 months ago
17
Indicators
Bonjour, quelle est la meilleure UT pour travailler avec cet indicateur?
@RICOU en 1 minutes avec un filtre de tendance ZLSMA 200 et eventuellement un rsi 7 , 69% de...
For people interested in the screener: https://www.prorealcode.com/topic/screener-buy-sell-m...
Nicolas
6 months ago
4
Indicators
Yes, Magic if the variable that contains the value of the line, you can test if it goes up o...
Bonjour Nicolas, merci pour cet indicateur. Utilisant pour l'instant la création simplifié p...
Merci d'ouvrir un sujet sur le forum avec une description complète du système.
Nicolas
6 months ago
1
Indicators
Is it possible to add histogram with only increasing bars?
Nicolas
6 months ago
8
Indicators
Bonjour Nicolas, concernant cet indicateur j'ai voulu l'utiliser mais il commence à tracer l...
Je ne rencontre pas ce problème avec le NASDAQ par exemple, ce serait plus simple d'ouvrir u...
Bonjour Nicolas, en effet ca marche, je me suis trompé, j'ai bien tout le tracé. C'est parce...
luxrun
7 months ago
0
Indicators
Jiacky
1 year ago
0
Indicators
Sever
2 years ago
0
Indicators
Sever
2 years ago
2
Indicators
Hi Sever, how can I visualize the coloured areas?
Hi Stenozar, You need to add the color zones yourself , just go to Add Color Zone To set ...
Nicolas
2 years ago
2
Indicators
hi nicolas this indicator have 2 wrong borderline and islalastbarupdate. thank you can you h...
That'"s because you are not using PRT v11? Just remove lines 59 to 62
robertogozzi
2 years ago
12
Indicators
Hi Roberto, sorry for my confusing previous posts (forget them). My request is very simple,...
Please start a new topic in ProOrder support.
OK
robertogozzi
2 years ago
32
Indicators
There you go: myMagicTrend = CALL “Magic Trend custom”[20, 14, 1, 5] alpha = 105 b = 0...
exactly :) Thank you all for the help!
Ciao Roberto, ho scaricato l'indicatore e come ti avevano già scritto sopra anch'io vedo la ...
Newbie
2 years ago
0
Indicators
Nicolas
2 years ago
v10.3
15
Indicators
A première vue, sa à l'air d'être un indicateur très puissant sur de petites temporalités, j...
Bonjour Nicolas, Comment transformer cet indicateur en bot sur PRT ?
Cela a déjà été fait, voir ce sujet: https://www.prorealcode.com/topic/strategia-con-lindica...

Top