Our professional Customer Supports waiting for you! Contact now
Everyday: 09:00am - 10:00pm
By Invezto in Trading Insight on 25 Nov, 2025

Panduan Chart Non-Standar (Tick, Volume, Range) di MT5

Panduan Chart Non-Standar (Tick, Volume, Range) di MT5

Chart Berbasis Waktu Itu Penipuan: Selamat Datang di Dunia Tick, Range, dan Volume Chart di MT5

Kita semua pernah mengalaminya. Anda menatap chart EURUSD H1 di jam 3 pagi waktu server. Sepi. Tenang. Damai. Enam *candle* beruntun terlihat seperti barisan tentara semut yang gepeng—*doji* semua, *body* nyaris tidak ada. Harga tidak bergerak. Tapi coba tebak? Chart Anda tetap "bekerja", memuntahkan *candle* baru setiap jam.

Lalu, lompat ke jam 8:30 malam. Rilis NFP. Dalam SATU *candle* M1, harga melompat 80 pips, turun 60 pips, lalu tutup di tengah. Semua drama, perang *bid* dan *ask*, dan jutaan dolar yang berpindah tangan... terkompresi menjadi satu batang jelek yang sumbunya panjang ke mana-mana.

Di sinilah kita harus berhenti dan bertanya: "Apakah WAKTU adalah cara terbaik untuk mengukur aktivitas pasar?"

Jawabannya, dalam banyak kasus, adalah: Tentu saja tidak.

Chart berbasis waktu (M1, M5, H1, D1) adalah standar... tapi standar yang (jujur saja) agak bodoh. Ia memperlakukan 1 jam sepi di musim liburan sama pentingnya dengan 1 jam super volatil saat The Fed bicara. Ini adalah kebohongan. Ini adalah "noise" visual yang dirancang untuk membuat analisis kita lebih sulit.

Bagaimana jika kita bisa melihat pasar berdasarkan... *aktivitas*-nya? Bukan berdasarkan detak jam dinding yang membosankan? Selamat datang, wahai para pemberontak, di dunia *Non-Standard Charts*: dunia Tick, Volume, dan Range.

Dan tentu saja, karena ini MetaTrader 5—platform yang luar biasa canggih tapi entah kenapa "lupa" menyertakan fitur-fitur yang jelas-jelas berguna—kita tidak bisa langsung memakainya. Oh, tidak. Kita harus *membuatnya* sendiri dari nol. Siapkan kopi Anda, ini bakal teknis dan sedikit menyakitkan.

H2: Mengapa Chart Berbasis Waktu Adalah Metrik yang Buruk?

Coba pikirkan. Mengapa 1 Hari (D1) itu penting? Karena bumi butuh 24 jam untuk berotasi? Apa peduli pasar EURUSD dengan rotasi bumi? Mengapa M5? Apa pentingnya 300 detik?

Chart berbasis waktu (time-based) punya dua masalah besar:

  1. Saat Pasar Sepi: Ia menciptakan "ilusi aktivitas". Ia terus menggambar *candle-candle* baru yang gepeng dan tidak berarti. Ini adalah *noise*. Ratusan *candle* *sideways* ini bisa memicu sinyal palsu di indikator Osilator Anda (RSI, Stochastics) dan membuat Anda gatal untuk *entry* padahal tidak ada peluang.
  2. Saat Pasar Heboh: Ia "menyembunyikan" data. Satu *candle* M1 saat rilis berita bisa berisi 500 *ticks* (transaksi) dan volume 10.000 lot. *Candle* M1 berikutnya yang tenang mungkin hanya berisi 20 *ticks* dan 100 lot. Tapi di chart Anda, keduanya terlihat sama: sama-sama "satu batang M1". Anda kehilangan semua konteks tentang *kekuatan* di balik pergerakan itu.

 

Intinya, waktu adalah proksi yang buruk untuk *aktivitas trading*. Jika kita ingin tahu apa yang *sebenarnya* terjadi, kita perlu mengganti sumbu-X kita dari "waktu" menjadi "aktivitas".

H2: Tiga Ksatria "Pemberontak": Membedah Chart Non-Standar

Ada tiga cara populer untuk menggantikan "waktu". Masing-masing memberi kita kacamata yang berbeda untuk melihat pasar.

H3: 1. Tick Charts (Chart Berbasis Tik)

