Nicolas

Matrix Series - Flower indicator

Category: Indicators By: Nicolas Created: July 28, 2016, 9:15 AM
July 28, 2016, 9:15 AM
Indicators
18 Comments
Matrix Series - Flower indicator

This indicator spot potential reversal of the market while identifying Accumulation/Distribution zones. It is compatible with any instrument and timeframe, parameters should be adapted at will. Each levels can act like support and resistance.

The blue dots appear when the oscillator is piercing the +200 overbought level of the -200 oversold level.

This indicator is only compatible for Prorealtime version 10.3

//--External parameters
//Smoother=5
//SupResPeriod = 50
//SupResPercentage = 100
//PricePeriod = 16
//ob = 200
//os = -200

nn = Smoother

ys1 = ( high + low + close * 2 ) / 4
rk3 = exponentialaverage[nn](ys1)
rk4 = std[nn](ys1)
rk5 = (ys1 - rk3 ) * 200 / rk4
rk6 = exponentialaverage[nn](rk5)
up = exponentialaverage[nn](rk6)
down = exponentialaverage[nn](up)

if up<down then 
 Oo = up 
else
 oO = down
endif

if up<down then 
 Ll = down
else
 Ll = up
endif
Cc = Ll

if up<down then 
 DRAWCANDLE(Oo,Cc,Oo,Cc)COLOURED(200,0,0)
else
 DRAWCANDLE(Oo,Oo,Cc,Cc)COLOURED(0,200,0)
endif

//-------S/R Zones------
Lookback = SupResPeriod
PerCent = SupResPercentage
Pds = PricePeriod

C3 = cci[Pds](close)

Osc = C3
Value1 = Osc
Value2 = highest[Lookback](Value1)
Value3 = lowest[Lookback](Value1)
Value4 = Value2 - Value3
Value5 = Value4 * ( PerCent / 100 )
ResistanceLine = Value3 + Value5
SupportLine = Value2 - Value5

//--Overbought/Oversold/Warning Detail
UPshape = up > 200 and up>down 
DOWNshape = down < -200 and up>down 

if UPshape then 
 DRAWTEXT("+",barindex,highest[1](up)+20,Dialog,Bold,20) coloured(102,255,255)
endif
if DOWNshape then 
 DRAWTEXT("+",barindex,lowest[1](down)-20,Dialog,Bold,20) coloured(102,255,255)
endif

RETURN ResistanceLine COLOURED(0,200,0) STYLE(dottedline,1) as "Resistance line", SupportLine COLOURED(200,0,0) STYLE(dottedline,1) as "Support line"

Download
Filename: PRC_Matrix-Series.itf
Downloads: 569
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

Lavallette
5 years ago
#

Bonjour Nicolas. Je trouve cet indicateur intéressant et j'essaie de l'intégrer dans une stratégie . Je me demandais si la ligne 126 ne devrait-elle pas être DOWNshape = down < -200 and up < down Salutations

Nicolas
5 years ago
#

Non tout est correct, mais je comprends que tu aies un doute. C'est la façon dont a été écrit l'indicateur ..

flodefacebook
9 years ago
#

Bonjour Nicolas, Je viens d'essayer ton indicateur, il fonctionne parfaitement sur EURUSD, EURJPY et USDJPY, par contre sur AUDUSD il n'apparait pas, tout comme GBPUSD. Qu'est ce qu'il faudrait faire pour le voir apparaitre selon toi? Je joins une capture pour avoir une idée Je te remercie pour tout. capture

Nicolas
9 years ago
#

En effet, j'ai déjà eu ce genre de retour sur cet indicateur, je t'avoue avoir eu du mal à corriger ce phénomène. Je suis actuellement indisponible, j'essaierai de m'en occuper dés mon retour. Merci.

proreal82
9 years ago
#

it works on 200 units with the 1 min graph and only if you zoom in massive. 

Is there noting to do with the code, so it will work on every timeframe?

proreal82
9 years ago
#

That doesn't work on the 1 min chart. 

proreal82
9 years ago
#

Hi Nicolas, 

I try to explain my problem: for example if I zoom out the 3 min chart, the matrix indicator will collaps. 

Sometimes the indicator work on the 1 min, and sometime not. for example if you take the 1 min graph with 100 units and you scroll back to midnight you see the indicator. And if you scroll back to real time it will collaps.

hopefully you understand what I am meaning ;-)

image:

http://nl.tinypic.com/r/novojm/9

http://nl.tinypic.com/r/105thdv/9

Nicolas
9 years ago
#

Please add more 'units' on your chart for the exponential average to compute completely. 

proreal82
9 years ago
#

Hi there, 

I am testing this indicator on gold.

On a lower timefram ( 1,2,3 min) it is not working in Prorealtime 10.3. so I switch over to the 5 min graph.

since today it is not working on the 5 min either. 

Is there something what I can do to fix this?

