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 ....
WiseTrader Toolbox
#1 Selling Amibroker Plugin featuring:
Advanced Adaptive Indicators
Advanced Pattern Exploration
Neural Networks
And Much More ....
Triangle Pattern for Amibroker (AFL)
Rating:
5 / 5 (Votes 2)
Tags:
amibroker, pattern
When the Triangle formed just enter the share :)
Screenshots
Indicator / Formula
Copy & Paste Friendly
_SECTION_BEGIN("Traingle 2"); function calculatePosition(array,shift) { result = Null; for( i = 0; i < BarCount; i++ ) { if (array[ i ] == 1) { k = i - shift[ i ]; if( k >= 0 AND k < BarCount ) result[ k ] = 1; } } return result; } function pattern_func(PLow,bi,t1,t2,t3,AA,AABar,BB,BBBar,CC,CCBar,nbar) { pattern = (t3 == 1) AND (t2 == 3) AND (t1 == 2) AND PLow AND BBBar - AABar > nbar AND CCBar - BBBar > nbar; return pattern; } // E.M.Pottasch, 2/21/2011 // example code triangle fill using arrays //SetBarsRequired(sbrAll,sbrAll); bi = BarIndex(); nbar = Param("nbar",7,2,50,1); // define fractals PHigh = H > Ref(HHV(H,nbar),-1) AND Ref(HHV(H,nbar),nbar) <= H; PHighPrice = ValueWhen(PHigh,H); PLow = L < Ref(LLV(L,nbar),-1) AND Ref(LLV(L,nbar),nbar) >= L; PLowPrice = ValueWhen(PLow,L); ll = IIf( PLow AND PLowPrice < Ref(PLowPrice, -1), 1, 0 ); hl = IIf( PLow AND PLowPrice >= Ref(PLowPrice, -1), 2, 0 ); lh = IIf( PHigh AND PHighPrice < Ref(PHighPrice, -1), 3, 0 ); hh = IIf( PHigh AND PHighPrice >= Ref(PHighPrice, -1), 4, 0 ); combi = ll + hl + lh + hh; t1 = ValueWhen(combi,combi,1); t2 = ValueWhen(combi,combi,2); t3 = ValueWhen(combi,combi,3); AA = ValueWhen(PLow,L,2); AABar = ValueWhen(PLow,bi,2); BB = ValueWhen(PHigh,H,1); BBBar = ValueWhen(PHigh,bi,1); CC = ValueWhen(PLow,L,1); CCBar = ValueWhen(PLow,bi,1); // calculate the end point of the pattern => C pattern = pattern_func(PLow,bi,t1,t2,t3,AA,AABar,BB,BBBar,CC,CCBar,nbar); // calculate the starting point of the pattern => A dBar = IIf(pattern,CCBar-AABar,0); hhh1 = calculatePosition(pattern,dBar); // calculate the middle point of the pattern => B dBar = IIf(pattern,CCBar-BBBar,0); hhh2 = calculatePosition(pattern,dBar); // define x-axis range between A-C rangeAC = Flip(hhh1,pattern); // define x-axis range between A-B rangeAB = Flip(hhh1,hhh2); // define x-axis range between B-C rangeBC = Flip(hhh2,pattern); // extend AC rangeAC = IIf(Ref(rangeAC,-1),Ref(rangeAC,-1),rangeAC); // now define the legs of the triangle // AC leg startval1 = ValueWhen(PLow,L,1); endval1 = ValueWhen(PLow,L,0); startbar1 = ValueWhen(PLow,bi,1); endbar1 = ValueWhen(PLow,bi,0); aa1 = (endval1-startval1)/(endbar1-startbar1); bb1 = startval1; ACLeg = aa1 * (bi - startbar1) + bb1; ACLeg = IIf(ACLeg AND rangeAC,ACLeg,Null); // AB leg startval1 = ValueWhen(PLow,L,1); endval1 = ValueWhen(PHigh,H,0); startbar1 = ValueWhen(PLow,bi,1); endbar1 = ValueWhen(PHigh,bi,0); aa1 = (endval1-startval1)/(endbar1-startbar1); bb1 = startval1; ABLeg = aa1 * (bi - startbar1) + bb1; ABLeg = IIf(ABLeg AND rangeAB,ABLeg,Null); // BC leg startval1 = ValueWhen(PHigh,H,1); endval1 = ValueWhen(PLow,L,0); startbar1 = ValueWhen(PHigh,bi,1); endbar1 = ValueWhen(PLow,bi,0); aa1 = (endval1-startval1)/(endbar1-startbar1); bb1 = startval1; BCLeg = aa1 * (bi - startbar1) + bb1; BCLeg = IIf(BCLeg AND rangeBC,BCLeg,Null); // define top and bottom array for polygon fill topLineArray = IIf(ABLeg,ABLeg,BCLeg); bottomLineArray = ACLeg; topLineArray = IIf(bottomLineArray AND IsEmpty(topLineArray),bottomLineArray,topLineArray); // chart GraphXSpace = 5; SetChartOptions(0, chartShowDates); Plot( C, "\nPrice",colorBrightGreen, styleCandle ); PlotShapes(shapeSmallCircle*PLow,colorGreen,0,L,-10); PlotShapes(shapeSmallCircle*PHigh,colorRed,0,H,10); PlotShapes(IIf(pattern,shapeUpTriangle,shapeNone),colorBrightGreen,0,L,-25); PlotShapes(IIf(pattern,shapeHollowUpTriangle,shapeNone),colorWhite,0,L,-25); //Plot(ACLeg,"",colorWhite,styleLine); //Plot(ABLeg,"",colorWhite,styleLine); //Plot(BCLeg,"",colorWhite,styleLine); Plot(topLineArray,"",colorWhite,styleLine); Plot(bottomLineArray,"",colorWhite,styleLine); fillOnOff = ParamToggle("Fill Pattern","Fill Off|Fill On",1); if (fillOnOff) { PlotOHLC(topLineArray,topLineArray,bottomLineArray,bottomLineArray,"", colorAqua, styleCloud | styleNoLabel ); SetChartBkColor( ParamColor("background",colorBlack)); } _SECTION_END();
8 comments
Leave Comment
Please login here to leave a comment.
Back
sabse bakar
oks
Just VERY curious. How can comments be made on an indicator that is not approved or displayed !??
People stumble upon them through google.
“over 3 years ago” and “Indicator has not been approved yet” ?!?!?!
Approved. Looks like it was missed somehow or the user edited it after it was reviewed.
Hi, can anyone please guide how to use this AFL,
is it for intra-day? if so what the best time-frame?
gives only buy signal,,,,
sir can you please write the same formula for sell signal as well?
Thankyou