LucasBest

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
1-2-3 Pattern Indicator

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: 363
LucasBest
LucasBest Senior
Currently debugging life, so my bio is on hold. Check back after the next commit for an update.
Author’s Profile

Comments

oyinloyea
2 years ago
#

Thanks for the indicator

romanelli4
2 years ago
#

molto interessante e grazie ma come faccio a trasformarlo in trading system? grazie per la risposta

Stefano1234
3 years ago
#

there is an error: Define the variable: prd, showBreak, showPattern, showPvts

Goldotor
3 years ago
#

Thank you for sharing this indicator. That's a great work.

ProRealCode ProRealCode
Loading...