Stock Portfolio Organizer
The ultimate porfolio management solution.
WiseTrader Toolbox
#1 Selling Amibroker Plugin featuring:
Pattern Commentary for Amibroker (AFL)
This AFL indicates when to buy and when to sell the stock. It also gives some stats on the past patterns.
Screenshots
Similar Indicators / Formulas
Indicator / Formula
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 | _SECTION_BEGIN ( "Unnamed 34" ); Version (4.70); // needs AmiBroker 4.70 function msPattPos( element ) { Value1 = Ref ( H , -1 ); Value2 = Ref ( L , -1 ); Value3 = ( Value1 + Value2 )/2; Dist = Ref ( ATR ( 10 ), -1 ); Value4 = Value1 + Dist; Value5 = Value2 - Dist; result = IIf ( element < Value5, 0, IIf ( element < Value2, 1, IIf ( element < Value3, 2, IIf ( element < Value1, 3, IIf ( element < Value4, 4, 5 ) ) ) ) ); return result; } function msPattToText( patt ) { result = WriteIf ( patt == 0, " is below previous (Low - ATR 10) " , WriteIf ( patt == 1, " is above (at) previous (Low - ATR 10) and below previous Low " , WriteIf ( patt == 2, " is above (at) previous Low and below previous Midpoint " , WriteIf ( patt == 3, " is above (at) previous Midpoint and below previous High " , WriteIf ( patt == 4, " is above (at) previous High and below (High + ATR 10) " , " is above (at) previous (High + ATR(10) " ) ) ) ) ); return result; } function msRecognize() { return 1000 * msPattPos( Open ) + 100 * msPattPos( High ) + 10 * msPattPos( Low ) + msPattPos( Close ); } function msPatternDescription( patt ) { return "Open: " + msPattToText( round ( ( patt / 1000 ) % 10 ) ) + "\n" + "High: " + msPattToText( round ( ( patt / 100 ) % 10 ) ) + "\n" + "Low: " + msPattToText( round ( ( patt / 10 ) % 10 ) ) + "\n" + "Close: " + msPattToText( round ( patt % 10 ) ); } patts = msRecognize(); // by default use pattern occuring at selected bar DesiredPattern = SelectedValue ( patts ); // if you want manual-entry of pattern code from parameter dialog // then uncomment the line below //DesiredPattern=Param("Pattern to look for", 3434, 0, 5555, 0 ); Title = StrFormat ( "{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g" , O , H , L , C ); Title = Title + "\nPattern code is : " + DesiredPattern + "\n" + msPatternDescription( DesiredPattern ); Plot ( C , "Price" , ParamColor ( "Color" , colorBlack ), styleNoTitle | ParamStyle ( "Style" ) | GetPriceStyle () ); PattCloseAbove = DesiredPattern == patts AND Ref ( Close > Open , 1 ); PattCloseBelow = DesiredPattern == patts AND Ref ( Close < Open , 1 ); PlotShapes ( ( DesiredPattern == patts ) * shapeCircle , IIf ( PattCloseAbove, colorGreen , IIf ( PattCloseBelow, colorRed , colorBlue ) ), 0, High , 30 ); NumPatterns = LastValue ( Cum ( DesiredPattern == patts ) ); NumPattCloseAbove = LastValue ( Cum ( PattCloseAbove ) ); NumPattCloseBelow = LastValue ( Cum ( PattCloseBelow ) ); NumPattCloseEqual = NumPatterns - NumPattCloseAbove - NumPattCloseBelow; Title = Title + "\n\nTotal number of Patterns: " + NumPatterns + "\n% on Total Bars: " + 100 * NumPatterns/ BarCount + "\nIn the next bar\n" + EncodeColor ( colorGreen ) + "Close has been above the open " + NumPattCloseAbove + " (" + NumPattCloseAbove / NumPatterns + "%) times\n" + EncodeColor ( colorRed ) + "Close has been below the open " + NumPattCloseBelow + " (" + NumPattCloseBelow / NumPatterns + " %) times\n" + EncodeColor ( colorBlue ) + "Close has been equal to the open " + NumPattCloseEqual + " (" + NumPattCloseEqual / NumPatterns + " %)times" ; _SECTION_END (); |
1 comments
Leave Comment
Please login here to leave a comment.
Back
good effort, thanks