memang sih informasi dari om Bill S di milist sebelah Brightspark ini mirip 
dengan Ord_Volume yang menghitung dari swing volume, tapi saya lihat sekilas 
bentuknya gak mirip dengan Brightspark. lagipula komponen penyusun ord volume 
ini menggunakan indikator Zig-zag => ekornya gak konsisten.

Berikut ini AFL Ord Volume, mungkin ada yang bisa bantu dimana perbedaannya 
dengan Brightspark dan bisa dibuatkan AFLnya..

////////////////////////////////////////////////////////////Mulai dari sini 
//////////////////////////////////////////////////////////////
/*        Ord Volume by Peter Bjarheim
            Rev - 11-12-07
                        
        Adjust "zig percent change" so that each swing last from 5 to 30 days 
        (the the percentage, the more sigificant the swing is).
        
        Peak Volume Extreme Detection:
                ->Sometimes several days around the true swing price extreme, a 
higher volume
extreme has been encountered. 
                Back testing suggests that these swing volumes while rare, do 
occur and are
significant.
        
        
---->   Rules For Trading from http://www.ord-oracle.com/
        
        
        This software is designed to pick out the swings in a stock and then 
measure
the force between the swings. The
force is the amount of volume between the swings that pushes the stock in an
up-mode or down-mode. Stocks trend
in the direction of the highest volume. Stocks correct or consolidate on
lighter volume. By measuring the volume
between the swings and comparing to previous swings, one can "See" the force of
a particular move developing in the
stock. In an uptrend the stock should have higher volume on the rally phase
than the correction phase. In a
downtrend the stock should have higher volume on the declining phase than the
up correction phase. With that in
mind, we have developed this software to do just that. Keep in mind that this
software measures volume force in a
stock and is not implied to be a stand-alone tool to pick every turn in a
stock. The Ord-volume software is designed
to help identify the probable direction by the volume flow the stock has. Other
factors of the stock may push it in a
different direction.

1. To pick the strongest stock (in up-trend), average daily volume should
shrink near 50% on correction phase
compared to the rally phase.

2. To pick the weakest stocks (in down-trend) average daily volume should
shrink near 50% on up phase compared to
the declining phase.

Definition of a "Swing". A "Swing" is a price high or low where the stock
changes direction.
Definition of "Ord-Volume". "Ord-volume" measures the average volume between
"Swings".
Definition of "Ord-Volume Low". "Ord-Volume Low" is a down-leg in a stock.
Definition of "Ord-Volume High". "Ord-Volume High" is an up-leg in a stock.

3. A buy signal is triggered when a stock closes above a previous important
"Ord-Volume low" where the current
"Ord-volume low" shrinks near 50% or greater against the "Important "Ord-volume
low"". An "Important
"Ord-volume Low" is when that low marks a bottom where the equity starts a
sideways consolidation.

4. A sell signal is triggered when a stock closes below a previous important
"Ord-Volume High" where the current
"Ord-Volume High" shrinks near 50% or greater against the "Important
"Ord-Volume High"". An "Important
"Ord-Volume High"" is when that high marks a top where the equity starts a
sideways consolidation.

5. Target price Projections:
        5.1 An upside target for a buy signal will be the previous "Swing 
High". If
volume is equal or greater on the test of the
        previous high then the next higher swing high will be the target and so 
on.

        5.2 A downside target after a sell signal will be the previous "Swing 
Low". If
volume is equal or greater than the
        previous "Swing Low" then the next lower swing will be the target and 
so on.
        
*/
swingDays = 0;
swingVol = 0;
ordVol = 0;
upswingSignal = 0;
downswingSignal = 0;
accumulatedVolume = 0;
accumulatedDays = 0; 
arrayHasSignal = 0;
zigPercentage = Param("ZigZag Percent", 10, 2, 50);
trendZig = Zig(C, zigPercentage); 
action = Status("action");
midPointY = 0;
midPointValue = 0;
peakVolumeExtremeDetectionDays = Param("Peak Vol. Days", 6, 1, 20); //3 days
before and 3 days after a peak
daysBeforeAndAfterForPeakVolume = round(peakVolumeExtremeDetectionDays/2);
peakVolume = 0;
colorOrdVolume = ParamColor("Ord Vol. Info.", colorGrey50);
colorZig = ParamColor("ZigZag", colorGold);
colorPeakUp = ParamColor("Support Info.", colorGreen);
colorPeakDown = ParamColor("Resistance Info.", colorRed);
scalingFactor = 0.1;