Thanks for any help. 

 

Nicolas
9 years ago
#

Do you have still have values displayed on the vertical axis of the indicator? The indicator window is empty? 

wp01
9 years ago
#

@Petrus,

Sorry for the late response, but thank you for your help.

Petrus
10 years ago
#

@wp01, you can graph the difference between up and down: it will be positive if the bars are green, and negative if the bars are red. So you can easily switch between longs and shorts.

I changed the bar colors to understand better the curve, if you want you can test it. Sorry, I have not access to the "Insert PRT code" button.

//Matrix Series-Flower Indicator
//--External parameters
//Smoother=5
//SupResPeriod = 50
//SupResPercentage = 100
//PricePeriod = 16
ob = 200
os = -200

nn = Smoother

ys1 = ( high + low + close * 2 ) / 4// Weighted price
rk3 = exponentialaverage[nn](ys1)
rk4 = std[nn](ys1)
rk5 = (ys1 - rk3 ) * 200 / rk4
rk6 = exponentialaverage[nn](rk5)
up = exponentialaverage[nn](rk6)
down = exponentialaverage[nn](up)

if up<down then
Oo = up
else
oO = down
endif

if up<down then
Ll = down
else
Ll = up
endif
Cc = Ll
dif=up-down

if up<down and up<up[1] and dif<0 and dif>dif[1] then
DRAWCANDLE(Oo,Oo,Cc,Cc)COLOURED(255,160,122)//light salmon
elsif up<down and up<up[1] then
DRAWCANDLE(Oo,Cc,Oo,Cc)COLOURED(200,0,0)//red
elsif up<down and up>up[1] then
DRAWCANDLE(Oo,Cc,Oo,Cc)COLOURED(255,215,0)//yellow
elsif up>down and up>up[1] and dif>0 and dif<dif[1] then
DRAWCANDLE(Oo,Oo,Cc,Cc)COLOURED(127,255,212)//aquamarine
elsif up>down and up>up[1] then
DRAWCANDLE(Oo,Oo,Cc,Cc)COLOURED(0,200,0)//green
elsif up>down and up<up[1] then
DRAWCANDLE(Oo,Oo,Cc,Cc)COLOURED(255,215,0)//yellow
endif

//-------S/R Zones------
Lookback = SupResPeriod
PerCent = SupResPercentage
Pds = PricePeriod

C3 = cci[Pds](close)

Osc = C3
Value1 = Osc
Value2 = highest[Lookback](Value1)
Value3 = lowest[Lookback](Value1)
Value4 = Value2 - Value3
Value5 = Value4 * ( PerCent / 100 )
ResistanceLine = Value3 + Value5
SupportLine = Value2 - Value5

//--Overbought/Oversold/Warning Detail
UPshape = up > ob and up>down
DOWNshape = down < os and up<down

if UPshape then
DRAWTEXT("+",barindex,highest[1](up)+30,Dialog,Bold,20) coloured(0,0,255)
endif
if DOWNshape then
DRAWTEXT("+",barindex,lowest[1](down)-30,Dialog,Bold,20) coloured(0,0,255)
endif

RETURN ResistanceLine COLOURED(0,200,0) STYLE(dottedline,2) as "Resistance line", SupportLine COLOURED(200,0,0) STYLE(dottedline,2) as "Support line", ob AS "ob", os AS "os", 0 AS "Zero", dif AS "Dif"

 

Kenneth Kvistad
10 years ago
#

Hi Nicolas. It looks great :-).

Have you tested it on lower timeframes? 

I have too ask since I cant test it myself since I dont have V.10.3

Nicolas
10 years ago
#

Like any other oscillator it has its pros and cons. An adaptive overbought and oversold areas would maybe improve it.
You can get a free account at prorealtime.com to get access to the 10.3 version.

wp01
10 years ago
#

I have no idea how to do that, but thanks for the reply.

 

wp01
10 years ago
#

Dear Nicolas,

Regarding this indicator. If i select the wizard to create the conditions for a buy and a sell signal i can only select the candle and the resistance and support line.

My idea is for example to go long when the candle changes from red to green and go short from green to red in any timeframe.

Can you please tell me how i can adjust and implement this in the code?

Thanks.

regards,

Patrick

 

Nicolas
10 years ago
#

You need to add 2 new variables to the RETURN instruction of the indicator: up and down.

In your strategy, you'll get these 2 new variables with a CALL instruction. Then you can test if up>down or vice-versa to trigger your trades.

 

supertiti
10 years ago
#

On peut faire varier le seuil des surachats /surventes; en bougeant les seuils par action on peut affiner les points de retournements.



//--Overbought/Oversold/Warning Detail // UPshape = up > 200 and up>down UPshape = up > ob and up>down // DOWNshape = down < -200 and up>down DOWNshape = down < os and up>down

 

ProRealCode ProRealCode
Loading...