Apa ini? Sederhana: Lupakan jam. Setiap "bar" atau "candle" di chart ini mewakili sejumlah *ticks* (transaksi) yang telah selesai. 
Contoh: Anda set "233-tick chart" (angka Fibonacci populer, tentu saja).

  • Setiap *bar* baru akan terbentuk HANYA setelah 233 transaksi terjadi.
  • Saat pasar sepi (3 pagi): Butuh 233 *ticks* mungkin perlu waktu 10-15 menit. Jadi, satu *bar* Anda mewakili 15 menit.
  • Saat pasar heboh (NFP): 233 *ticks* mungkin terjadi dalam 0,5 detik. Jadi, satu *bar* Anda mewakili setengah detik!

Apa gunanya? Ini adalah "Mikroskop Aktivitas". Anda melihat *kecepatan* pasar yang sebenarnya. Saat *bar-bar* terbentuk dengan cepat, Anda tahu momentum sedang gila. Saat *bar-bar* melambat, Anda tahu pasar sedang "menarik napas". Ini favorit para *scalper* dan *day-trader* yang ingin melihat *order flow* mentah.

 

H3: 2. Volume Charts (Chart Berbasis Volume)

Apa ini? Mirip dengan *Tick Chart*, tapi (bisa dibilang) lebih baik. Ia tidak peduli *berapa kali* transaksi terjadi. Ia peduli *SEBERAPA BESAR* transaksi itu. 
Contoh: Anda set "1000-volume chart".

  • Setiap *bar* baru akan terbentuk HANYA setelah 1000 lot (atau kontrak) diperdagangkan.
  • Satu *tick* "Paus" (Big Boy) yang berisi 500 lot jauh lebih berarti daripada 100 *tick* "Teri" (Retail) yang masing-masing 0,01 lot. *Tick Chart* akan menghitungnya sebagai 100 vs 1. *Volume Chart* akan menghitungnya sebagai 500 vs 1.

Apa gunanya? Ini adalah "Pelacak Uang". Anda bisa melihat kapan volume besar masuk ke pasar. *Bar* yang terbentuk dengan cepat di *Volume Chart* adalah sinyal paling jelas bahwa "Smart Money" sedang bergerak. Ini sangat bagus untuk mengkonfirmasi *breakout*.

 

H3: 3. Range Charts (Chart Berbasis Jarak/Range)

Apa ini? Yang ini mirip dengan Renko yang kita bahas sebelumnya, tapi dengan perbedaan kunci. Ia tidak peduli waktu, *tick*, atau volume. Ia hanya peduli pada pergerakan harga
Contoh: Anda set "10-pip Range Chart".

  • Setiap *bar* akan memiliki *range* (jarak antara High dan Low) *tepat* 10 pips.
  • Setelah *bar* saat ini ditutup (karena harga sudah bergerak 10 pips dari *Open*-nya), *bar* baru akan dimulai.
  • Jika harga cuma bolak-balik 9 pips selama 4 jam? Chart Anda tidak akan menggambar apa-apa. Diam saja.

Apa bedanya dengan Renko? Renko menggambar "bata" (bricks) yang ukurannya sama dan tidak punya sumbu (shadow). *Range Chart* masih terlihat seperti *candlestick* normal—ia punya Open, High, Low, Close, dan *body*—tapi ukurannya (dari High ke Low) sudah "dikunci". 
Apa gunanya? Ini adalah "Filter Bising" level dewa. Pasar *sideways* yang bikin frustrasi akan hilang dari chart Anda. Yang Anda lihat hanyalah pergerakan tren yang "murni".

 

H2: Dosa Asal MT5: Kenapa Kita Harus Repot-Repot Begini?

Sekarang Anda pasti berpikir, "Wow! Keren! Di mana tombol untuk mengubah chart saya jadi 233-Tick?"

Jawabannya: Tidak ada.

Ya, benar. Platform trading paling populer di dunia, MetaTrader 5, dengan segala kecanggihan MQL5, Strategy Tester *multi-core*, dan integrasi Python-nya, TIDAK BISA menggambar chart berbasis *tick* atau *volume* secara *native*. Entah ini sebuah kelalaian desain yang memalukan atau mereka sengaja melakukannya agar kita para *programmer* tetap punya pekerjaan. Entahlah.

Jadi, sama seperti Renko, kita harus "meretas" MT5 untuk membuatnya menuruti kemauan kita. Solusinya? Tentu saja: Indikator Kustom + Offline Chart.

