Terima kasih Pak Isfandi , mantap dan dahsyat luar biasa AFL nya
sangat berguna untuk ngawai porto kita dengan cepat
pak apakah bisa dirubah jadi candle dan apakah jumlah chart yang ditampilkan bisa dirubah misal 2 / 4 / 6/ 9
oh yah pak waktu saya
apply indicator
muncul tanda ada sesuatu yang salah
tapi saya tutup saja kemudian saya buka bisa pak
apakah itu akan jadi masalah
terima kasih pak
semoga selalu sukses dan bahagia
On Sun, Mar 27, 2011 at 9:21 PM, Christopher Tahir <chris_tahir@ymail.com> wrote:
Pak, ada bug kecil nih....
Not a big deal sih, tapi aneh aja...
COba diperhatikan di bagian tahunnya pa, 2011 jadi 2,011...:D
ThanksBest Regards,
Christopher Tahir
Blog: http://ez-stock.blogspot.com
MSN: chris_tahir@hotmail.com
YM: chris_tahir@ymail.comSent: Sun, March 27, 2011 8:35:36 PM
Subject: Re: [Komunitas AmiBroker] 9 in 1 Chart View
Guys.. saya sharing afl ini 9 in 1 hanya utk konsumsi amibroker-4-bei@yahoogroups saja, mohon tdk di share ke tempat lain. tks
semoga milist ini tetap punya kelas tersendiri dan selalu kompak belajar bersama.
How to use :
- Overlay merujuk pada urutan Name of Stock yg terdapat di "Wacth List 0 - dst" (silahkan buat urutan saham terlebih dulu pd wacth list)
- pastikan Plugins anda sdh lengkap (if not working)
- sediakan Chart Sheet tersendiri utk afl ini
- All operation by parameters
Description "Parameters"
- Wacth list = overlay mengikuti WL 0 - dst (sesuai yg anda input)
- Page = utk melihat overlay selanjutnya smp jumlah max sesuai daftar saham anda
- Chart wide = jumlah overlay horizontal
- Chart high = jumlah overlay vertikal
(max. overlay 16 in 1)
- Numb of Bar = price historical view
- Long MA & Short MA = settingan standard (utk long term), silahkan sesuaikan dgn term period anda
/////////////Good luck and happy charting/////////////
Salam,
Isfandi
/// the afl //////
_SECTION_BEGIN("9 in 1 Overlay Chart");
function GetMonth( MonthNumber )
{
switch (MonthNumber) {
case 2 :
result = "Feb";
break ;
case 3 :
result = "Mar";
break ;
case 4 :
result = "Apr";
break ;
case 5 :
result = "May";
break ;
case 6 :
result = "Jun";
break ;
case 7 :
result = "Jul";
break ;
case 8 :
result = "Aug";
break ;
case 9 :
result = "Sep";
break ;
case 10 :
result = "Oct";
break ;
case 11 :
result = "Nov";
break ;
case 12 :
result = "Dec";
break ;
}
return result;
}
GfxSetOverlayMode( 2 );
String = "" ;
for ( x = 0 ; x < 200 ; x++ )
{
WList = CategoryGetName( categoryWatchlist, x );
if (WList != "" )
{
String = String + WList +"," ;
}
}
WatchList = ParamList ( "Watch List", String );
for ( x = 0 ; x < 200 ; x++ )
{
sym = StrExtract ( String, x );
if (sym == WatchList)
{
listNum = x ;
}
}
Page = Param ( "Page #", 0 , 0 , 12 , 1 );
ChartsWiNum = Param ( "# Charts Wide", 3 , 1 , 4 , 1 );
ChartsHiNum = Param ( "# Charts High", 3 , 1 , 4 , 1 );
Bars =Param ( "Number Of Bars", 195 , 50 , 250 , 1 ) ;
lDays =Param ( "Long MA", 200 , 50 , 250 , 1 ) ;
sDays =Param ( "Short MA", 50 , 5 , 100 , 1 ) ;
vDays =Param ( "Volume MA", 50 , 5 , 100 , 1 ) ;
ChartMargin = 5 ;
DateMargin = 10 ;
DataMargin = 20 ;
NumCharts = ChartsWiNum * ChartsHiNum ;
ScreenHeight = Status ( "pxheight" ) ;
SceernWidth = Status ( "pxwidth" ) ;
ChartHeight = ScreenHeight / ChartsHiNum -2 ;
Width = SceernWidth / ChartsWiNum - 2 ;
BarChartHeight= (0.75 ) * ChartHeight - DataMargin;
VolChartHeight = ChartHeight - BarChartHeight - DataMargin*2 ;
NumberPriceLevels = BarChartHeight / 25 ;
BarChartWidth= Width - 45 ;
BarWidth = (BarChartWidth - ChartMargin * 3 ) / Bars ;
LastBar = BarCount ;
FirstBar = LastBar - Bars;
_N (list = CategoryGetSymbols( categoryWatchlist, listnum ));
printf ( "Watch List Name\n");
WL = CategoryGetName( categoryWatchlist, listnum );
SymbolNum = Page * NumCharts;
for ( x = 0 ; x < ChartsHiNum ; x++ )
{
for ( i = 0 ; i < ChartsWiNum ; i++ )
{
notDone = True;
sym = StrExtract ( list, SymbolNum );
if (sym != "" )
{
x1 = Width * i + 5 ;
y1 = ChartHeight * x + 5 ;
x2 = Width * (i + 1 );
y2 = ChartHeight * (x + 1 )-DateMargin;
GfxSelectPen ( colorBlack );
GfxRectangle ( x1, y1, x2, y2 );
SymbolNum++;
SetForeign (sym);
EMAShort= EMA (C,sDays);
EMALong= EMA (C,lDays);
EMAVol= EMA (V,vDays);
D = Day ();
M = Month ();
Y = Year ();
priceHigh = 0 ;
VolHigh = 0 ;
priceMin = 1000000 ;
for ( z = FirstBar; z < LastBar ; z++ )
{
Vol = V[z];
BarH = H[z];
BarL = L[z];
if ( Vol > VolHigh )
{
VolHigh = Vol;
}
if ( BarH > priceHigh )
{
priceHigh = BarH;
}
if ( BarL < priceMin )
{
priceMin = BarL;
}
}
LOpen = O[LastBar- 1];
LHigh = H[LastBar- 1];
LLow = L[LastBar- 1];
LClose = C[LastBar- 1];
LVol = V[LastBar- 1];
GfxSelectFont ( "Tahoma" , 9 );
GfxSetTextColor (colorBlack);
GfxTextOut (sym + " O: " +LOpen + " H: " +LHigh + " L: " +LLow + " C: " +LClose + " Vol: " +LVol/ 1000000 + " M", x1+5 , y1+2 );
VolRatio = VolChartHeight / VolHigh ;
Range = priceHigh - priceMin;
Ratio = BarChartHeight / Range ;
PriceLineLevel = Range / NumberPriceLevels;
yHi=(((priceHigh - priceMin )* Ratio) - BarChartHeight) * -1 + y1 + DataMargin;
GfxTextOut ( WriteVal (priceHigh, 1.2 ), x1 + BarChartWidth, yHi -8 );
GfxSelectPen ( colorLightGrey );
GfxMoveTo ( x1 , yHi );
GfxLineTo ( x1 + BarChartWidth -5 , yHi );
for ( z = 0 ; z < NumberPriceLevels- 1 ; z++ )
{
PriceLevel = PriceLineLevel*z + priceMin;
yHi=(((PriceLevel - priceMin )* Ratio) - BarChartHeight) * -1 + y1 + DataMargin;
GfxTextOut ( WriteVal (PriceLevel, 1.2 ), x1 + BarChartWidth, yHi -8 );
GfxSelectPen ( colorLightGrey );
GfxMoveTo ( x1 , yHi );
GfxLineTo ( x1 + BarChartWidth -5 , yHi );
}
HighestLast = 0 ;
w = 1 ;
sEMAlast = EMAShort[FirstBar];
lEMAlast = EMALong[FirstBar];
vEMAlast = EMAVol[FirstBar];
for ( z = FirstBar; z < LastBar ; z++ )
{
BarH = H[z];
BarL = L[z];
BarO = O[z];
BarC = C[z];
Vol = V[z];
sEMA = EMAShort[z];
lEMA = EMALong[z];
vEMA = EMAVol[z];
BarDay = D[z];
BarMonth = M[z];
BarYear = Y[z];
yO = (((BarO - priceMin )* Ratio)- BarChartHeight ) * -1 + y1 + DataMargin;
yC = (((BarC - priceMin )* Ratio)- BarChartHeight ) * -1 + y1 + DataMargin;
yHi = (((BarH - priceMin )* Ratio)- BarChartHeight ) * -1 + y1 + DataMargin;
yLo = (((BarL - priceMin )* Ratio) - BarChartHeight) * -1 + y1 + DataMargin ;
ysEMAlast = (((sEMAlast - priceMin )* Ratio) - BarChartHeight) * -1 + y1 + DataMargin;
ysEMA = (((sEMA - priceMin )* Ratio) - BarChartHeight) * -1 + y1 + DataMargin;
ylEMAlast = (((lEMAlast - priceMin )* Ratio) - BarChartHeight) * -1 + y1 + DataMargin;
ylEMA = (((lEMA - priceMin )* Ratio) - BarChartHeight) * -1 + y1 + DataMargin;
vHi = y2 - (Vol * VolRatio) ;
yvEMAlast = y2 - (vEMAlast * VolRatio) ;
yvEMA = y2 - (vEMA * VolRatio) ;
if ( BarH > HighestLast )
{
HighestLast = BarH;
GfxSelectPen ( colorGreen );
}
else
{
GfxSelectPen ( colorDarkGrey );
}
GfxMoveTo ( BarWidth * w + x1 + ChartMargin , yHi );
GfxLineTo ( BarWidth * w + x1 + ChartMargin, yLo );
GfxMoveTo ( BarWidth * w + x1 + ChartMargin -1 , yO );
GfxLineTo ( BarWidth * w + x1 + ChartMargin, yO );
GfxMoveTo ( BarWidth * w + x1 + ChartMargin +1 , yC );
GfxLineTo ( BarWidth * w + x1 + ChartMargin, yC );
if ( BarO > BarC)
{
GfxSelectPen ( colorRed );
}
else
{
GfxSelectPen ( colorLime );
}
GfxMoveTo ( BarWidth * w + x1 + ChartMargin , vHi );
GfxLineTo ( BarWidth * w + x1 + ChartMargin, y2 );
GfxSelectPen ( colorBlue );
GfxMoveTo ( BarWidth * (w -1 ) + x1 + ChartMargin , ysEMAlast );
GfxLineTo ( BarWidth * w + x1 + ChartMargin, ysEMA );
GfxSelectPen ( colorRed );
GfxMoveTo ( BarWidth * (w -1 ) + x1 + ChartMargin , ylEMAlast );
GfxLineTo ( BarWidth * w + x1 + ChartMargin, ylEMA );
GfxSelectPen ( colorBlack );
GfxMoveTo ( BarWidth * (w -1 ) + x1 + ChartMargin , yvEMAlast );
GfxLineTo ( BarWidth * w + x1 + ChartMargin, yvEMA );
w++;
sEMAlast = sEMA ;
lEMAlast = lEMA ;
vEMAlast = vEMA ;
GfxSelectFont ( "Tahoma" , 7 );
GfxSelectPen ( colorLightGrey );
if (BarDay== 1 & notDone )
{
if (BarMonth == 1 ) myLabel =WriteVal (BarYear, 1.0 );
else myLabel =GetMonth(BarMonth);
GfxTextOut (myLabel, BarWidth * w + x1 + ChartMargin - 5 , y2 +DateMargin/3 );
GfxMoveTo ( BarWidth * w + x1 + ChartMargin , y2 );
GfxLineTo ( BarWidth * w + x1 + ChartMargin, y1 + DataMargin );
notDone = False;
}
if (BarDay== 2 & notDone )
{
if (BarMonth == 1 ) myLabel =WriteVal (BarYear, 1.0 );
else myLabel =GetMonth(BarMonth);
GfxTextOut (myLabel, BarWidth * w + x1 + ChartMargin - 5 , y2 +DateMargin/3 );
GfxMoveTo ( BarWidth * w + x1 + ChartMargin , y2 );
GfxLineTo ( BarWidth * w + x1 + ChartMargin, y1 + DataMargin );
notDone = False;
}
if (BarDay== 3 & notDone )
{
if (BarMonth == 1 ) myLabel =WriteVal (BarYear, 1.0 );
else myLabel =GetMonth(BarMonth);
GfxTextOut (myLabel, BarWidth * w + x1 + ChartMargin - 5 , y2 +DateMargin/3 );
GfxMoveTo ( BarWidth * w + x1 + ChartMargin , y2 );
GfxLineTo ( BarWidth * w + x1 + ChartMargin, y1 + DataMargin );
notDone = False;
}
if (BarDay== 4 & notDone )
{
if (BarMonth == 1 ) myLabel =WriteVal (BarYear, 1.0 );
else myLabel =GetMonth(BarMonth);
GfxTextOut (myLabel, BarWidth * w + x1 + ChartMargin - 5 , y2 +DateMargin/3 );
GfxMoveTo ( BarWidth * w + x1 + ChartMargin , y2 );
GfxLineTo ( BarWidth * w + x1 + ChartMargin, y1 + DataMargin );
notDone = False;
}
if (BarDay== 5 & notDone )
{
if (BarMonth == 1 ) myLabel =WriteVal (BarYear, 1.0 );
else myLabel =GetMonth(BarMonth);
GfxTextOut (myLabel, BarWidth * w + x1 + ChartMargin - 5 , y2 +DateMargin/3 );
GfxMoveTo ( BarWidth * w + x1 + ChartMargin , y2 - VolChartHeight );
GfxLineTo ( BarWidth * w + x1 + ChartMargin, y1 + DataMargin );
notDone = False;
}
if (BarDay== 6 |BarDay== 7 |BarDay== 8 |BarDay== 9 |BarDay== 10 )
{
notDone = True;
}
}
RestorePriceArrays ();
}
}
}
_SECTION_END();
From: Christopher Tahir <chris_tahir@ymail.com>
To: amibroker-4-bei@yahoogroups.com
Sent: Sun, March 27, 2011 2:48:26 PM
Subject: Re: [Komunitas AmiBroker] 9 in 1 Chart View
Pak, minta dunk AFLnya....:D
Keren abis nih, apalagi buat yg suka liatin layar yg multi timeframe, mantap itiuu....:DBest Regards,
Christopher Tahir
Blog: http://ez-stock.blogspot.com
MSN: chris_tahir@hotmail.com
YM: chris_tahir@ymail.comMail to my Y!Group:
ez-stock-subscribe@yahoogroups.com
From: "isfandi2001@yahoo.com" <isfandi2001@yahoo.com>
To: AB Community <amibroker-4-bei@yahoogroups.com>
Sent: Sun, March 27, 2011 2:14:54 PM
Subject: [Komunitas AmiBroker] 9 in 1 Chart View
Dear All,
Amibroker emang canggih, mungkin baru AB yg bisa tampilkan 9 chart jadi 1 hanya dgn afl, luar biasa.. (pic attch)
Utk rekan2 yg baru gabung, kembali saya lampirkan koleksi Plugins (bagi yg blm melengkapi), silahkan upload di :
http://www.4shared.com/file/0eIUPRdZ/Plugins.html
salam,
Isfandi
__._,_.___
Apabila membutuhkan software AmiBroker, Realtime Intraday Data & Pelatihan silahkan kontak : Dendo Valentino | Cell : 08159304868 | e-mail: amibrokerfreak{at}yahoo.co.id | YM id : dendov | http://www.facebook.com/dendo.amibrokerfreak | http://www.amibroker-4-bei.org
![]()
Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe
__,_._,___
No comments:
Post a Comment