1-2-3 Pattern Indicator

Category: Indicators By: LucasBest Created: August 23, 2023, 3:37 PM
August 23, 2023, 3:37 PM
Indicators
4 Comments

The 1-2-3 pattern is the most basic and important formation in the market. Almost every great market move has started with this formation. That is why you must use this pattern to detect the next big trend. In fact, every trader has used the 1-2-3 formation to detect a trend change without realizing it.

(original author: Zeiierman)

//---Initialisation

once idx0 = 0
once idx1 = 0
once idx2 = 0
once pos = 0

ATR = AverageTrueRange[prd](typicalprice)

IF barindex >= 2*prd+1 then

If high[prd] >= highest[2*prd+1](high) and pos<=0 then

If idx1 <> 0 then
idx2 = idx1
Endif

If idx0 <> 0 then
idx1 = idx0
Endif

idx0 = barindex[prd]
pos=1

If idx2<>0 then

If showPvts then
If High[barindex-idx0]>=High[barindex-idx2] then
DRAWTEXT("HH",idx0,High[barindex-idx0]+ATR/2,Dialog,Bold,20) coloured(200,0,0,255)
else
DRAWTEXT("LH",idx0,High[barindex-idx0]+ATR/2,Dialog,Bold,20) coloured(200,0,0,255)
Endif
Endif

Endif
Endif

If Low[prd] <= Lowest[2*prd+1](low) and pos>=0 then

If idx1 <> 0 then
idx2 = idx1
Endif

If idx0 <> 0 then
idx1 = idx0
Endif

idx0 = barindex[prd]
pos=-1

If idx2<>0 then

If showPvts then
If Low[barindex-idx0]>=Low[barindex-idx2] then
DRAWTEXT("HL",idx0,Low[barindex-idx0]-ATR/2,Dialog,Bold,20) coloured(0,200,0,255)
else
DRAWTEXT("LL",idx0,Low[barindex-idx0]-ATR/2,Dialog,Bold,20) coloured(0,200,0,255)
Endif
Endif

Endif
Endif

If idx2<>0 then
If pos=1 and High[barindex-idx0]>Low[barindex-idx1] and High[barindex-idx0]<High[barindex-idx2] and (Close<Low[barindex-idx1] and open>Low[barindex-idx1]) then

If showPattern then
DRAWTEXT("1",idx2,High[idx2]+ATR[Barindex-Idx2]/2,Dialog,Bold,20) coloured("BLUE",255)
DRAWTEXT("2",idx1,Low[barindex-idx1]-ATR[Barindex-Idx1]/2,Dialog,Bold,20) coloured("BLUE",255)
DRAWTEXT("3",idx0,High[barindex-idx0]+ATR[Barindex-Idx0]/2,Dialog,Bold,20) coloured("BLUE",255)
DRAWSEGMENT(idx2,High[barindex-idx2],idx1,Low[barindex-idx1]) STYLE(Line,3) coloured("BLUE",255)
DRAWSEGMENT(idx1,Low[barindex-idx1],idx0,High[barindex-idx0]) STYLE(Line,3) coloured("BLUE",255)
Endif

If showBreak then
DRAWSEGMENT(idx1,Low[barindex-idx1],barindex+1,Low[barindex-idx1]) STYLE(DOTTEDLINE2,2) coloured("BLUE",255)
DRAWARROWDOWN(barindex,High+ATR/2) coloured("RED",255)
Endif

Endif

If pos=-1 and Low[barindex-idx0]<High[barindex-idx1] and Low[barindex-idx0]>Low[barindex-idx2] and (Close>High[barindex-idx1] and open<High[barindex-idx1]) then

If showPattern then
DRAWTEXT("1",idx2,Low[barindex-idx2]-ATR[Barindex-Idx2]/2,Dialog,Bold,20) coloured("BLUE",255)
DRAWTEXT("2",idx1,High[barindex-idx1]+ATR[Barindex-Idx1]/2,Dialog,Bold,20) coloured("BLUE",255)
DRAWTEXT("3",idx0,Low[barindex-idx0]-ATR[Barindex-Idx0]/2,Dialog,Bold,20) coloured("BLUE",255)
DRAWSEGMENT(idx2,Low[barindex-idx2],idx1,High[barindex-idx1]) STYLE(Line,3) coloured("BLUE",255)
DRAWSEGMENT(idx1,High[barindex-idx1],idx0,Low[barindex-idx0]) STYLE(Line,3) coloured("BLUE",255)
Endif

If showBreak then
DRAWSEGMENT(idx1,High[barindex-idx1],barindex+1,High[barindex-idx1]) STYLE(DOTTEDLINE2,2) coloured("BLUE",255)
DRAWARROWUP(barindex,Low-ATR/2) coloured("GREEN",255)
Endif

Endif
Endif
Endif

Return

Download
Filename: 1-2-3-pattern.itf
Downloads: 332
LucasBest Average
As an architect of digital worlds, my own description remains a mystery. Think of me as an undeclared variable, existing somewhere in the code.
Author’s Profile

Comments

Logo Logo
Loading...