Stock Portfolio Organizer

The ultimate porfolio management solution.

Shares, Margin, CFD's, Futures and Forex
EOD and Realtime
Dividends and Trust Distributions
And Much More ....
For Portfolio Manager Click Here

WiseTrader Toolbox

#1 Selling Amibroker Plugin featuring:

Advanced Adaptive Indicators
Advanced Pattern Exploration
Neural Networks
And Much More ....
Find Out More Here

Auto retracment for Amibroker (AFL)

Rating:
3 / 5 (Votes 7)
Tags:
amibroker, fibonacci

respested all members,i want to share my new indicator “Auto Retracer”.A mine good friend share this indicator for me.thanks for him.it shows clear mid term trend,good for mid term & earn handsome profit..Enjoy!!!!!!!!

Screenshots

Similar Indicators / Formulas

Fibonacci Retracements and RSI
Submitted by kaiji about 15 years ago
Automatic Fibonacci Levels
Submitted by kaiji about 15 years ago
Automatic Fibonacci
Submitted by ngocleasing almost 15 years ago
Fibonacci High-Probability Zones
Submitted by jayman2005 about 12 years ago
fibonacci extension updown
Submitted by vijaybaroda about 12 years ago

Indicator / Formula

Copy & Paste Friendly
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
_SECTION_BEGIN("Price");
SetChartOptions(0,chartShowArrows|chartShowDates);
_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) ));
Plot( C, "Close", ParamColor("Color", colorBlack ), styleNoTitle | ParamStyle("Style") | GetPriceStyle() );
_SECTION_END();
 
_SECTION_BEGIN("Background Color");
BKswitch = ParamToggle("Background Color","On,Off");
  
OUTcolor = ParamColor("Outer Panel Color",colorLightBlue);
INUPcolor = ParamColor("Inner Panel Upper",colorLightYellow);
INDNcolor = ParamColor("Inner Panel Lower",colorSeaGreen);
TitleColor = ParamColor("Title Color ",ColorRGB(245,245,245));
  
