Minggu, 30 Oktober 2011

AFL = Amibroker Formula Language ….

AFL atau Amibroker Formula Languange … sudah tersedia …dalam …software Amibroker kita …yaitu …

image

Pilih menu View …kemudian …pilih chart …

Untuk menambahkan …satu formula …baru … maka …klik kanan … dari sebarang folder yang ditampilkan … kemudian pilih ..New …dan …pilih Formula …

image

Isikan …nama …formula atau AFL …kita ….sebagai contoh … MA5 Cross MA50

image

Untuk menuliskan …List Program-nya ….maka …lakukan …klik kanan …pada nama AFL yang akan digunakan …kemudian pilih Edit …

Nah … bila …prosesnya benar …maka …akan ditampilkan …Window untuk aktifitas pengetikan …List Program … seperti dibawah ini

image

Sedangkan …untuk menjalankan …AFL kita …tinggal Double Klik … pada …nama ..AFL ..tersebut

Ok … saya cukupkan dulu … moga ada manfaatnya …makasih

Belajar AFL = Amibroker Formula Language … 3

AFL “MA-5 Cross MA-50”

Ada satu hal … yang lebih baik … menjadi kebiasaan kita untuk mengelompokan satu aktifitas … dalam … lingkup tertentu … yaitu penggunaan …_SECTION_BEGIN(); dan _SECTION_END();

Contohnya :

_SECTION_BEGIN(" Price");
  SetChartOptions(0,chartShowArrows|chartShowDates);

  _N(Title = FullName() + StrFormat(" : {{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%){{VALUES}}, Volume %g ", O, H, L, C,SelectedValue( ROC( C, 1 ) ),V));

  Plot( C, "Close", ParamColor("Color", colorBlack ), styleNoTitle | ParamStyle("Style") | GetPriceStyle() );
_SECTION_END();

Section diatas memiliki nama “Price” … dimaksudkan …sebagai ..pengelompokan aktifitas dalam menyajikan data harga

Nah … sekarang …kita coba perdalam lagi …untuk …Title-nya ..ya ….

Tampilan …Title …akan …kita buat …lebih ber-warna ..lagi …

Untuk itu … formulasi Title …sedikit kita …ubah … menjadi ….

Title = EncodeColor(colorYellow)+Title = FullName()+" - "+Name()+"  "+ EncodeColor( colorBrightGreen) + Date() +
    EncodeColor(55)+ "   Open:  "+ WriteIf(O> Ref(O,-1),EncodeColor(colorBrightGreen),EncodeColor(colorRed))+ WriteVal(O,format=1.2) +
    EncodeColor(55)+ "   High:  "+ WriteIf(H> Ref(H,-1),EncodeColor(colorBrightGreen),EncodeColor(colorRed))+  WriteVal(H,format=1.2) +
    EncodeColor(55)+ "   Low:  "+ WriteIf(L> Ref(L,-1),EncodeColor(colorBrightGreen),EncodeColor(colorRed))+  WriteVal(L,format=1.2) +
    EncodeColor(55)+ "   Close:  "+ WriteIf(C> Ref(C,-1),EncodeColor(colorBrightGreen),EncodeColor(colorRed))+ WriteVal(C,format=1.2)+
    EncodeColor(55)+ "   Change:  "+WriteIf(C> Ref(C,-1),EncodeColor(5),EncodeColor(55))+ WriteVal((C-Ref(C,-1)),format=1.2)+  "  ("+ WriteVal(ROC(C,1),format=1.2)+ "%"+ ")  ";

Ada beberapa … fungsi penting disini …

  • Title = EncodeColor(colorYellow)+Title = ……digunakan untuk menampilkan ….urutan kegiatan dalam penyajian Title
  • EncodeColor(colorYellow) = …digunakan untuk mengubah w arna tampilan data yang ingin disajikan.
    • Seperti EncodeColor(colorYellow)+Title = FullName() … maka ..akan ditampilkan data FullName dengan warna kuning …
    • sedang … pada EncodeColor( colorBrightGreen)+Date() … akan …ditampilkan data Date() dengan warna hijau terang ….
  • Pada EncodeColor(55) … disamping menggunakan nama warna yang diinginkan seperti colorYellow … dapat pula …diisikan angka kode dari warna …seperti ..EncodeColor(55) … dimana …55 … merupakan angka kode dari warna putih
  • Oh ya …ada beberapa fungsi …yang …kita kenali dulu …yaitu
    • FullName() untuk menampilkan nama lengkap satu saham 
    • Name() untuk menampilkan kode dari satu saham
    • O,H,L,C untuk menyajikan data Open,High,Low dan Close
  • Nah …perhatikan ..untuk … WriteIf(O> Ref(O,-1) , EncodeColor(colorBrightGreen) , EncodeColor(colorRed))
    • Fungsi diatas … diartikan …bila O > Ref(O,-1) … atau harga Open sekarang lebih besar daripada harga Open kemarin …. maka …warna yang ditampilkan hijau terang ….
    • Data kemarin …disajikan … dengan …fungsi …Ref(O,-1) …
  • Ada lagi …. WriteVal(O,format=1.2) … dimaksudkan …dengan …menampilkan data harga Open …dalam format angka hingga …2 angka dibelakang koma

