Teknik Analiz Dünyasına Hoşgeldiniz. Paylaşmak Güzeldir.

Yayından kaldırmak istediğiniz formüller için algoritmabul@gmail.com ile iletişime geçebilirsiniz... 

  • DİKKAT: Formüller, Sistemler sadece eğitim amaçlıdır. Alım satım, olası anapara kaybı ve diğer kayıplar dahil olmak üzere "YÜKSEK RİSK" içerir.

Amibroker Williams Alligator System for Amibroker (AFL)

Amibroker

algoritma

eiπ + 1 = 0
Algorithmist
Algoritma
Katılım
23 Eki 2020
Mesajlar
1,797

Williams Alligator System for Amibroker (AFL)

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.
Kod:
// Downloaded From https://www.WiseStockTrader.com
//------------------------------------------------------------------------------
//
//  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. */
kaynak
WiseStockTrader.com

 

Forumdan daha fazla yararlanmak için giriş yapın yada üye olun!

Forumdan daha fazla yararlanmak için giriş yapın veya kayıt olun!

Kayıt ol

Forumda bir hesap oluşturmak tamamen ücretsizdir.

Şimdi kayıt ol
Giriş yap

Eğer bir hesabınız var ise lütfen giriş yapın

Giriş yap