Super Arrow Trading Signals indicator

Category: Indicators By: Nicolas Created: October 24, 2019, 10:32 AM
October 24, 2019, 10:32 AM
Indicators
10 Comments

The Super Arrow indicator is a combination of conditions based on several technical indicators to generate trading signals. It constantly tests the direction of the price thanks to indicators like RSI, several exponential moving averages and Bollinger bands.
The parameters of each of these indicators can be modified to suit the indicator. Trading signals are indicated by red and green arrows on both the entire history and also to generate them in real time.

The trading signals are also filtered by a search of the last higher and lower to determine if the signal is breakout type or not.

 

//PRC_Super Arrow Indicator | indicator
//24.10.2019
//Nicolas @ www.prorealcode.com
//Sharing ProRealTime knowledge
//converted from MT4 code

// --- settings 
FasterMovingAverage = 5
SlowerMovingAverage = 200
RSIPeriod = 12
MagicFilterPeriod = 14
BollingerbandsPeriod = 20
BollingerbandsShift = 0
BollingerbandsDeviation = 1.6
BullsPowerPeriod = 50
BearsPowerPeriod = 50
// --- end of settings 


ima12 = average[FasterMovingAverage,1]
ima28 = average[FasterMovingAverage,1][1]
ima20 = average[SlowerMovingAverage,1]
ima36 = average[SlowerMovingAverage,1][1]
irsi44 = RSI[RSIPeriod](CLOSE)
irsi52 = RSI[RSIPeriod](CLOSE)[1]
ibullspower=high-average[bullspowerperiod,1]
ibearspower=low-average[bearspowerperiod,1]
ibullspower60 = iBullsPower
ibullspower68 = iBullsPower[1]
ibearspower76 = iBearsPower
ibearspower84 = iBearsPower[1]
ibandsup=average[bollingerbandsperiod][bollingerbandsshift]+std[bollingerbandsperiod](close)[bollingerbandsshift]*bollingerbandsdeviation
ibandsdn=average[bollingerbandsperiod][bollingerbandsshift]-std[bollingerbandsperiod](close)[bollingerbandsshift]*bollingerbandsdeviation
ibands152=ibandsup
ibands160=ibandsdn
ibands168=ibandsup[1]
ibands176=ibandsdn[1]
hh = highest[MagicFilterPeriod](high)
ll = highest[MagicFilterPeriod](low)
ld92=0
ld100=0
for i = 1 to MagicFilterPeriod do 
 if high[i]=hh then 
  ld92=i
 endif
 if low[i]=ll then 
  ld100=i
 endif
 if ld92>0 and ld100>0 then 
  break
 endif
next

Ld108 = 100 - 100.0 * ((Ld92 - 0.0) / 10.0)
Ld116 = 100 - 100.0 * ((Ld100 - 0.0) / 10.0)
if (Ld108 = 0.0) then
 Ld108 = 0.0000001
endif
if (Ld116 = 0.0) then
 Ld116 = 0.0000001
endif
Ld124 = Ld108 - Ld116
if (Ld124 >= 0.0) then
 Gi148 = 1 //true
 Gi168 = 0 //false
else 
 if (Ld124 < 0.0) then
  Gi148 = 0 //false
  Gi168 = 1 //true
 endif
endif

if (Close > ibands152 and Close[1] >= ibands168) then
 Gi144 = 0
 Gi164 = 1
endif
if (Close < ibands160 and Close[1] <= ibands176) then
 Gi144 = 1
 Gi164 = 0
endif
if (ibullspower60 > 0.0 and ibullspower68 > ibullspower60) then
 Gi140 = 0
 Gi160 = 1
endif
if (ibearspower76 < 0.0 and ibearspower84 < ibearspower76) then
 Gi140 = 1
 Gi160 = 0
endif
if (irsi44 > 50.0 and irsi52 < 50.0) then
 Gi136 = 1
 Gi156 = 0
endif
if (irsi44 < 50.0 and irsi52 > 50.0) then
 Gi136 = 0
 Gi156 = 1
endif
if (ima12 > ima20 and ima28 < ima36) then
 Gi132 = 1
 Gi152 = 0
endif
if (ima12 < ima20 and ima28 > ima36) then
 Gi132 = 0
 Gi152 = 1
endif
if (Gi132 and Gi136 and Gi144 and Gi140 and Gi148 and Gi172 <> 1) then
 drawarrowup(barindex,Low - 1.3 * std[14]) coloured(0,255,0)
 Gi172 = 1
endif
if (Gi152 and Gi156 and Gi164 and Gi160 and Gi168=0 and Gi172 <> 2) then 
 drawarrowdown(barindex,High + 1.3 * std[14]) coloured(255,0,0)
 Gi172 = 2
endif

RETURN

 

Download
Filename: PRC_Super-Arrow-Indicator.itf
Downloads: 717
Nicolas Master
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

Logo Logo
Loading...