function volumeInMillions(inVolume)
{
        volInM = inVolume/1000000;
        return NumToStr(volInM, 1.2, False) + " m";
}

function getPeakVolume(daysToCheck, nowDay)
{
        returnPeakVolume = V[nowDay];
        dayNumberBefore = (nowDay) - daysToCheck;
        dayNumberAfter = (nowDay) + daysToCheck;
        //find Max swing Volume
        if( dayNumberBefore > 0 AND dayNumberAfter < BarCount )
        {
                returnPeakVolume = V[dayNumberBefore];
                //_TRACE("Start returnPeakVolume = " + returnPeakVolume);
                for( j = dayNumberBefore; j < dayNumberAfter; j++ )
                {
                        if(returnPeakVolume < V[j])
                        {
                                returnPeakVolume = V[j];
                        } 
                        //_TRACE("returnPeakVolume = " + returnPeakVolume);
                }
        }
        else if( dayNumberBefore > 0 AND dayNumberAfter >= BarCount )
        {
                returnPeakVolume = V[dayNumberBefore];
                //_TRACE("Start returnPeakVolume = " + returnPeakVolume);       
                for( j = dayNumberBefore; j < BarCount; j++ )
                {
                        if(returnPeakVolume < V[j])
                        {
                                returnPeakVolume = V[j];
                        }
                        //_TRACE("returnPeakVolume = " + returnPeakVolume);     
                
                }
        }
        else 
        {
                peakVolume = V[i-1];
        }
        
        return returnPeakVolume;
}

