Skip to main content

Membuat Grafik Candlestick (OHLC) di Access

Grafik candlestick, mungkin grafik ini tidak umum di telinga kita. Wajar saja, karena grafik ini sangat jarang digunakan untuk keperluan penyajian laporan di tempat kerja. Namun, bagi mereka yang bekerja di perdagangan saham, komoditi, dan valuta asing (foreign exchange, forex), grafik candlestick adalah sebuah keharusan.
Gambar A. Grafik Candlestick

Grafik candlestick biasa disebut juga grafik OHLC. OHLC adalah kependekan dari Open High Low Close, merujuk pada harga kesepakatan sebuah saham, komoditi, atau valuta asing dalam satu periode waktu tertentu, bisa detik, menit, jam, hari, minggu, bahkan bulan atau tahun, bergantung kepada rentang waktu analisa kita. Open adalah harga pembukaan, High adalah harga tertinggi, Low adalah harga terendah, dan Close adalah harga penutupan. Penjelasan berupa gambar ada di bagian akhir dari posting ini. Untuk penjelasan lebih detai apa itu grafik candlestick, silakan baca di web/blog lain, karena blog ini hanya membahas Access, tidak ada hubungannya dengan perdagangan saham.

Kita akan menggunakan data pergerakan harga saham harian untuk saham AALI (Astra Agro Lestari). Berikut ini adalah potongan gambar dari tabel Trx2007 yang berisi saham AALI dari satu periode waktu tertentu. Tabel Trx2007 itu sendiri dapat didownload dengan mengikuti petunjuk di posting yang berjudul Membuat Grafik Garis dan Batang. Dengan database di situ pula, kita membuat grafik candlestick berikut ini.

Gambar 1. Tabel Trx2007

