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 • 295 days ago #

    Congratulations on this work !

  2. luxrun • 292 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 • 291 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 • 291 days ago #

    grazie Ivàn!

  4. lee • 149 days ago #

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

    • Iván • 148 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
finplus Thanks for the job. Which variables do you suggest for timeframe 1 hour? 
Maz Depends massively on your market and the volatility. I suggest using the variable optimizer ...
1Randy This a great momentum filter! I would like to see volume momentum incorporated into the indi...
Nicolas All conditions under parenthesis for the c1 to c4 conditions should be inverted. 
tomus Can you give an example of the overbought codes please? Thanks.
ams123 Frank Merci Nicholas -:)
Djo Not working on V11. The RSI doesn't appear on the chart.
Mika83 Bonjour, J'ai des soucis de lecture de syntaxe avec la variable "drawsegment" sur la versio...
seb234 Salut Mika, j'ai la version V11.1, la formule fonctionne. Mais il est préférable, dixit Nico...
bolsatonimora2 Hi, nice indicator, it´s possible to include a middle line with 50 value? ty!
gabri Hi, EMA26 approximate almost exactly the 50% line
Alain Wilder MA is exactly the 50% line
owes29 Hi is there anyway to develop this for the pro scanner on daily or hourly scans. so it woul...
Nicolas Of course, please add a query in the proscreener forum.
Bruno Carnazzi C'est dommage, cette histoire d'énergie fractale bousille complètement la précision de l'ind...
gregus bonjour a tous quelqu un pourait il recodé en prt il sagit  du dynamique zone ma, je n arri...
Nicolas Merci de faire une requête spécifique sur le forum. 
Nicolas
8 years ago
StepRSI
StepRSI
5
Indicators
Nicolas Thanks for this modification, I still do not have tested it, where did you get this idea to ...
rfsteve Trial and error from study of indicators call it coding mad science was trying to find an in...
Maxime Baudin Nice! Thanks :)
Nicolas
8 years ago
GraHal Forked code I mention above is here ... GraHal wrote: So below is the PRC Stochastic RSI v...
GraHal Try again (quite limited what you can do as Comments in the Library) https://www.prorealco...
AutoFlanders Thanks GraHal, that's what i was looking for
DANY I did it on demo account; it's too dangerous for mea and I can not resist psychologically  ....
demoz How can a demo account be dangerous? Did you have it run live (on a demo account for exampl...
DANY Yes, I mean that I tried on a demo account for 2 months and it had work fine, like the BackT...
Dimi.A Awesome mate.
mora87 Hi David and Nicola, I'd like to share idea with you guys which is related to David's Idea. ...
Nicolas Please ask for custom coding in forums instead.
jeanphi0034 Hello, I would like to use the QQE indicator which is based on smooth RSI as far as I unders...
ilstefano Bonjour Nicolas, te serait il possible de rajouter la fast ATR manquante dans le code? Merci
Nicolas Désolé je ne comprends pas la question ?
rpreviteri Hi Nicolas, thanks a  loto for sharing your knowliedge, Wasn't the original momentum pinball...
air Thank you!  
elanoa Buonasera sig. Nicolas......sarebbe possibile far in modo che quando l'indicatore raggiunga ...
Nicolas En effet, j'ai déjà eu ce genre de retour sur cet indicateur, je t'avoue avoir eu du mal à c...
Lavallette Bonjour Nicolas. Je trouve cet indicateur intéressant et j'essaie de l'intégrer dans une st...
Nicolas Non tout est correct, mais je comprends que tu aies un doute. C'est la façon dont a été écri...
zilliq The reasons why I think it's time consuming and we loose time to try to do backests and Auto...
filiprb Hello Zilliq, You don't need a system to produce a walk forward test. You can easily create...
Philip Raphael It is incredible! Thanks for sharing, Doctrading!
s00071609 Hi, could you please suggest, what this codes gives, lowest[b](rsi[a]) -- just trying to us...
Nicolas lowest[b](rsi[a]) returns the lowest values of the RSI of "a" periods, over the last "b" per...
s00071609 Hi, what would be the code to get the price for last bullish DTOSC cross over. I am looking ...
lglmrc Can't make it work, says: "Define p variable"
Ezio Hi Xel and thanks, do you know if there is a way in PRC of reading/counting intraday ticks?...
inadis ive just discovered this, i must say very nice thanks.
Nicolas RSI is an oscillator made for price centering. This strategy bet on mean reverting phenomena...
air Good start. Works decently during stock runaway bull market. I have tested it over 80 year p...
TheHovisTrader Hi - the way Larry trades it does not work - discovered that over 10 years ago! BUT If you ...

Top