Pollan Indicator: How to Use it for Accurate Trading Signals

Pollan Indicator: How to Use it for Accurate Trading Signals

Introduction

The Pollan indicator is an advanced technical tool designed to provide buy and sell signals based on the combination of two popular technical analysis indicators: the Commodity Channel Index (CCI) and the Relative Strength Index (RSI). 

The main goal of the Pollan indicator is to identify key moments when the market shows overbought or oversold conditions and combine these signals with an adjusted moving average to improve the accuracy of market entries and exits.

Throughout this article, we will explore in detail how the Pollan indicator works, how to configure it, and how to interpret its signals to enhance your trading strategies.

Description of the Pollan Indicator

The Pollan indicator combines the calculations of the Commodity Channel Index (CCI) and the Relative Strength Index (RSI) to generate more accurate trading signals. Below is a detailed description of how the key components of the indicator are calculated.

Indicator Components

  1. Commodity Channel Index (CCI):
    • The CCI measures the variation of the current price relative to an average price over a specific period. A high CCI value indicates that the price is well above the average, while a low value indicates it is well below.
    • In the Pollan indicator, the CCI period is configurable and is denoted as CCIper.
  2. Relative Strength Index (RSI):
    • The RSI is an oscillator that measures the speed and change of price movements. It is used to identify overbought or oversold conditions in the market.
    • The RSI period is also configurable and is denoted as RSIper.
  3. Moving Average (MA):
    • A moving average is used to smooth the differences calculated between the CCI and RSI, providing a more stable signal.
    • The moving average period is configured using the MaPeriod parameter.

Calculation of CCI-RSI Differences

The core of the Pollan indicator is based on calculating the differences between the CCI and RSI at several historical points, adjusted according to the coefficient (koef). These differences are calculated as follows:

  • The difference between the CCI and RSI is calculated for the current period and several previous periods, up to a maximum of 8 periods.
  • A similar operation is performed but inverting the difference (RSI – CCI).

Use of Coefficients

The coefficient (koef) is a key parameter that determines how many historical periods will be considered in the calculations. This coefficient can take values from 0 to 8, and according to its value, the sums of the calculated differences are adjusted.

Example of difference calculation:

  • For koef = 8, the differences from the current period to 8 periods ago are summed.
  • For koef = 7, the differences from 1 period ago to 8 periods ago are summed.
  • For koef = 6, the differences from 2 periods ago to 8 periods ago are summed.
  • For koef = 4, the differences from 4 periods ago to 8 periods ago are summed.
  • For koef = 0, only the difference between CCI and RSI from 8 periods ago is considered.

Summary of Calculations

  1. Calculated Differences:
    • a and b represent the CCI-RSI and RSI-CCI differences, respectively, calculated for multiple periods.
    • The sums of these differences are adjusted according to the value of koef.
  2. Moving Average:
    • A moving average is applied to the adjusted sums of the differences (tt1max and tt2min), producing the values Diff1 and Diff2.
  3. Generation of Trading Signals:
    • Buy signals are generated when Diff1 crosses above Diff2, and sell signals are generated when Diff1 crosses below Diff2.

Configuring the Indicator

The Pollan indicator can be configured with several parameters to adapt it to different market conditions and trader preferences. Below are the configurable parameters and their impact on the indicator’s behavior.

Configurable Parameters

  1. CCI Period (CCIper):
    • Defines the number of periods used to calculate the Commodity Channel Index (CCI).
    • Default value: 14.
    • Example: CCIper = 20 will use a 20-period CCI.
  2. RSI Period (RSIper):
    • Defines the number of periods used to calculate the Relative Strength Index (RSI).
    • Default value: 14.
    • Example: RSIper = 10 will use a 10-period RSI.
  3. Moving Average Period (MaPeriod):
    • Defines the number of periods for the moving average used to smooth the differences between the CCI and RSI.
    • Default value: 2.
    • Example: MaPeriod = 5 will apply a 5-period moving average to the calculated differences.
  4. Coefficient (koef):
    • Determines how many historical periods will be considered in the calculations of the differences between the CCI and RSI.
    • Default value: 8.
    • Example: koef = 4 will consider the differences from 4 periods ago to 8 periods ago in the calculations.