Selanjutnya, menggunakan tabel Trx2007, kita membuat query yang disimpan dengan nama qry2. SQL Viewnya adalah sebagai berikut:
SELECT Trx2007.STK_DATE, Trx2007.STK_OPEN, Trx2007.STK_HIGH, Trx2007.STK_LOW, Trx2007.STK_CLOS
FROM Trx2007
WHERE (((Trx2007.STK_DATE)<=#3/29/2006#) AND ((Trx2007.STK_CODE)="AALI"))
ORDER BY Trx2007.STK_DATE;

Langkah pertama adalah membuat sebuah form dengan menggunakan Blank Form. Jika masih berada di Layout View, ubah tampilan form ke Design View. Sisipkan Chart Control dengan mengklik tab Design, grup Controls, dan pilih Chart. Access akan memandu wizard grafik dengan membuka kotak dialog Chart Wizard dengan spesifikasi sebagai berikut:
  1. Pada kotak View, pilih Queries
  2. Pada list box "Which table would you like to use to create your chart?", pilih qry2.
  3. Tekan Next
  4. Pindahkan seluruh field yang ada list box di Available Fields ke list box Field for Chart.
  5. Tekan Next
  6. Pada pertanyaan "What type of chart would you like?" pilih Column Chart. Kita akan mengubahnya nanti.
  7. Tekan Next
  8. Pada pertanyaan "How do you want to lay out the data in your chart?" abaikan dan langsung tekan Next untuk melanjutkan.
  9. Pada pertanyaan "What title would you like for your chart?" Isikan apa saja terserah. Lalu, pada pertanyaan "Do you want the chart to display a legend?" pilih No, don't display a legend.
  10. Tekan Finish untuk mengakhiri wizard.
Tampilan kasar grafik tampak seperti Gambar 2 di bawah ini. Jangan lupa untuk menyimpan form dengan nama Form3 seperti pada gambar itu. Untuk kontrol grafik yang baru saja dibuat, simpanlah kontrol grafik itu dengan nama Graph1. Kedua nama ini, Form3 dan Graph1 akan digunakan saat membuat grafik dinamis nanti.
Gambar 2. Grafik hasil wizard yang masih kasar

Klik pada bagian grafik dan tampilkan properti grafik seperti gambar di bawah. Ubah properti Row Sourcenya menjadi qry2 seperti tersedia di daftar.

Gambar 3. Mengubah properti Row Source
Klik ganda pada grafik untuk membuka Microsoft Graph Editor.
Klik pada bagian Plot Area, lalu tekan mouse kanan untuk menampilkan menu shortcut dan pilih Chart Type .... seperti Gambar 4 di bawah ini.
Gambar 4. Mengubah tipe grafik ke Stock OHLC

Pada jendela Chart Types, klik tab Standard Types dan pilih Stock, sub chart Open-High-Low-Close (OHLC). Klik OK untuk mengakhiri.

Bila tampilan grafik belum berubah menjadi Stock OHLC, maka buka form dalam format Form View, lalu ubah lagi ke Design View dan klik ganda pada grafik untuk membuka kembali Microsoft Graph Editor. Tampilan setelah berubah menjadi Stock OHLC adalah sebagai berikut:

Gambar 5. Tampilan kasar grafik stock OHLC


Dengan tampilan seperti di atas, kita dapat memperbaiki design grafik supaya terlihat nyaman di mata. Sumbu vertikal sebelah kiri adalah harga per lembar saham dalam rupiah, sedangkan sumbu horizontal adalah tanggal transaksi. Berikut ini, beberapa hal yang berkaitan dengan format design grafik:

Klik pada bagian Chart Area, lalu klik mouse kanan untuk menampilkan menu shortcut dan pilih Chart Options...
Gambar 6. Kotak dialog Chart Options pada grafik candlestick

  1. Pada tab Titles, isikan Chart Titles=AALI, Category (X) axis=Tanggal, Value (Y) axis=Harga per lembar (Rp)
  2. Pada tabe Axes, pilih Category (X) axis=Category
  3. Klik OK untuk mengakhiri
Klik ganda mouse kiri pada Value Axis Title yang tertulis Harga per lembar (Rp) untuk memformat Font di tab Font, atur Size=10, Font style=Regular, matikan/hapus Auto scale di pojok kiri bawah. Klik OK untuk mengakhiri

Klik ganda mouse kiri pada sumbu vertikal sebelah kiri untuk menampilkan kotak dialog Format Axis lalu atur sbb:
  1. Pada tab Pattern, Major tick mark type pilih Outside
  2. Pada tab Font, atur Size=10, Font style=Regular, matikan/hapus Auto scale di pojok kiri bawah
  3. Pada tab Number, atur Category=Number, Decimal Places=0, beri tanda centang pada Use 1000 separator (,)
  4. Klik OK untuk mengakhiri.
Klik ganda mouse kiri pada sumbu horizontal di bawah untuk menampilkan kotak dialog Format Axis lalu atur sbb:
  1. Pada tab Pattern, Major tick mark type pilih Outside
  2. Pada tab Font, atur Size=10, Font style=Regular, matikan/hapus Auto scale di pojok kiri bawah
  3. Pada tab Number, atur Category=Date, Type=pilih yang formatnya dd-mmm-yy, misalnya 14-Mar-01
  4. Pada tab Alignment, atur Degrees=45
  5. Klik OK untuk mengakhiri.
Gambar sementara setelah melalui beberapa format di atas adalah seperti ini:
Gambar 7 Grafik Candlestick setelah melalui format sumbu dan pelebaran
Langkah selanjutnya adalah menata bentuk candle supaya enak dilihat. Lihat gambar 8 di bawah ini.

Gambar 8. Menampilkan kotak dialog Format Up-Bars


Untuk memformat bentuk batang yang menunjukkan harga saham naik, klik ganda pada bagian batang yang harganya naik. Cara lain, klik Chart Objects (pada Gambar 8 ada di pojok kiri atas) lalu pilih Up-Bars 1. Setelah itu untuk menampilkan kotak dialog Format Up-Bars, klik Format Up Bars di sebelah kanan Chart Object. Kotak dialog Format Up-Bars ditampilkan, dan atur Border=None, lalu Area=pilih yang warna hijau, untuk menunjukkan harga naik. Tekan OK untuk mengakhiri.

Dengan cara yang sama, pilih Down-Bars 1 pada Chart Objects, lalu klik Format Down Bars di sebelah kanan Chart Object. Pada kotak dialog Format Down Bar, atur Border=None dan Area=pilih yang warna merah, untuk menunjukkan harga turun. Tekan OK untuk mengakhiri.

Untuk mengatur gridlines, pilih Value Axis Major Gridlines pada Chart Objects, lalu klik Format Gridlines di sebelah kanan Chart Object. Pada kotak dialog Format Gridlines, atur Custom Style =garis putus-putus (nomor 3) dan Color=pilih yang warna abu-abu terang. Tekan OK untuk mengakhiri.

Untuk mengatur lebar batang dan jarak antar batang, pilih Series: Series "STK_OPEN", Series "STK_HIGH", Series "STK_LOW", atau Series "STK_CLOS" pada Chart Objects, lalu klik Format Data Series di sebelah kanan Chart Object. Pada kotak dialog Format Data Series tab Options, atur Gap Width =10. Tekan OK untuk mengakhiri.
Gambar 9. Grafik candlestick setelah melewati tahap format candle dan gridlines
Grafik candlestick pada gambar 9 sudah mulai terlihat bentuknya. Persoalannya, bentuk batang terlalu tipis, sehingga tidak mudah dipahami. Untuk itu kita perlu menambahkan sedikit kode VBA pada saat form Form3 dibuka dengan menggunakan event procedure berikut ini:

Private Sub Form_Open(Cancel As Integer)
  Dim cht As Chart
  Dim dblMax, dblMin As Double
  
  Set cht = Me.Graph1.Object
  cht.Activate
  dblMin = CDbl(DMin("[stk_low]", "qry2"))
  dblMax = CDbl(DMax("[stk_high]", "qry2"))
  cht.Axes(xlValue, xlPrimary).MinimumScale = dblMin - cht.Axes(xlValue, xlPrimary).MinorUnit
  cht.Axes(xlValue, xlPrimary).MaximumScale = dblMax + cht.Axes(xlValue, xlPrimary).MinorUnit
End Sub

Kode VBA di atas digunakan untuk mengatur nilai minimum dan maksimum dari sumbu vertikal. Dengan penambahan kode VBA di atas, saat form Form3 dibuka, grafik yang ditampilkan menjadi seperti di bawah ini:
Gambar 10. Grafik candlestick setelah ditambahkan kode VBA
Dari Gambar 10 di atas, kita bisa melihat dengan jelas bentuk candle yang bervariasi dari harga saham AALI. Warna hijau menunjukkan bahwa harga saham ditutup naik, sedangkan warna merah menunjukkan harga saham ditutup turun.

Puncak dari garis yang memotong candle di bagian atas adalah harga tertinggi (STK_HIGH). Bila tidak ada puncak, berarti harga tertinggi sama dengan harga penutupan atau pembukaan.

Dasar dari garis yang memotong candle di bagian bawah adalah harga terendah (STK_LOW). Bila tidak ada dasar, berarti harga terendah sama dengan harga penutupan atau pembukaan.

Bila harga saham naik (batang berwarna hijau) maka bagian dasar dari batang adalah harga pembukaan (STK_OPEN), sedangkan bagian atas dari batang adalah harga penutupan (STK_CLOS).

Bila harga saham turun (batang berwarna merah) maka bagian dasar dari batang adalah harga penutupan (STK_CLOS), sedangkan bagian atas dari batang adalah harga pembukaan (STK_OPEN).
Gambar 11. Arti batang pada grafik candlestick
Contohnya pada Gambar 11, bagian yang di arsir dari datasheet qry2 bertanggal 2/2/2006 di mana STK_OPEN=5200, STK_HIGH=5600, STK_LOW=5200, STK_CLOS=5550, berbentuk lilin sempurna. Karena STK_CLOS lebih tinggi dari pada STK_OPEN, maka batang lilin berwarna hijau, yang berarti harga saham mengalami kenaikan.

Kita dapat membuat grafik di atas menjadi dinamis, misalnya dalam rentang waktu tertentu dan harga saham tertentu yang diatur di form Form3. Cara berpikirnya sama dengan posting yang berjudul Membuat Grafik Garis dan Batang, di bagian Grafik Dinamis.

Untuk men-download file database Access yang berkaitan dengan grafik candlestick ini, silakan klik di sini. Ikuti petunjuk download di halaman Download File. Adapun tampilan grafik sama dengan di Gambar A, yaitu berlatar belakang hitam.

Comments

Posting Terpopuler

Normalisasi, Denormalisasi, dan Anomali Database

Membuat Relasi Database

Menampilkan Data MySQL dalam Form di Access