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

Volume Trade with Candle reader for Amibroker (AFL)
Divyesh
almost 11 years ago
Amibroker (AFL)

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

I had found AFL on this site & modified and get nice chart & result…!
most of the time we get Signals on Reverse or Return…..!
i have also add Candle reader from another AFL even from this site….!

when we use both togather, we get near by clear view of Reverse & profit booking ……!

Green Dot indicates buying with high volume and White dot Indicates exit from buy…….!
Red Dot Indicates Selling with high volume and Blue Dot indicates book profit in short…..!
Enjoy…….
Happy Treading…..!

Screenshots

Similar Indicators / Formulas

Wolf Wave AFL
Submitted by shekhar373 over 12 years ago
Head & Shoulders Pattern
Submitted by anandnst almost 13 years ago
Modified Head & Shoulder Pattern
Submitted by huynhbao2 about 13 years ago
Cup Formation
Submitted by vargasc1 about 13 years ago
Andrews Pitchfork v3.3
Submitted by kaiji over 14 years ago
Schiff Lines
Submitted by kaiji about 14 years ago

Indicator / Formula

Copy & Paste Friendly
CandleReader = ParamToggle("Candle Reader","Show|Hide",1);
_SECTION_BEGIN("Volume Trade");
Period = Param("Period", 20, 2, 300, 1, 10 ); 
LowColor = colorLightGrey;
ClimaxColor = colorRed;
ChurnColor = colorGreen;
ClimaxChurnColor=colorBlue;
LowChurnColor= colorWhite;

Value1 = V*C;
Value2 = (V*C)*(H-L);
Value3 = (V*C)/(H-L);
sw=(Value1 == LLV(Value1,Period));
sw1=(Value2 == HHV(Value2,Period)) ;//C<O;
sw2=(Value3 == HHV(Value3,Period));//&C>O;
sw3=((Value2 == HHV(Value2,Period) AND (Value3 == HHV(Value3,Period))));
sw4=(Value3 == LLV(Value3,Period));
PlotShapes( shapeSmallCircle* sw2,colorBrightGreen, 0,L, -30);
//PlotShapes( shapeSmallCircle* sw,colorLightGrey, 0,L, -30);
PlotShapes( shapeSmallCircle* sw1,colorRed, 0,H, 40);
PlotShapes( shapeSmallCircle* sw3,colorBlue, 0,L, -40);
PlotShapes( shapeSmallCircle* sw4,colorWhite, 0,H, 30);

