ASCTrend

Category: Indicators By: Nicolas Created: January 13, 2021, 1:40 PM
January 13, 2021, 1:40 PM
Indicators
35 Comments

ASCTrend indicator uses WPR (Williams Percent Ratio) indicator in order to give trading signals on the price chart.

The “RISK” variable setting is used to define the WPR period this way: period = 3+RISK*2

Buy and sell levels are settled using the RSI variable also:

_ buy level > – (33 – RISK)

_ sell level < – (67 + RISK)

The trading signals are filtered to avoid the same signal repetition and price peaks or gaps.

You can modify the “CountBars” setting in order to plot more or historical signals on the price chart.

Compatible version with PRT v10.3 (or any v11 prior version) is attached to the post.

Indicator converted following a request in the trading indicators forum: https://www.prorealcode.com/topic/conversion-indicateur-mt4-asct-rend_sound-mq4/

//PRC_ASCTrend | indicator
//13.01.2021
//Nicolas @ www.prorealcode.com
//Sharing ProRealTime knowledge
//converted from MT4 version

// --- settings 
RISK=3
CountBars=300
// --- end of settings 

value10=3+RISK*2
x1=67+RISK
x2=33-RISK
value11=value10

shift=CountBars-11-1

if islastbarupdate and barindex>CountBars then 
while(shift>=0) do 

Counter=shift
iRange=0.0
AvgRange=0.0
for Counter=shift to shift+9 do 
AvgRange=AvgRange+Abs(High[Counter]-Low[Counter])
next

iRange=AvgRange/10
Counter=shift
TrueCount=0
while (Counter<shift+9 and TrueCount<1) do 
if (Abs(Open[Counter]-Close[Counter+1])>=iRange*2.0) then 
TrueCount=TrueCount+1
endif
Counter=Counter+1
wend
if (TrueCount>=1) then 
MRO1=Counter
else 
MRO1=-1
endif 

Counter=shift
TrueCount=0
while (Counter<shift+6 and TrueCount<1) do 
if (Abs(Close[Counter+3]-Close[Counter])>=iRange*4.6) then 
TrueCount=TrueCount+1
endif
Counter=Counter+1
wend
if (TrueCount>=1) then 
MRO2=Counter
else
MRO2=-1
endif


if (MRO1>-1) then 
value11=3
else 
value11=value10
endif
if (MRO2>-1) then 
value11=4
else 
value11=value10
endif 

value2=100-Abs(Williams[value11](close)[shift]) // PercentR(value11=9)
$Tablevalue2[shift]=value2
$val1[shift]=0
$val2[shift]=0
value3=0

if (value2<x2) then 
i1=1
while ($Tablevalue2[shift+i1]>=x2 and $Tablevalue2[shift+i1]<=x1) do 
i1=i1+1
wend
if ($Tablevalue2[shift+i1]>x1) then 
value3=High[shift]+iRange*0.5
if (shift = 1 and flagval1=0) then
flagval1=1
flagval2=0
endif
$val1[shift]=value3
drawarrowdown(barindex[shift],$val1[shift]) coloured(255,0,255)
endif
endif

if (value2>x1) then 
i1=1
while ($Tablevalue2[shift+i1]>=x2 and $Tablevalue2[shift+i1]<=x1) do 
i1=i1+1
wend
if ($Tablevalue2[shift+i1]<x2) then 
value3=Low[shift]-iRange*0.5
if (shift = 1 and flagval2=0) then 
flagval2=1
flagval1=0
endif
$val2[shift]=value3
drawarrowup(barindex[shift],$val2[shift]) coloured(0,255,255)
endif
endif


shift=shift-1
wend
endif 
return

Download
Filename: PRC_asctrend_v10.3.itf
Downloads: 392
Download
Filename: PRC_ASCTrend.itf
Downloads: 1523
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...