if (NOT BKswitch)
{
SetChartBkColor(OUTcolor); // color of outer border
SetChartBkGradientFill(INUPcolor,INDNcolor,TitleColor); // color of inner panel
}
_SECTION_END();
 
 
SetChartBkColor(16);
SetBarsRequired(sbrAll);
GraphXSpace=Param("GraphXSpace",15,-100,300,1);
daynum= Now(9);//day of the week
SatSun= IIf((daynum==1 OR daynum==7),1,0);
dec= IIf(StrRight(Name(),3) == "", 3.2, 3.2);
dec= (Param("Decimals",2,0,7,1)/10)+1;
uc= ParamColor("Up Candle Fill Color",19);
dc= ParamColor("Dn Candle Fill Color",24);
nc= ParamColor("Neutral Fill Color",21);
bc= BarCount-1;
x= BarIndex();
Lx= LastValue(x);
sx= SelectedValue(x);
//==============================
SetBarFillColor(IIf(C>O,uc,IIf(C<O,dc,nc)));
Plot(C,"",IIf(C>Ref(C,-1),34,IIf(C<Ref(C,-1),32,42)),64);
Plot(MA(C,200),"",52,4);
//========= GFX Status =========
lvb= Status("LastVisibleBar");
fvb= Status("FirstVisibleBar");
mny= Status("AxisMiny"); mxy= Status("AxisMaxy");
pxl= Status("pxChartLeft"); pxw= Status("pxChartWidth");
pxh= Status("pxChartHeight"); pxb= Status("pxChartBottom");
mth= mxy-mny;
tvb= lvb-fvb;
function tpX(x) { return pxl+(x-fvb)*pxw/(tvb+1); }
function tpY(y) { return pxb-floor(0.5 +(y-mny)*pxh/mth); }
//======== GFX Flat Line ========
procedure sln(xs,ys,xe,col,thk,sty) {
xs=LastValue(tpx(xs)); ys=LastValue(tpy(ys));
xe=LastValue(tpx(xe)); av=xs>0 AND xe>xs;
GfxSelectPen(col,thk,sty); GfxSetBkColor(16);
IIf(av,GfxPolyline(xs,ys,xe,ys),Null); }
//======== Fib Function =========
f0=0; f1=0; p=0; n=0; d=0;
function fvd(fib) {
fv=fib*d; ffv=IIf(p,f0+fv,f0-fv);
return IIf(ffv>0,ffv,Null); }
//======== Plot Shapes ========
procedure pshp(x,y,shp,co,shf) {
x=SelectedValue(x); y=SelectedValue(y);
PlotShapes(IIf(BarIndex()==x,shp,0),co,0,y,shf); }
//======== Fractal Peak Trough ========
x= BarIndex();
function pkID(nb){ p=H==HHV(H,2*nb)AND Ref(HHV(H,nb),nb)<H;
return p AND LastValue(x)-ValueWhen(p,x)>nb; }
function trID(nb){ t=L==LLV(L,2*nb)AND Ref(LLV(L,nb),nb)>L;
return t AND LastValue(x)-ValueWhen(t,x)>nb; }
//=============================
_SECTION_BEGIN("Select Pivots");
//=============================
//SetBarsRequired(sbrAll,sbrAll);
nn= Param("Fractal Minimum",5,2,150,1);
plf= ParamList("Pivots/Ribbon","Off|Fractals|Ribbon|Both",0);
wwv=ParamToggle("Plot Wolfe Wave","Off|On",1);
cvg= ParamToggle("Require Convergence","Off|On",1);
sym= ParamToggle("Require Symmetry","Off|On",1);
fib=ParamToggle("Fib Retracements","Off|On",1);
mnR= Param("Min Time Retrace %",0.50,0.50,1.00,0.01);//Min % of P1-P2 bars
mxR= Param("Max Time Retrace %",1.62,1.00,4.00,0.01);//Max % of P1-P2 bars
mx5= Param("Max P5 Time Retrace %",2.62,1,5,0.01);//Max % of P2-P3 bars
nmn= Param("Near 5 %",0.62,0.50,0.995,0.001);//% of Retrace
//==================
x= BarIndex();
Lx=LastValue(x);
//==================
pk= pkID(nn); tr= trID(nn);
tx1= ValueWhen(tr,x,1); px2= ValueWhen(pk,x,2);
pk= IIf(pk,IIf(px2<tx1,pk,IIf(ValueWhen(pk,H,2)>H,False,pk)),pk);
px1= ValueWhen(pk,x,1); tx2= ValueWhen(tr,x,2);
tr= IIf(tr,IIf(tx2<px1,tr,IIf(ValueWhen(tr,L,2)<L,False,tr)),tr);
px0= ValueWhen(pk,x,0); tx0= ValueWhen(tr,x,0);
py0= ValueWhen(pk,H,0); ty0= ValueWhen(tr,L,0);
pk= IIf(pk AND px0>x,IIf(px0<tx0,IIf(py0>=H,False,pk),pk),pk);
tr= IIf(tr AND tx0>x,IIf(tx0<px0,IIf(ty0<=L,False,tr),tr),tr);
//===================
px= BarsSince(pk==1); tx= BarsSince(tr==1);
sup= SelectedValue(px) > SelectedValue(tx);
res= SelectedValue(tx)>= SelectedValue(px);
shp=shapeSmallCircle;
col= IIf(pk==1,42,IIf(tr==1,10,IIf(px>tx,19,IIf(tx>px,24,29))));
if(plf=="Ribbon" OR plf=="Both")Plot(2.25,"F
Swing",col,styleOwnScale|styleArea|4096,-1,100);
if(plf=="Fractals" OR plf=="Both"){PlotShapes(shp*pk,42,0,H,5);
PlotShapes(shp*tr,10,0,L,-5);}
//===================
yr1= ValueWhen(pk,H,1); xr1= ValueWhen(pk,x,1);
yr2= ValueWhen(pk,H,2); xr2= ValueWhen(pk,x,2);
yr3= ValueWhen(pk,H,3); xr3= ValueWhen(pk,x,3);
ys1= ValueWhen(tr,L,1); xs1= ValueWhen(tr,x,1);
ys2= ValueWhen(tr,L,2); xs2= ValueWhen(tr,x,2);
ys3= ValueWhen(tr,L,3); xs3= ValueWhen(tr,x,3);
//======== 5 POINT BEAR WAVE ========
be45xR= (xs1-xr2)/(xs2-xr3);
be55xR= (xr1-xs1)/(xr2-xs2);
becvg5= (yr2-ys1)<=(yr3-ys2);
be45xV= be45xR>=mnR AND be45xR<=mxR;
be55xV= be55xR>=mnR AND be55xR<=mx5;
if(sym==0)bexo5= xr1>xs1 AND xs1>xr2 AND xr2>xs2 AND xs2>xr3;
if(cvg==0)bepo5= yr2>yr3 AND yr1>yr2 AND ys1>ys2 AND ys1<yr2;
if(sym==1)bexo5= xr1>xs1 AND xs1>xr2 AND xr2>xs2 AND xs2>xr3 AND be45xV AND
be55xV;
if(cvg==1)bepo5= yr2>yr3 AND yr1>yr2 AND ys1>ys2 AND ys1<yr2 AND becvg5;
bq5= bexo5 AND bepo5;
//===================
x15= SelectedValue(ValueWhen(bq5,xr3));
y15= SelectedValue(ValueWhen(bq5,yr3));//P1
x25= SelectedValue(ValueWhen(bq5,xs2));
y25= SelectedValue(ValueWhen(bq5,ys2));//P2
x35= SelectedValue(ValueWhen(bq5,xr2));
y35= SelectedValue(ValueWhen(bq5,yr2));//P3
x45= SelectedValue(ValueWhen(bq5,xs1));
y45= SelectedValue(ValueWhen(bq5,ys1));//P4
x55= SelectedValue(ValueWhen(bq5,xr1));
y55= SelectedValue(ValueWhen(bq5,yr1));//P5
Ln135= LineArray(x15,y15,x35,y35,1);
Ln245= LineArray(x25,y25,x45,y45,1);
trgt5= LineArray(x15,y15,x45,y45,1);
//========= BEAR PLOTTING =========
if(wwv) {
Plot(Ln135,"",25,4|2048);
Plot(Ln245,"",43,4|2048);
Plot(trgt5,"",42,4|2048);
pshp(x15,y15,shapeDigit1,42,15); pshp(x25,y25,shapeDigit2,42,-15);
pshp(x35,y35,shapeDigit3,42,15); pshp(x45,y45,shapeDigit4,42,-15);
pshp(x55,y55,shapeDigit5,42,15);
}
x5up= ValueWhen(x>x45,Cross(H,Ln135));
x5dn= ValueWhen(x>x45,Cross(Ln135,H));
near= ValueWhen(x>x45,C>Ln245+(Ln135-Ln245)*nmn AND C<Ln135 AND NOT x5up AND
NOT x5dn);
//======== BEAR PRICE & TIME FIBS ========
if(fib) {
//======== Price Fibs ========
p=x45>x35; n=x45<x35; f0=y45; f1=y35; d=y35-y45;//Price Fibs
i618=fvd(0.618); i127=fvd(1.27); i162=fvd(1.62);
//====== Price AP Fibs ======
p=x45>x35; n=x45<x35; f0=y45; f1=y35; d=y35-y25;//AP Fibs
a618=fvd(0.618); a100=fvd(1.00); a127=fvd(1.27);
a162=fvd(1.62); a200=fvd(2.00); a224=fvd(2.24); a262=fvd(2.62);
//======== Time Fibs ========
p=x45>x35; n=x45<x35; f0=x45; f1=x35; d=x35-x25;//Time Fibs
x500=fvd(0.500); x618=fvd(0.618); x100=fvd(1.00);
x162=fvd(1.618); x262=fvd(2.62);
//======== PLOTTING ========
sln(x500,i618,x162,43,1,1); sln(x500,i127,x162,36,1,1);
sln(x500,i162,x162,34,1,1); sln(x500,y35,x162,32,1,1);
sln(x500,a618,x162,43,1,0); sln(x500,a100,x262,55,1,0);
sln(x500,a127,x262,44,1,0); sln(x500,a162,Lx,34,1,0);
sln(x100,a200,Lx,52,1,0); sln(x100,a224,Lx,42,1,0);
sln(x100,a262,Lx,51,1,0);
}
//===================
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxx
//======== 5 POINT BULL WAVE ========
bu45xR= (xr1-xs2)/(xr2-xs3);
bu55xR= (xs1-xr1)/(xs2-xr2);
bucvg5= (yr1-ys2)<=(yr2-ys3);
bu45xV= bu45xR>=mnR AND bu45xR<=mxR;
bu55xV= bu55xR>=mnR AND bu55xR<=mx5;
if(sym==0)buxo5= xs1>xr1 AND xr1>xs2 AND xs2>xr2 AND xr2>xs3;
if(cvg==0)bupo5= yr2>ys3 AND yr2>yr1 AND ys3>ys2 AND ys2>ys1 AND yr2>yr1 AND
yr1>ys3;
if(sym==1)buxo5= xs1>xr1 AND xr1>xs2 AND xs2>xr2 AND xr2>xs3 AND bu45xV AND
bu55xV;
if(cvg==1)bupo5= yr2>ys3 AND yr2>yr1 AND ys3>ys2 AND ys2>ys1 AND yr2>yr1 AND
yr1>ys3 AND bucvg5;
pq5= buxo5 AND bupo5;
//===================
x15= SelectedValue(ValueWhen(pq5,xs3));
y15= SelectedValue(ValueWhen(pq5,ys3));//P1
x25= SelectedValue(ValueWhen(pq5,xr2));
y25= SelectedValue(ValueWhen(pq5,yr2));//P2
x35= SelectedValue(ValueWhen(pq5,xs2));
y35= SelectedValue(ValueWhen(pq5,ys2));//P3
x45= SelectedValue(ValueWhen(pq5,xr1));
y45= SelectedValue(ValueWhen(pq5,yr1));//P4
x55= SelectedValue(ValueWhen(pq5,xs1));
y55= SelectedValue(ValueWhen(pq5,ys1));//P5
Ln135= LineArray(x15,y15,x35,y35,1);
Ln245= LineArray(x25,y25,x45,y45,1);
trgt5= LineArray(x15,y15,x45,y45,1);
//========= BULL PLOTTING =========
if(wwv) {
Plot(Ln135,"",27,4|2048);
Plot(Ln245,"",32,4|2048);
Plot(trgt5,"",51,4|2048);
pshp(x15,y15,shapeDigit1,43,-15); pshp(x25,y25,shapeDigit2,43,15);
pshp(x35,y35,shapeDigit3,43,-15); pshp(x45,y45,shapeDigit4,43,15);
pshp(x55,y55,shapeDigit5,10,-15);
}
x5up= ValueWhen(x>x45,Cross(L,Ln135));
x5dn= ValueWhen(x>x45,Cross(Ln135,L));
near= ValueWhen(x>x45,C<Ln245-(Ln245-Ln135)*nmn AND NOT x5up AND NOT x5dn);
//======== BEAR PRICE & TIME FIBS ========
if(fib) {
//======== Price Fibs ========
p=x45<x35; n=x45>x35; f0=y45; f1=y35; d=y45-y35;//Price Fibs
i618=fvd(0.618); i127=fvd(1.27); i162=fvd(1.62);
//====== Price AP Fibs ======
p=x45<x35; n=x45>x35; f0=y45; f1=y35; d=y25-y35;//AP Fibs
a618=fvd(0.618); a100=fvd(1.00); a127=fvd(1.27);
a162=fvd(1.62); a200=fvd(2.00); a224=fvd(2.24); a262=fvd(2.62);
//======== Time Fibs ========
p=x45>x35; n=x45<x35; f0=x45; f1=x35; d=x35-x25;//Time Fibs
x500=fvd(0.500); x618=fvd(0.618); x100=fvd(1.00);
x162=fvd(1.618); x262=fvd(2.62);
//======== PLOTTING ========
sln(x500,i618,x162,43,1,1); sln(x500,i127,x162,36,1,1);
sln(x500,i162,x162,34,1,1); sln(x500,y35,x162,32,1,1);
sln(x500,a618,x162,43,1,0); sln(x500,a100,x262,55,1,0);
sln(x500,a127,Lx,44,1,0); sln(x500,a162,Lx,34,1,0);
sln(x100,a200,Lx,52,1,0); sln(x100,a224,Lx,42,1,0);
sln(x100,a262,Lx,51,1,0);
}
RequestTimedRefresh(1);
Title = "\\c55" + Title = Name() + " " + FullName()+ " \\c32" +
Date() + " \\c43" + "{{INTERVAL}} " +
"\\c55 Open = \\c43" + WriteVal(O,dec) +
"\\c55 High = \\c43" + WriteVal(H,dec) +
"\\c55 Low = \\c32" + WriteVal(L,dec) +
"\\c55 Close = \\c52" + WriteVal(C,dec)+
"\\c55 Volume = \\c43"+ WriteVal(V,dec) +
"\\c55 ATR-9 = \\c42" + WriteVal(ATR(9),dec) +
"\\c55 Fractal =\\c10"+nn+"\\c55 Bars " +
"\\c55 x = " + WriteVal(x,1)+"\n\n" +
"\\c55x4 Retrace = \\c43"+ WriteVal(be45xR,1.2)+"%\n" +
"\\c55x5 Retrace = \\c43"+ WriteVal(be55xR,1.2);

4 comments

1. target1cr

Thanking for sharing.

2. Kabir

Thanks from my side too

i hope u will post more interesting afl

3. ole

Could you please explain how you use this and what the numbers and lines are.

4. Tinych

Very good work. Wolf Waves are the best.

Leave Comment

Please login here to leave a comment.

Back