AFL atau Amibroker Formula Languange … sudah tersedia …dalam …software Amibroker kita …yaitu …
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 …
Isikan …nama …formula atau AFL …kita ….sebagai contoh … MA5 Cross MA50
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
Sedangkan …untuk menjalankan …AFL kita …tinggal Double Klik … pada …nama ..AFL ..tersebut
Ok … saya cukupkan dulu … moga ada manfaatnya …makasih
Minggu, 30 Oktober 2011
AFL = Amibroker Formula Language ….
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 :
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
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