for( i = 3; i < BarCount; i++)
{
//initialize parameters
        arrayHasSignal[i] = 0;

//Then we check which way the price goes

        swingVol = swingVol + V[i-1];//Don't add today since price may have 
changed
direction
        swingDays = swingDays + 1;

        if( (trendZig[i] < trendZig[i-1]) AND (trendZig[i-1] > trendZig[i-2]) 
AND i >
10 )//Changes from up swing to down swing
        {
                /*_TRACE("Changes from up swing to down swing, i = " + i);
                _TRACE("trendZig[i-2] = " + trendZig[i-2]);
                _TRACE("trendZig[i-1] = " + trendZig[i-1]);
                _TRACE("trendZig[i] = " + trendZig[i]);*/
                downswingSignal[i-1] = 0;
                upswingSignal[i-1] = 1;
                ordVol[i-1] = swingVol/swingDays;       
                accumulatedVolume[i-1] = swingVol;
                accumulatedDays[i-1] = swingDays; 
                arrayHasSignal[i-1] = 1;
                if(action == actionIndicator)
                {
                        midPointValue = i - round(swingDays/2) - 1;
                        midPointY = trendZig[midPointValue];
                        peakVolume = 
getPeakVolume(daysBeforeAndAfterForPeakVolume, i - 1);
                        PlotText("(" + volumeInMillions(ordVol[i-1]) + ")", 
midPointValue,
midPointY, colorOrdVolume);
                        PlotText(NumToStr(H[i-1], 1.1, False) + " (" + 
volumeInMillions(peakVolume)
+ ")", i-4, trendZig[i-1] * 1.02, colorPeakUp);
                }
                swingVol = 0;
                swingDays = 0;
        }

        if( (trendZig[i] > trendZig[i-1]) AND (trendZig[i-1] < trendZig[i-2]) 
AND i >
10 )//Changes from down swing to up swing
        {
                downswingSignal[i-1] = 1;
                upswingSignal[i-1] = 0;
                ordVol[i-1] = swingVol/swingDays;
                accumulatedVolume[i-1] = swingVol;
                accumulatedDays[i-1] = swingDays; 
                arrayHasSignal[i-1] = 1;
                if(action == actionIndicator)
                {
                        midPointValue = i - round(swingDays/2) - 1;
                        midPointY = trendZig[midPointValue];
                        peakVolume = 
getPeakVolume(daysBeforeAndAfterForPeakVolume, i - 1);
                        PlotText("(" + volumeInMillions(ordVol[i-1]) + ")", 
midPointValue,
midPointY, colorOrdVolume);
                        PlotText(NumToStr(L[i-1], 1.1, False) + " (" + 
volumeInMillions(peakVolume)
+ ")", i-4, trendZig[i-1] * 0.95, colorPeakDown);
                }       
                swingVol = 0;
                swingDays = 0;
        }
        if( i == BarCount - 1)//add last signal too
        {
                swingVol = swingVol + V[i];//Remember to add today also
                swingDays = swingDays + 1;

                if(trendZig[i] < trendZig[i-1])//is down swing
                {
                        downswingSignal[i] = 1;
                        upswingSignal[i] = 0;
                        ordVol[i] = swingVol/swingDays; 
                        accumulatedVolume[i] = swingVol;
                        accumulatedDays[i] = swingDays; 
                        arrayHasSignal[i] = 1;
                }

                if(trendZig[i] > trendZig[i-1])//is up swing
                {
                        downswingSignal[i] = 0;
                        upswingSignal[i] = 1;
                        ordVol[i] = swingVol/swingDays;
                        accumulatedVolume[i] = swingVol;
                        accumulatedDays[i] = swingDays; 
                        arrayHasSignal[i] = 1;
                }
                
                if(action == actionIndicator)
                {
                        midPointValue = i - round(swingDays/2) - 1;
                        midPointY = trendZig[midPointValue]; 
                        PlotText("(" + volumeInMillions(ordVol[i]) + ")", 
midPointValue, midPointY,
colorOrdVolume);
                }

        }
}
if(action == actionExplore)
{
        //Filter = 1;
        Filter = arrayHasSignal;
        //AddColumn(trendZig , "trendZig ", 1.2);
        AddColumn(C, "Swing Up", 1.2, colorDefault, IIf(upswingSignal, 
colorPeakUp,
colorDefault));
        AddColumn(C, "Swing Down", 1.2, colorDefault, IIf(downswingSignal,
colorPeakDown, colorDefault));
        AddColumn(ordVol, "Ord Vol.", 1.0);
        AddColumn(accumulatedDays, "Swing Days", 1.0);
        AddColumn(accumulatedVolume, "Tot. Swing Vol.", 1.0);
}
else if(action == actionIndicator)
{
        Plot(trendZig, "Ord Vol ZigZag", colorZig);
        //Scale the axis so we can read the numbers
        Plot(trendZig + (trendZig * scalingFactor), "", colorRed, styleNoDraw);
        Plot(trendZig - (trendZig * scalingFactor), "", colorBlue, styleNoDraw);
}
///////////////selesai////////////////////////////

--- Pada Sel, 2/2/10, prassat...@yahoo.com <prassat...@yahoo.com> menulis:

Dari: prassat...@yahoo.com <prassat...@yahoo.com>
Judul: Re: [Komunitas AmiBroker] AFL ALLIGATOR FOR FREE-Brightspark Swing  
Volume Tool
Kepada: amibroker-4-bei@yahoogroups.com
Tanggal: Selasa, 2 Februari, 2010, 1:51 AM







 



  


    
      
      
      












Brangkat dr ide brightspark sy coba buat indikator tsb bertugas menghitung avg 
vol n total vol stiap leg, leg di dpt dr hitungan supp ress ga pake zig lagi. 
Metode analisa nya hampir sama sperti ordvolume sehingga analisa nya hanya ke 
price n volume relationship. Yah iseng2 aja buat mainan sendiri....Powered by 
Telkomsel BlackBerry®From:  doni edward <kosegu...@yahoo. com>
Date: Tue, 2 Feb 2010 14:36:47 +0800 (SGT)To: <amibroker-4- b...@yahoogroups. 
com>Subject: Re: [Komunitas AmiBroker] AFL ALLIGATOR FOR FREE-Brightspark Swing 
 Volume Tool

 



    
      
      
      Betul Pak Alfatih, Zig-zag memang tidak bisa dipakai untuk trading. 
