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

Williams Alligator System for Amibroker (AFL)

Rating:
2 / 5 (Votes 6)
Tags:
amibroker

Williams Alligator system

This code attempts to do most of the Williams Alligator sytem where the terms fractal up and fractal down are used. Along with terms like Alligators month, lips, etc.

Similar Indicators / Formulas

Kavach Of Karna v2
Submitted by hbkwarez almost 10 years ago
Advanced Elliott Waves
Submitted by MarcosEn over 12 years ago
3_6Day GuaiLiLv
Submitted by motorfly over 12 years ago
*Level Breakout system*
Submitted by Tinych over 12 years ago
Horizontal Live Priceline Tool
Submitted by northstar over 12 years ago

Indicator / Formula

Copy & Paste Friendly
//------------------------------------------------------------------------------
//
//  Formula Name:    Williams Alligator system
//------------------------------------------------------------------------------
//
//  This code attempts to do most of the Williams Alligator sytem
//
//  where the terms fractal up and fractal down are used. Along
//
//  with terms like Alligators month, lips, etc.
//
//  To get a real picture of this go to the web site
//
//  www.profitunity.com and download the demo software
//
//  Investors Dream and see how this code compares.
//
//  You really need to read the book to get a picture of
//
//  what is going on. This is a good read. You can
//
//  get the Williams books on his web site as will. You
//
//  only need the latest one.
//
//------------------------------------------------------------------------------

/* The first set of lines are to set up the color coding for
the price bars */

a = (H+L)/2;
outsidebar = outside();
insidebar = H <= Ref(H,-1) and L >= Ref(L,-1);
upbar = H > ref(H,-1) and L >= ref(L, -1);
downbar = L < ref(L,-1) and H <= ref(H,-1);
barcolor=iif(outsidebar, 1, iif(downbar, 4, iif(upbar,5, 6) ) );

/*The following builds the alligator lines*/
maxGraph=12;
AlligatorBlue=Ref(Wilders(A,13),-8);
Graph0=AlligatorBlue;
AlligatorRed=Ref(Wilders(A,8),-5);
Graph1=AlligatorRed;
AlligatorGreen=Ref(Wilders(A,5),-3);
Graph2=AlligatorGreen;
Graph0Style=Graph1Style=Graph2Style=1+4;

Graph3=C;  
Graph3Style=64; 

/*Red:* modified for Amibroker*/


/*
Graph3Color=22;  22 is the number for dark green
*/

Graph3barcolor=barcolor;

Graph2Color=27; /* 6 is green */
Graph1Color=5;  /* 5 is red color */
Graph0color=7;  /* 7 is dark blue */
/*The following builds Fractal Up*/
var1=ValueWhen(
  (Ref(H,-2) > Ref(H, -4)) AND
  (Ref(H,-2) > Ref(H, -3)) AND
  (Ref(H,-2) > Ref(H, -1)) AND
  (Ref(H,-2) > H), Ref(H,-2),1); 
FractalUp=HighestSince(var1>0,var1,1);
Graph4=FractalUp;
Graph4Color=3;  /* 6 is green */
Graph4Style=9;
/*The following builds Fractal Down*/
var2= 
(Ref(L,-2) <= Ref(L, -1)) AND
(Ref(L,-2) <= Ref(L, 0)) AND
(Ref(L,-2) <= Ref(L, -3)) AND
(Ref(L,-2) <= Ref(L, -4));
FractalDown=ValueWhen( var2,Ref(L,-2),1);
Graph5=FractalDown;
Graph5Style=1;
Graph5Color=8;  /* red is 5 blue is 7 */
Graph5Style=9;
/*
Graph6=ma(c,17);
graph7=ma(c,50);
graph8=ma(c,200);
graph6Style=Graph7Style=graph8Style=12;
*/

/* Below are the buy sell signals for testing */

buy = cross(H,FractalUp+0.065)  
            and  (C > AlligatorRed)                ;  

Sell= A < AlligatorGreen 
        or    (ref(C,-2) < FractalUp 
        and (ref(C,-1)<ref(C,-2) )        )             ;



/* The following is Guru commentary coding  */
/* Guru Commentary */

WriteIF(Hold(Buy==1,10),
    "Buy signal bars ago  " +   WriteIF(Hold(Buy==1,10),
    WriteVal(BarsSince(Buy==1)),""),
    "No Buy Signal")  + "\n" +
WriteIF(Hold(Sell==1,10),
    "Sell signal bars ago  " +   WriteIF(Hold(Sell==1,10),
    WriteVal(BarsSince(Sell==1)),""),
    "No Sell Signal")  ; 

/* End of commentary code */

/* The following lines of code set up a sell on the last day if in an open position*/
barnumber = cum( 1 );
lastbar = barnumber == lastvalue( barnumber );
sell = SELL or LASTBAR;

filter = cross(H,FractalUp+0.065)  or Cross(L,FractalDown-0.065) ;  

numcolumns = 5;
column0 = IIF(buy==1,1,-1);
column0format = 1.2;
column0name = "Buy+1,Sell-1";WriteIF(Buy==1,"  Buy","  Sell" );
column1 = FractalUp;
column1name = "FractalUp";column1 = FractalUp; WriteVal(FractalUp);
column1format = 1.2;

column2 = FractalDown;
column2name = "Fractal Down";
column2format = 1.2;
column3 = MA(V,3)/EMA(V,17);
column3name = "MAV(3/17)";
column3format=1.2;
column4 = C;
column4name = "Today's Close "; 
column4format=1.2;


/* removes redundant buy and sell signals */
Buy=ExRem(Buy,Sell);
Sell=ExRem(Sell,Buy);


first=1;  

/* First is the number of days for each ROC interval for reviewing performance */
/* To use this filter always make the current day at least 3*first days before the current date
    for meaningful results */
/*
numcolumns = 7;
column0 = C;
column0format = 1.2;
column0name = "Close";
column1 = ref(C, 1+first);
column1name = "Close+i ";
column1format = 1.2;
column2 = ref(C,1+first*2);
column2name = "Close+i*2   ";
column2format = 1.2;
column3 =  ref(C,1+first*3);
column3name = "Close+i*3 ";
column3format = 1.2;
column4= ref(C,first*1+1)  -  C;
column4name="ROC+i";
column4format = 1.2;
column5=  ref(C,first*2+1)  -  C;
column5name="ROC+2i";
column5format = 1.2;
column6=  ref(C,first*3+1)  -  C;
column6name="ROC+3i";
column6format = 1.2;
*/
/*  End of Exploration Code. */

0 comments

Leave Comment

Please login here to leave a comment.

Back