BarColor = 
IIf( (Value1 == LLV(Value1,Period)), LowColor,
IIf( (Value2 == HHV(Value2,Period)), ClimaxColor,
IIf( (Value3 == HHV(Value3,Period)), ChurnColor,
IIf( ((Value2 == HHV(Value2,Period) AND (Value3 == HHV(Value3,Period)))), ClimaxChurnColor,
IIf( (Value3 == LLV(Value3,Period)), LowChurnColor, colorBlueGrey)))));
Plot(C,"close",Barcolor,styleBar);
_SECTION_END();
_SECTION_BEGIN("Candle Identification");
O1 = Ref(O,-1);O2 = Ref(O,-2);
H1 = Ref(H,-1);H2 = Ref(H,-2);
L1 = Ref(L,-1);L2 = Ref(L,-2);
C1 = Ref(C,-1);C2 = Ref(C,-2);
function CandlePattern(P)
   {
   global PatternName;
   if(P == 0)  { PatternName = "WhiteMaubozu"; Pv = (C>O AND H==C AND
O==L); }
   else if(P == 1) { PatternName = "BlackClosingMarubozu"; Pv = (O>C AND
C==L); }
   else if(P == 2) { PatternName = "WhiteClosingMarubozu"; Pv = (C>O AND
C==H); }
   else if(P == 3) { PatternName = "BlackOpeningMarubozu"; Pv = (O>C AND
O==H); }
   else if(P == 4) { PatternName = "WhiteOpeningMarubozu"; Pv = (C>O AND
O==L); }
   else if(P == 5) { PatternName = "HangingMan"; Pv = (((H-L)>4*(O-C)) AND
((C-L)/(.001+H-L)>= 0.75) AND ((O-L)/(.001+H-L)>= 0.75)); }
   else if(P == 6) { PatternName = "Hammer"; Pv = (((H-L)>3*(O-C)) AND
((C-L)/(.001+H-L)>0.6) AND ((O-L)/(.001+H-L)>0.6)); }
   else if(P == 7) { PatternName = "InvertedHammer"; Pv = (((H-L)>3*(O-C))
AND ((H-C)/(.001+H-L)>0.6) AND ((H-O)/(.001+H-L)>0.6)); }
   else if(P == 8) { PatternName = "ShootingStar"; Pv = (((H-L)>4*(O-C))
AND ((H-C)/(.001+H-L)>= 0.75) AND ((H-O)/(.001+H-L)>= 0.75)); }
   else if(P == 9) { PatternName = "BlackSpinningTop"; Pv = ((O>C) AND
((H-L)>(3*(O-C))) AND (((H-O)/(.001+H-L))<.4) AND
(((C-L)/(.001+H-L))<.4)); }
   else if(P == 10) { PatternName = "WhiteSpinningTop"; Pv = ((C>O) AND
((H-L)>(3*(C-O))) AND (((H-C)/(.001+H-L))<.4) AND
(((O-L)/(.001+H-L))<.4)); }
   else if(P == 11) { PatternName = "BearishAbandonedBaby"; Pv = ((C1 == O1)
AND (C2>O2) AND (O>C) AND (L1>H2) AND (L1>H)); }
   else if(P == 12) { PatternName = "BearishEveningDojiStar"; Pv = ((C2>O2)
AND ((C2-O2)/(.001+H2-L2)>.6) AND (C2<O1) AND (C1>O1) AND
((H1-L1)>(3*(C1-O1))) AND (O>C) AND (O<O1)); }
   else if(P == 13) { PatternName = "DarkCloudCover"; Pv = (C1>O1 AND
((C1+O1)/2)>C AND O>C AND O>C1 AND C>O1 AND (O-C)/(.001+(H-L)>0.6)); }
   else if(P == 14) { PatternName = "BearishEngulfing"; Pv = ((C1>O1) AND
(O>C) AND (O>= C1) AND (O1>= C) AND ((O-C)>(C1-O1))); }
   else if(P == 15) { PatternName = "ThreeOutsideDownPattern"; Pv = ((C2>O2)
AND (O1>C1) AND (O1>= C2) AND (O2>= C1) AND ((O1-C1)>(C2-O2)) AND (O>C) AND
(C<C1)); }
   else if(P == 16) { PatternName = "BullishAbandonedBaby"; Pv = ((C1 == O1)
AND (O2>C2) AND (C>O) AND (L2>H1) AND (L>H1)); }
   else if(P == 17) { PatternName = "BullishMorningDojiStar"; Pv = ((O2>C2)
AND ((O2-C2)/(.001+H2-L2)>.6) AND (C2>O1) AND (O1>C1) AND
((H1-L1)>(3*(C1-O1))) AND (C>O) AND (O>O1)); }
   else if(P == 18) { PatternName = "BullishEngulfing"; Pv = ((O1>C1) AND
(C>O) AND (C>= O1) AND (C1>= O) AND ((C-O)>(O1-C1))); }
   else if(P == 19) { PatternName = "ThreeOutsideUpPattern"; Pv = ((O2>C2)
AND (C1>O1) AND (C1>= O2) AND (C2>= O1) AND ((C1-O1)>(O2-C2)) AND (C>O) AND
(C>C1)); }
   else if(P == 20) { PatternName = "BullishHarami"; Pv = ((O1>C1) AND (C>O)
AND (C<= O1) AND (C1<= O) AND ((C-O)<(O1-C1))); }
   else if(P == 21) { PatternName = "ThreeInsideUpPattern"; Pv = ((O2>C2)
AND (C1>O1) AND (C1<= O2) AND (C2<= O1) AND ((C1-O1)<(O2-C2)) AND (C>O) AND
(C>C1) AND (O>O1)); }
   else if(P == 22) { PatternName = "PiercingLine"; Pv = ((C1<O1) AND
(((O1+C1)/2)<C) AND (O<C) AND (O<C1) AND (C<O1) AND
((C-O)/(.001+(H-L))>0.6)); }
   else if(P == 23) { PatternName = "BearishHarami"; Pv = ((C1>O1) AND (O>C)
AND (O<= C1) AND (O1<= C) AND ((O-C)<(C1-O1))); }
   else if(P == 24) { PatternName = "ThreeInsideDownPattern"; Pv = ((C2>O2)
AND (O1>C1) AND (O1<= C2) AND (O2<= C1) AND ((O1-C1)<(C2-O2)) AND (O>C) AND
(C<C1) AND (O<O1)); }
   else if(P == 25) { PatternName = "ThreeWhiteSoldiers"; Pv = (C>O*1.01)
AND (C1>O1*1.01) AND (C2>O2*1.01) AND (C>C1) AND (C1>C2) AND (O<C1) AND
(O>O1) AND (O1<C2) AND (O1>O2) AND (((H-C)/(H-L))<.2) AND
(((H1-C1)/(H1-L1))<.2) AND (((H2-C2)/(H2-L2))<.2); }
   else if(P == 26) { PatternName = "DarkCloudCover"; Pv = (C1>O1*1.01) AND
(O>C) AND (O>H1) AND (C>O1) AND (((C1+O1)/2)>C) AND (C>O1) AND
(MA(C,13)-Ref(MA(C,13),-4)>0); }
   else if(P == 27) { PatternName = "ThreeBlackCrows"; Pv = (O>C*1.01) AND
(O1>C1*1.01) AND (O2>C2*1.01) AND (C<C1) AND (C1<C2) AND (O>C1) AND (O<O1)
AND (O1>C2) AND (O1<O2) AND (((C-L)/(H-L))<.2) AND (((C1-L1)/(H1-L1))<.2)
AND (((C2-L2)/(H2-L2))<.2); }
   else if(P == 28) { PatternName = "doji"; Pv = (O == C); }
   else if(P == 29) { PatternName = "GapUp"; Pv = GapUp(); }
   else if(P == 30) { PatternName = "GapDown"; Pv = GapDown(); }
   else if(P == 31) { PatternName = "BigGapUp"; Pv = L>1.01*H1; }
   else if(P == 32) { PatternName = "BigGapDown"; Pv = H<0.99*L1; }
   else if(P == 33) { PatternName = "HugeGapUp"; Pv = L>1.02*H1; }
   else if(P == 34) { PatternName = "HugeGapDown"; Pv = H<0.98*L1; }
   else if(P == 35) { PatternName = "DoubleGapUp"; Pv = GapUp() AND
Ref(GapUp(),-1); }
   else if(P == 36) { PatternName = "DoubleGapDown"; Pv = GapDown() AND
Ref(GapDown(),-1); }
   return Pv;
   }