Ekornya suka bergerak sendiri. Memang bila dilihat ke masa lalu grafiknya indah 
banget, bisa mendeteksi puncak & lembah dengan akurat tapi entah kalau untuk 
mendeteksi pergerakan yang akan datang.

Tapi kalau komponen utama penyusun indikator tersebut menggunakan indikator 
Zig-zag, yah saya ragu akan ke ampuhan indikator Brightspark ini.

--- Pada Sel, 2/2/10, M Alfatih <alfatih.aati@ gmail.com> menulis:

Dari: M Alfatih <alfatih.aati@ gmail.com>
Judul: Re: [Komunitas AmiBroker] AFL ALLIGATOR FOR FREE-Brightspark Swing  
Volume Tool
Kepada: amibroker-4- b...@yahoogroups. com
Tanggal: Selasa, 2 Februari, 2010, 1:16 AM







 



    
      
      
      hmm...mm... zigzag ya..?zigzag tidak bisa dipakai trading...sebab, memang 
dia muncul setelah terbentuk puncak, bahkan kalau muncul puncak baruzigzagnya 
bisa pindah tempat...



2010/2/2 doni edward <kosegu...@yahoo. com>
















 



  


    
      
      
      saya sudah coba browsing di internet, tapi sepertinya sangat minim sekali 
pembahasan mengenai Brightspark ini. Dan satu-satunya sumber hanya dari website 
tersebut & file PPT yang sudah saya attach pada email sebelumnya.


pergerakan swing/zig-zag gergajinya sepertinya mengikuti pergerakan harga, tapi 
bagaimana caranya dia bisa mendeteksi puncak dan lembah secara presisi 
sedangkan fraktalnya alligator saja butuh 3 hari untuk dapat mendeteksi puncak 
atau lembah.


lalu bagaimana juga caranya membuat zig-zag seperti seperti mata gergaji bukan 
seperti gelombang (wave), bingung saya.. (maklum ilmu AFLnya gak terlalu jago)

Untuk sekedar menghitung aliran uang yang masuk/keluar suatu saham sih sudah 
bisa sekarang dimilist2 dikenal dengan istilah Money Flow. Menurut saya AFL ini 
sedikit unik.. hehehe..



Salam

--- Pada Sen,
 1/2/10, Eko Widjajanto <ekow...@gmail. com> menulis:

Dari: Eko Widjajanto <ekow...@gmail. com>

Judul: RE: [Komunitas AmiBroker] AFL ALLIGATOR FOR FREE-Brightspark Swing 
Volume Tool
Kepada: amibroker-4- b...@yahoogroups. com

Tanggal: Senin, 1 Februari, 2010, 11:39 PM







 



    
      
      
      







Pak Doni, punya teorinya yang agak jelas? 

Kalau ada mestinya dibuat afl-nya. 

   

   





From: amibroker-4- b...@yahoogroups. com
[mailto:amibroker- 4-...@yahoogroup s.com] On Behalf Of prassat...@yahoo. com


Sent: Tuesday, February 02, 2010 11:34 AM

To: amibroker-4- b...@yahoogroups. com

Subject: Re: [Komunitas AmiBroker] AFL ALLIGATOR FOR FREE-Brightspark Swing
Volume Tool 





   

   







Its for commercil bos... Dan itu add on nya metastock  

Powered by Telkomsel BlackBerry® 









From: doni edward <kosegu...@yahoo. com>  





Date: Tue, 2 Feb 2010 12:23:40 +0800 (SGT) 





To: <amibroker-4- b...@yahoogroups. com> 