Akhirnya …tampilkan …Title kita …seperti dibawah ini :

image

Tulisan “Tiga Pilar Sejahtera Food Tbk – AISA.JK“ yang berwarna kuning … sebenarnya … dihasilkan dari …EncodeColor(colorYellow)+FullName()+” - “+Name() ….  

Namun pada…Titlr kita …telah digabungkan …pada …. Title = EncodeColor(colorYellow)+Title = FullName()+" - "+Name()+"  "

Sedang …. tanggal …”10/28/2011” berwarna hijau …didapatkan dari …EncodeColor( colorBrightGreen) + Date()

Sedangkan …tampilan teks “Open” berwarna putih ….dihasilkan dari …EncodeColor(55)+ "   Open:  "

Yang menarik adalah … data yang disajikan …dapat berwarna Hijau …bila lebih besar dari kemarin …. dan ..berwarna Merah …bila …sama dengan atau lebih kecil dari kemarin

image

Nah … dengan adanya …bergantian warna ini … maka …dengan sekilas pandang … kita dapat memiliki …lebih banyak informasi …dari saham yang akan kita analisa

Coba ….kita pahami bersama … ya … kalau kurang jelas …silahkan ditanyakan … pada shoutbox saya ….

Akhirnya … List AFL ..kita …seperti dibawah ini …

_SECTION_BEGIN(" Price");
  SetChartOptions(0,chartShowArrows|chartShowDates);

Title = EncodeColor(colorYellow)+Title = FullName()+" - "+Name()+"  "+ EncodeColor( colorBrightGreen) + Date() +
    EncodeColor(55)+ "   Open:  "+ WriteIf(O> Ref(O,-1),EncodeColor(colorBrightGreen),EncodeColor(colorRed))+ WriteVal(O,format=1.2) +
    EncodeColor(55)+ "   High:  "+ WriteIf(H> Ref(H,-1),EncodeColor(colorBrightGreen),EncodeColor(colorRed))+  WriteVal(H,format=1.2) +
    EncodeColor(55)+ "   Low:  "+ WriteIf(L> Ref(L,-1),EncodeColor(colorBrightGreen),EncodeColor(colorRed))+  WriteVal(L,format=1.2) +
    EncodeColor(55)+ "   Close:  "+ WriteIf(C> Ref(C,-1),EncodeColor(colorBrightGreen),EncodeColor(colorRed))+ WriteVal(C,format=1.2)+
    EncodeColor(55)+ "   Change:  "+WriteIf(C> Ref(C,-1),EncodeColor(5),EncodeColor(55))+ WriteVal((C-Ref(C,-1)),format=1.2)+  "  ("+ WriteVal(ROC(C,1),format=1.2)+ "%"+ ")  ";

  Plot( C, "Close", ParamColor("Color", colorBlack ), styleNoTitle | ParamStyle("Style") | GetPriceStyle() );
_SECTION_END();

_SECTION_BEGIN(" MA5 Cross MA50");
  Plot(MA(Close,50),"MA-50",colorYellow,style=styleThick);
  Plot(MA(Close,5),"MA-5",colorGreen,style=styleThick);

  Sell = Cross(MA(C,50),MA(C,5));
  PlotShapes(IIf(Sell, shapeSquare, shapeNone),colorRed, 0, H, Offset=8);
  PlotShapes(IIf(Sell, shapeSquare, shapeNone),colorRed, 0,H,Offset=18);
  PlotShapes(IIf(Sell, shapeDownArrow, shapeNone),colorWhite, 0,H,Offset=-13);

  Buy  = Cross(MA(C,5),MA(C,50));
  PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorBlue, 0, L, Offset=-8);
  PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorBlue, 0,L, Offset=-18);
  PlotShapes(IIf(Buy, shapeUpArrow, shapeNone),colorWhite, 0,L, Offset=-13);
_SECTION_END();

Sangat dianjurkan untuk membaca kembali …post sebelumnya …

Saya cukupkan dulu … moga ada manfaatnya … makasih