Kita, sekali lagi, harus membuat sebuah "pabrik" kecil (indikator) yang akan berjalan di belakang layar, memproses data mentah M1, lalu "mencetak" data sejarah palsu (.hcc) yang kemudian kita buka sebagai *offline chart*. Ini merepotkan. Ini tidak elegan. Tapi ini satu-satunya cara.

H2: Panduan (Sangat) Teknis: Cara Membangun "Pabrik Chart" Anda Sendiri

Ini adalah bagian di mana para *non-programmer* biasanya mulai pusing. Tapi sebagai *developer* (atau calon *developer*), Anda harus tahu apa yang terjadi di "dapur". Artikel MQL5 (15688) menjelaskan ini secara klinis. Mari kita jelaskan dengan sedikit... "bumbu".

Tugas kita adalah membuat **Indikator** (bukan EA) yang akan melakukan 4 hal:

  1. Menempel di chart M1 (sumber data paling murni).
  2. Membaca setiap *tick* atau *bar* M1 yang masuk.
  3. Memproses data ini dan "membangun" *bar* kustom (Tick/Volume/Range) kita sendiri di dalam memori.
  4. Menulis *bar* kustom yang sudah "selesai" ke sebuah file histori kustom (`.hcc`).

H3: Dapur Pacu: Menggunakan `OnCalculate()` (Bukan `OnTick()`)

Anda mungkin berpikir kita butuh `OnTick()` untuk data *tick-by-tick*. Sebenarnya, tidak. `OnCalculate()` jauh lebih kuat. Versi lengkap `OnCalculate` memberi kita semua yang kita butuhkan:

int OnCalculate(const int rates_total, const int prev_calculated, const datetime& time[], const double& open[], const double& high[], const double& low[], const double& close[], const long& tick_volume[], const long& volume[], const int& spread[])

Lihat dua array terakhir itu? tick_volume[] dan volume[] (alias `real_volume`)? Itulah emasnya. tick_volume adalah jumlah *ticks* dalam *bar* M1 itu. volume adalah *real volume* (jumlah lot/kontrak) dalam *bar* M1 itu. MetaQuotes sudah menyediakannya untuk kita. Kita "hanya" perlu merakitnya.

H3: Logika Gila Si "Pembangun Bar" (The Custom Bar Builder)

Ini adalah inti dari algoritma Anda. Anda perlu beberapa variabel *static* (atau *global*) untuk melacak *bar* kustom Anda yang sedang "dalam proses":

static MqlRates customBar; // Struct untuk nyimpan bar kita static long customTickCounter = 0; // Penghitung tick static long customVolumeCounter = 0; // Penghitung volume static double customRangeStartPrice = 0; // Untuk range chart

Lalu, di dalam *loop* `OnCalculate()` Anda (yang berulang dari `prev_calculated` ke `rates_total`), Anda akan melakukan logika seperti ini (contoh untuk *Tick Chart* 1000-tick):

  1. Ambil data M1 saat ini: `open[i]`, `high[i]`, `low[i]`, `close[i]`, dan `tick_volume[i]`.
  2. Jika `customTickCounter == 0`, berarti ini *bar* kustom baru. Set `customBar.open = open[i]`.
  3. Tambahkan volume M1 ini ke penghitung kita: `customTickCounter += tick_volume[i]`.
  4. Update High/Low: `customBar.high = MathMax(customBar.high, high[i])`, `customBar.low = MathMin(customBar.low, low[i])`.
  5. Sekarang cek: Apakah *bar* kustom kita sudah "matang"? 
    if (customTickCounter >= 1000)
  6. Jika SUDAH:
    • Set harga penutupan: `customBar.close = close[i]`.
    • Set volume: `customBar.tick_volume = customTickCounter`.
    • Set waktu: `customBar.time = time[i]`.
    • TULIS `customBar` ini ke file `.hcc` Anda. (Ini bagian rumitnya).
    • RESET: Mulai *bar* kustom baru. `customTickCounter = 0`, `customBar.open = close[i]`, dst.
  7. Jika BELUM: Jangan lakukan apa-apa. Lanjut ke *bar* M1 berikutnya. *Bar* kustom kita masih "mentah".

Anda tinggal mengadaptasi logika `if` di Langkah 5 untuk chart lain. Untuk *Volume Chart*, Anda cek `customVolumeCounter >= 10000`. Untuk *Range Chart*, Anda cek `(customBar.high - customBar.low) >= 10 * _Point`.

H3: Bagian Paling Dibenci: Menulis File Histori `.hcc`