Impact of Configuration on Pollan Indicator Behavior

  1. CCI and RSI Period:
    • Changing the periods of the CCI and RSI will affect the indicator’s sensitivity to price changes. Shorter periods will make the indicator react more quickly to market fluctuations, while longer periods will make it smoother and less reactive.
  2. Moving Average Period:
    • A shorter moving average period will make buy and sell signals more frequent but less reliable, while a longer period will smooth the differences and reduce the number of signals generated.
  3. Coefficient:
    • Adjusting the coefficient will determine how many historical periods are considered in the calculation of the differences. A higher value will consider more historical data, providing a broader context but potentially being less reactive to recent changes.

How the Indicator Works

The Pollan indicator uses a combination of calculations based on the CCI and RSI to generate buy and sell signals. Below is a step-by-step description of the calculation process and the logic for generating signals.

Calculation Description Step by Step

  • Variable Initialization:
    • Periods for CCI, RSI, moving average, and the coefficient are defined.
    • i is initialized with the value 8, which is used to calculate historical differences.
  • Calculation of CCI-RSI Differences:
    • Differences between the CCI and RSI are calculated for the current period and several previous periods.

Calculation example:

  • Calculation of RSI-CCI Differences:
    • Similar to the previous step, but inverting the calculation.

Calculation example:

  • Application of the Coefficient:
    • Different sums of the calculated differences are used according to the value of the coefficient.

Example of coefficient application:

  • Moving Average Calculation:
    • A moving average is applied to the adjusted sums of the differences (tt1max and tt2min).

Example:

  • Generation of Trading Signals:
    • Buy and sell signals are generated based on the crossings of the calculated moving averages.

Example:

Interpretation of the Indicator

The Pollan indicator provides visual signals on the chart using arrows that indicate possible buy and sell moments. Below is an explanation of how to interpret these signals and how to use them to enhance your trading strategies.

Buy and Sell Signals

  1. Buy Signals:
    • A green upward arrow is drawn on the chart when Diff1 crosses above Diff2.
    • This signal suggests a potential entry point for a long position (buy).
    • The logic behind this signal is that the calculated difference between the CCI and RSI suggests a change in market direction, indicating a possible upward movement.
  2. Sell Signals:
    • A red downward arrow is drawn on the chart when Diff1 crosses below Diff2.
    • This signal suggests a potential entry point for a short position (sell).
    • The logic behind this signal is that the calculated difference between the CCI and RSI suggests a change in market direction, indicating a possible downward movement.

Practical Use of the Indicator

  1. Signal Confirmation:
    • It is recommended to use the Pollan indicator in conjunction with other technical indicators to confirm buy and sell signals. For example, you can combine it with longer-term moving averages, volume indicators, or candlestick pattern analysis.
  2. Parameter Adjustment:
    • Depending on your trading strategy and the asset you are analyzing, you can adjust the indicator parameters (CCIper, RSIper, MaPeriod, and koef) to optimize its performance.
    • Perform backtesting to evaluate how different settings affect the accuracy of the signals.
  3. Risk Management:
    • Consider market volatility and adjust your positions accordingly.

Visual Example

In the chart, green arrows indicate suggested entry points for long positions, while red arrows indicate suggested entry points for short positions. The colored lines show the moving averages of the calculated differences (Diff1 in green and Diff2 in red).

Conclusion

The Pollan indicator is a powerful tool that combines two popular technical indicators, the CCI and RSI, to generate more accurate trading signals. By adjusting the indicator parameters and using it in combination with other technical analysis tools, traders can improve their market entry and exit strategies.

Pollan Indicator Code