PatternNameList = "";
for(Cp=0; Cp<=36; Cp++)
	{
	VarSet("Pattern"+NumToStr(Cp,1.0),CandlePattern(cP));
	PatternNameList = PatternNameList +PatternName+","; 
	}

BI = BarIndex();
SelectedBar = SelectedValue(BI) -BI[0];
//Selectedbar = Status("lastvisiblebar")-1;
PStr="";
for(Cp=0; Cp<=44; Cp++)
	{
	Temp = VarGet("Pattern"+NumToStr(Cp,1.0));
	if(temp[SelectedBar]) Pstr=Pstr+"#"+NumToStr(Cp,1.0)+" - "+StrExtract(PatternNameList,Cp)+"\n";
	}
_SECTION_END();
_SECTION_BEGIN("Background text");
SetChartBkColor(ParamColor("Chart Back Color",colorBlack));
strWeekday = StrMid("---SUNDAY---MONDAY--TUESDAYWEDNESDAY-THURSDAY--FRIDAY--SATURDAY", SelectedValue(DayOfWeek())*9,9);
GraphXSpace=Param("GraphXSpace",20,-55,200,1);
C13=20;
C14=2.1;
C15=12;
pxwidth = Status("pxwidth");
pxheight = Status("pxheight");
YC=TimeFrameGetPrice("C",inDaily,-1);
DD=Prec(C-YC,2);
xx=Prec((DD/YC)*100,2);
GfxSetBkMode(transparent=1);
GfxSetOverlayMode(1);
GfxSelectFont("Candara", Status("pxheight")/C13 );
GfxSetTextAlign( 6 );
GfxSetTextColor(   ColorRGB (217,217,213));
GfxTextOut( Name(), Status("pxwidth")/C14, Status("pxheight")/C15 );
GfxSelectFont("Tahoma", Status("pxheight")/C13*0.5 );
GfxSetTextColor( ColorRGB (217,217,213));
GfxTextOut( "L.T.P. : "+ C +"", Status("pxwidth")/C14, Status("pxheight")/C15*2 );
GfxSelectFont("Candara", Status("pxheight")/C13*0.5 );
GfxSetTextColor(  ColorRGB (217,217,213));
GfxTextOut( ""+DD+ " ( "+xx+"%)", Status("pxwidth")/C14, Status("pxheight")/C15*2.5 );
GfxSelectFont("Tahoma", Status("pxheight")/C13*0.5 );
GfxSetTextColor( ColorRGB (217,217,213));
GfxTextOut( "Sai Stock Broking 09825340778 ", Status("pxwidth")/C14, Status("pxheight")/C15*3 );
_SECTION_END();