Subject: Re: [Komunitas AmiBroker] AFL ALLIGATOR FOR
FREE-Brightspark Swing Volume Tool 





   



   




 
  
  sudah di cek pak,  tapi kok gak ada AFL-nya 

  

  --- Pada Sen, 1/2/10, sAThya® <prassat...@yahoo. com>
  menulis: 
  

  Dari: sAThya® <prassat...@yahoo. com>

  Judul: Re: [Komunitas AmiBroker] AFL ALLIGATOR FOR FREE-Brightspark Swing
  Volume Tool

  Kepada: amibroker-4- b...@yahoogroups. com

  Tanggal: Senin, 1 Februari, 2010, 10:51 PM 
  
     
  
  
  pak coba
  check di : http://analisahambe
  i.blogspot. com 
  
  

  Rgdz

  Sathya 
  
  
  
  
  From: Eko Widjajanto
  <ekow...@gmail. com>

  To: amibroker-4- b...@yahoogroups. com

  Sent: Tue, February 2, 2010 9:10:57 AM

  Subject: RE: [Komunitas AmiBroker] AFL ALLIGATOR FOR FREE-Brightspark
  Swing Volume Tool

  

     
  
  
  Saya tidak punya Pak Edward. Belum
  sempat mempelajari, masih bulan madu dengan buaya. 
  Dari milis Amibroker juga belum ada
  jawab ya? Mudah-mudahan Tomaz dan teman-temannya bisa melihat merit dari
  Brightspark ini dan membuat aflkan-nya 
  Salam, 
    
  
  
  From:
  amibroker-4- b...@yahoogroups. com [mailto:amibroker- 4-...@yahoogroup s.com] 
On Behalf Of doni edward


  Sent: Tuesday, February 02, 2010 8:46 AM

  To: amibroker-4- b...@yahoogroups. com

  Subject: Bls: [Komunitas AmiBroker] AFL ALLIGATOR FOR FREE-Brightspark
  Swing Volume Tool 
  
  
    
   
   
  
  
  
  
   
    
    Dear pak Eko,

    

    Bagaimana dengan AFL Brightspark Swing Volume Tool apakah bapak punya AFL
    tersebut?

    

    note : 

    mungkin bapak sudah baca di milis sebelah.

    

    Sebelumnya terimakasih

    

    

    --- Pada Sen, 1/2/10, Eko Widjajanto <ekow...@gmail. com>
    menulis: 
    

    Dari: Eko Widjajanto <ekow...@gmail. com>

    Judul: [Komunitas AmiBroker] AFL ALLIGATOR FOR FREE

    Kepada: amibroker-4- b...@yahoogroups. com

    Tanggal: Senin, 1 Februari, 2010, 6:21 AM 
    
       
    
    
    Untuk pengguna Amibroker
    dan mendambakan alligatornya Bill William, silahkan klik http://www.wisestoc
    ktrader.com/ indicators. 
    Gratis, tis, tis. Kalau
    kemudian mau diskusi silahkan posting di milis ini. 
      
    Di sana juga ada
    seratusan afl lainnya. 
      
    Salam, 
    Eko 
    
    
    
    
   
  
    
  
  
  
  Kunjungi halaman depan Yahoo! Indonesia yang baru!
 
  
  
  
  
  
  
  
  
  
  
  
 


   







Berselancar
lebih cepat. 

Internet Explorer 8 yang dioptimalkan untuk Yahoo! otomatis membuka 2 halaman
favorit Anda setiap kali Anda membuka browser.Dapatkan
IE8 di sini! (Gratis) 







 










    
     



 




        Dapatkan alamat Email baru Anda!  

Dapatkan nama yang selalu Anda inginkan sebelum diambil orang lain!

    
     

    
    






  










    
     



 




        Akses email lebih cepat. 
 Yahoo! menyarankan Anda meng-upgrade browser ke Internet Explorer 8 baru yang 
dioptimalkan untuk Yahoo! Dapatkan di sini! (Gratis)

    
     

    










    
     

    
    


 



  






      Akses email lebih cepat. Yahoo! menyarankan Anda meng-upgrade browser ke 
Internet Explorer 8 baru yang dioptimalkan untuk Yahoo! Dapatkan di sini! 
http://downloads.yahoo.com/id/internetexplorer

Kirim email ke