Ini adalah bagian di mana 90% orang menyerah. Anda tidak bisa seenaknya `FileWrite()`. Anda harus membuat file histori *binary* kustom yang formatnya bisa dibaca MT5. Ini melibatkan `FileOpen()` dengan *flag* `FILE_BIN | FILE_WRITE`, lalu menggunakan `FileWriteStruct()` untuk menulis *struct* `MqlRates` (si `customBar` tadi) setiap kali *bar*-nya "matang".

Anda juga harus menangani penutupan file (`FileClose()`) di `OnDeinit()` agar file Anda tidak korup. Ini adalah pekerjaan kotor, merepotkan, dan seharusnya tidak perlu kita lakukan. Tapi apa boleh buat.

H2: Jadi, Apa Untungnya Repot-Repot Begini? vs. Apa Konsekuensinya?

Setelah semua penderitaan teknis itu, apakah sepadan?

Keuntungannya (PRO):

  • Kejernihan Analisis: Anda akhirnya melihat pasar apa adanya. *Noise* hilang, *aktivitas* terlihat jelas.
  • Sinyal yang Lebih Baik: Tren di *Range Chart* atau *Volume Chart* jauh lebih "bersih". Sinyal *divergence* di RSI atau MACD yang diterapkan pada *Tick Chart* seringkali jauh lebih akurat daripada di *time chart*.
  • Mengungkap "Smart Money": *Volume Chart* adalah pelacak *big boys* terbaik yang bisa Anda dapatkan di MT5.

 

Konsekuensinya (KONTRA / YANG MENYAKITKAN):

  • *BACKTESTING* ADALAH MIMPI BURUK. Saya ulangi: *BACKTESTING* ADALAH MIMPI BURUK. Strategy Tester MT5 bekerja berdasarkan *WAKTU*. Ia tidak bisa memproses data *offline chart* kustom Anda dengan benar. Bagaimana Anda mau menguji EA di *Tick Chart* jika Tester-nya sendiri tidak bisa *menghasilkan* *Tick Chart*? Ini adalah masalah "ayam dan telur" filosofis yang akan membuat Anda ingin banting laptop.
  • Ketergantungan Penuh: *Offline Chart* Anda "hidup" hanya selama indikator pembuatnya berjalan. Jika MT5 Anda *crash*, laptop *restart*, atau indikatornya *error*, chart Anda *BERHENTI* *update*.
  • *Lag* (Kecil, tapi Ada): Ada jeda sepersekian detik antara data M1 masuk -> diproses indikator -> ditulis ke file -> dibaca oleh *offline chart*. Ini bukan masalah untuk *swing trading*, tapi bisa jadi masalah untuk *scalping* frekuensi tinggi.

 

H2: Kesimpulan: Ini Alat untuk Analis Serius, Bukan untuk Pemimpi

Chart non-standar (Tick, Volume, dan Range) adalah alat analisis yang sangat, sangat canggih. Mereka membuka dimensi baru dalam melihat pasar, membuang ilusi "waktu" dan fokus pada apa yang penting: *aktivitas* dan *uang*.

Namun, di platform MT5, mengakses kekuatan ini adalah sebuah "perjuangan". Ini adalah "retasan", sebuah *workaround* yang rumit yang membuktikan bahwa kita (para *developer*) lebih pintar daripada *default setting* platform kita.

Ini jelas bukan *Holy Grail*. Ini adalah mikroskop bedah yang kuat. Ia tidak akan memberi Anda sinyal "Beli di sini, Jual di sana". Tapi ia akan memberi Anda informasi berkualitas jauh lebih tinggi untuk membuat keputusan Anda sendiri. Ini adalah alat untuk seorang profesional yang rela "repot" demi mendapatkan data terbaik.

Jika Anda adalah tipe orang yang suka membongkar mesin, tidak puas dengan pengaturan *default*, dan selalu ingin tahu "mengapa" di balik setiap pergerakan harga... maka Anda adalah tipe orang yang kami sukai.

Dunia *trading* teknis penuh dengan "retasan" cerdas dan analisis mendalam seperti ini. Jika Anda ingin terus mengasah otak Anda dan tidak ketinggalan diskusi teknis dan strategi *out-of-the-box*... Pastikan Anda follow akun sosial media INVEZTO. Kami di sana bukan untuk pamer sinyal, tapi untuk membedah pasar dengan cara yang cerdas, edukatif, dan (kadang) sedikit sarkastik. Dapatkan info menarik lainnya dan jadilah trader yang benar-benar paham apa yang mereka lihat.

You may also like

Related posts