_SECTION_BEGIN("Title");
 
DODay = TimeFrameGetPrice("O", inDaily);
DHiDay = TimeFrameGetPrice("H", inDaily); 
DLoDay = TimeFrameGetPrice("L", inDaily); 
Title = EncodeColor(colorWhite)+ Name() + ",  " + Interval(2) + ",  " + Date() + "   -  "+strWeekday + "  - " +
EncodeColor(colorWhite)   +  "\n  O " + EncodeColor(colorWhite) + O + 

 ","+EncodeColor(colorOrange)+"   H :  "  +EncodeColor(colorWhite) + H + 
 ","+EncodeColor(colorBrightGreen)+"    L  :  " +EncodeColor(colorWhite)+ L + 
 ","+EncodeColor(colorBlue)+"   C  :  " +EncodeColor(colorWhite) + C +
"\n"+EncodeColor(colorWhite)+ "  Day-Open : " +DODay +EncodeColor(colorOrange)+ "  Day-High : " +DHiDay +EncodeColor(colorBrightGreen) +"  Day-Low : " + DLoDay +
"\n"+ 
EncodeColor(colorLime)+
WriteIf (sW2 , " Buying starts with Hight Volume, Up Move starts... ","")+
EncodeColor(colorRed)+WriteIf (sW1 , " Selling starts with Hight Volume, Down Move starts... ","")+
EncodeColor(colorLime)+WriteIf (sW3 , "End of Down Move ... ","")+
EncodeColor(colorRed)+WriteIf (sW4 , "End of Up Move ... ","")+
"\n"+ 
EncodeColor(colorLime)+"Candle Reader= "+Pstr
;

7 comments

1. anandnst

Hello divyesh,

I tried this afl but lots of red n green dots. at times both on same candle.. how to read them n which timeframe should be used?

2. Divyesh

@ anandnst,
yess sir, each TF gives result. if TF is small, result small. if big TF result will be big. when both cones to gather, 3rd dot will be along with or in next or 2nd next candle…..most of the times blue dot….which indicates end of down move…! i had same confusion, for that Candle reader is there….!
sirji, you are equate more expert…you can even gave the best….!
thank you sirji……….!
this is not any strategy for trade but we can have idea of return, so we can book profit…!
treading strategy what ever you use….!

3. altzer

how to can to play in my mt4 platform , dimitris , email, n.pateras@yahoo.gr

4. altzer
my like bollinger bands color , how to play in my mt4 platform , Dimitris , email n.pateras@yahoo.gr
5. amir4xx112

i like it

6. abhijeet_f

fantastic sir thanks for great work

7. cg007pec

Great job man… one of best Volume Trade with Candle pattern afl..

Leave Comment

Please login here to leave a comment.

Back