Share this

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. Alai-n • 284 days ago #

    Congratulations on this work !

  2. luxrun • 281 days ago #

    I have a problem that I don’t understand: by changing the parameters of the CCI and RSI periods, as well as the other two, the graph remains the same and the entry and exit signals, too. Both on version 12 and 11.
    Then I find this indicator not very reactive and lagging behind the moving averages alone, for example.
    Thank’s for your job!

    • Iván • 281 days ago #

      Hi! Sorry… You have to check lines 9 to 13 and delete.
      //CCIper = 14
      //RSIper = 14
      //MaPeriod = 2
      //koef = 8
      //showarrows = 1

  3. luxrun • 281 days ago #

    grazie Ivàn!

  4. lee • 138 days ago #

    Thank you. Is it possible to convert this to a screener that displays instruments when bullish/bearish crossover occurs?

    • Iván • 138 days ago #

      //—————————————————————//
      //PRC_Pollan Indicator
      //version = 0
      //06.05.24
      //Iván González @ http://www.prorealcode.com
      //Sharing ProRealTime knowledge
      //—————————————————————//
      //—–Inputs—————————————————-//
      CCIper = 14
      RSIper = 14
      MaPeriod = 2
      koef = 8
      showarrows = 1
      //—————————————————————//
      //—–Components Calculation————————————//
      i=8
      //—Diff. CCI-RSI
      a=cci[CCIper](typicalprice)[i]-rsi[rsiper](typicalprice)[i]
      a1=cci[CCIper](typicalprice)[i-1]-rsi[rsiper](typicalprice)[i+1]
      a2=cci[CCIper](typicalprice)[i-2]-rsi[rsiper](typicalprice)[i+2]
      a3=cci[CCIper](typicalprice)[i-3]-rsi[rsiper](typicalprice)[i+3]
      a4=cci[CCIper](typicalprice)[i-4]-rsi[rsiper](typicalprice)[i+4]
      a5=cci[CCIper](typicalprice)[i-5]-rsi[rsiper](typicalprice)[i+5]
      a6=cci[CCIper](typicalprice)[i-6]-rsi[rsiper](typicalprice)[i+6]
      a7=cci[CCIper](typicalprice)[i-7]-rsi[rsiper](typicalprice)[i+7]
      a8=cci[CCIper](typicalprice)[i-8]-rsi[rsiper](typicalprice)[i+8]
      //—Diff. RSI-CCI
      b=rsi[rsiper](typicalprice)[i]-cci[CCIper](typicalprice)[i]
      b1=rsi[rsiper](typicalprice)[i-1]-cci[CCIper](typicalprice)[i+1]
      b2=rsi[rsiper](typicalprice)[i-2]-cci[CCIper](typicalprice)[i+2]
      b3=rsi[rsiper](typicalprice)[i-3]-cci[CCIper](typicalprice)[i+3]
      b4=rsi[rsiper](typicalprice)[i-4]-cci[CCIper](typicalprice)[i+4]
      b5=rsi[rsiper](typicalprice)[i-5]-cci[CCIper](typicalprice)[i+5]
      b6=rsi[rsiper](typicalprice)[i-6]-cci[CCIper](typicalprice)[i+6]
      b7=rsi[rsiper](typicalprice)[i-7]-cci[CCIper](typicalprice)[i+7]
      b8=rsi[rsiper](typicalprice)[i-8]-cci[CCIper](typicalprice)[i+8]
      //—————————————————————//
      //—–Switch Koef———————————————–//
      if koef >=8 then
      tt1max = a+a1+a2+a3+a4+a5+a6+a7+a8
      tt2min = b+b1+b2+b3+b4+b5+b6+b7+b8
      elsif koef = 7 then
      tt1max = a+a1+a2+a3+a4+a5+a6+a7
      tt2min = b+b1+b2+b3+b4+b5+b6+b7
      elsif koef = 6 then
      tt1max = a+a1+a2+a3+a4+a5+a6
      tt2min = b+b1+b2+b3+b4+b5+b6
      elsif koef = 5 then
      tt1max = a+a1+a2+a3+a4+a5
      tt2min = b+b1+b2+b3+b4+b5
      elsif koef = 4 then
      tt1max = a+a1+a2+a3+a4
      tt2min = b+b1+b2+b3+b4
      elsif koef = 3 then
      tt1max = a+a1+a2+a3
      tt2min = b+b1+b2+b3
      elsif koef = 2 then
      tt1max = a+a1+a2
      tt2min = b+b1+b2
      elsif koef = 1 then
      tt1max = a+a1
      tt2min = b+b1
      elsif koef = 0 then
      tt1max = a
      tt2min = b
      endif
      //—————————————————————//
      //—————————————————————//
      Diff1 = average[maperiod](tt1max)
      Diff2 = average[maperiod](tt2min)
      //—————————————————————//
      //—————————————————————//
      if showarrows then
      if Diff1 >= Diff2 and Diff1[1] < Diff2[1] then
      arrowUp=1
      arrowDw=0
      elsif Diff1 Diff2[1] then
      arrowDw=1
      arrowUp=0
      else
      arrowUp=0
      arrowDw=0
      endif
      endif
      //—————————————————————//
      screener[arrowUp or arrowDw](arrowUP as “Long”,arrowDw as “Short”)

avatar
Register or

Likes

avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar
Related users ' posts
DELBERT Bonjour , Nicolas , je voudrais installer cet indicateur sur ma PRT , version 10.3 , mais je...
Nicolas En effet, il faut à minima une version 11. La 10.3 est tellement ancienne maintenant.. Je pe...
DELBERT Bonjour , Nicolas , merci pour ta réponse , je fais un essai et je verrais . Salutations .
Khaled Thank you Nicolas! Looks like TDI (Trader Dynamic Index). Interesting to give Exit Signal as...
Nicolas ColorBetween is an instruction added last year: https://www.prorealcode.com/documentation/co...
finplus Bonjour, serait-il possible de remplacer l'écart formé par les bandes de Bollinger par l'ATR...
atlante hi nicolas this indicator have 2 wrong borderline and islalastbarupdate. thank you can you h...
Nicolas That'"s because you are not using PRT v11? Just remove lines 59 to 62
robertogozzi An updated version can be found here https://www.prorealcode.com/topic/conversion-of-pine-sc...
jissey Bonjour Robertogozzi, cet indicateur est interessant mais serait-il possible de marquer la ...
robertogozzi Sure, but you should start a new topic on the Probuilder support forum. Thank you :)
AntoGH Bonjour peut-on backtester cela ? Et si vous l'avez fait pourriez vous nous donner le code.....
Nicolas désolé c'est un oubli de ma part, tu peux supprimer cette ligne, elle n'est plus utile dans ...
DELBERT Bonjour , Nicolas , merci pour ta réponse , je suis en effet avec PRT 10.3 , et j'ai bidouil...
robertogozzi I don't actually know what they are calculating. As soon as I know, I will post further info.
robertogozzi It's because they calculate future bars, that's why it's not possible to use that indicator ...
poldoposta si potrebbe trovare una soluzione per sovrapporlo al prezzo?
robertogozzi Basta che tu clicchi sull'etichetta (tag) PREZZO del grafico (appena sotto l'angolo in alto ...
supertiti https://zupimages.net/viewer.php?id=20/50/2e3v.jpg
volanirina Bonjour Je souhaite l'avoir sur l'indicateur MT4 si possible s'il vous plait. car je l'ai fa...
Nicolas ProRealCode est un site dédié à l'utilisation de la plateforme de trading ProRealTime: https...
FernetTrader think i found a solution!
monochrome Thanks for the indicator. Very interesting!
monochrome Can you please share how you made it work? I cant seem to make it work in a strategy
Pensera Bravo Nicolas ! Tu es en quelque sorte l’inventeur de Metascore…(oups je viens de lire jusqu...
Nicolas Dans un but d'investissement pure, et non spéculatif.
Enigma08 Hi Juanj. I am new to ProrealTime and I am trying to program the Proscreener. I want the Pro...
Nicolas Please open a topic in ProScreener forum with your query, I'll reply you there. Thank you.
manafull Thanks Nicolas, I post my question, along with the codes I am trying to convert from your in...
Nicolas I replied to your post here: https://www.prorealcode.com/topic/screener-for-rsi-and-linear-r...
Madrosat I Have not see a fully functioning automated strategy on your site?? Really have you???
juanj Hi Madrosat, why would it be on my site? I have developed it for my personal use and also to...
Madrosat ok I understood you are using prorealcode to hack the fish
imonix Have been trying this on demo since Monday before deciding whether to go live with it. Using...
Roberto Blázquez I'm sorry, I've tried it since November 2012 and it's bad results.
Guillaume Mcm I gave the above message fix ;)
Tradingrob Is it possible to put the itf-file in the right way here in Prorealcode? so the right 'trend...
Guillaume Mcm Update link ;) https://www.prorealcode.com/topic/trend-histogramme-cci-mise-a-jour-suite-...
woktrade Superbe !
Vonasi An updated version with a bug fix can be found here: https://www.prorealcode.com/topic/dis...
snucke hey Vonasi is it possible you can help me get this indicator to show how much a market mo...
Vinks_o_7 Vonasi you're a beast !!! ;-)))
pableitor Amazing indicator , you are pushing PRT to the limit! But looking at the scatter its not c...
stephane2.0
5 years ago
stephane2.0 c=exponentialaverage[9](MACDLine[12,26,9](close))
Forexcheckup Hi I down loaded the ITF file, it paints red for a down trend but for all up trends the can...
stephane2.0 line 22: r = 195 by r = 0 line 23: g = 195 by g = 0 line 24: b = 195 by b = 255 ;)
Zigo
5 years ago
fifi743 Good morning, there is no mistake about the shorts c11=SMI[14,3,5](close)>-40
Zigo has to be c11=SMI[14,3,5] < -40 (indeed)
xar3 Thank you ;-) Zigo

Top