Hi Guys, Bonjour, Semangat Pagi.
Sejak [belajar] menjadi Data Scientist, saya tertarik sekali dengan dunia kecerdasan buatan atau AI (Artificial Intelligence). Apalagi hari ini, di dunia ini dimana hampir semua hal yang terhubung dengan internet dan komputer, bisa dikatakan, dikendalikan oleh program, atau algoritma. Welcome to AI world !
Sebenarnya banyak sekali resources di Internet tentang topik seperti ini. Cukup ketik aja di Google dengan kata kunci yang diinginkan, maka Anda akan diberikan begitu banyak pilihan website untuk belajar. So, jadi ga perlu donk tulisan ini…hahahaha 😀 😀 😀
OK, tetap saya lanjutkan artikel ini….terserah Anda mau baca sampai selesai atau cukup sampai disini hubungan kita…. ‘Lo…Gua…END’ …. 😀 😀 😀
Artikel ini terbagi menjadi 4 bagian:
- Part #1 : Latar Belakang serta Arsitektur ML.
- Part #2 : Output- Proses – Input dari ML
- Part #3 : Coding.
- Part #4 : Hasil.
Bagi Anda yang mau belajar, silahkan baca dari Part #1 sampai Part #4. Tapi bagi yang tingkat sabarnya ‘kurang’, apalagi penasaran sama hasilnya, silahkan Anda bisa langsung loncat ke Part #4, atau langsung tutup aja artikel blog ini…hahaha 😀 😀
OK. Yuuk kita mulai saja.
Machine Learning, atau sering disingkat ‘ML’, merupakan sebuah teknologi yang mampu mempelajari data yang ada dan melakukan tugas-tugas tertentu sesuai dengan apa yang ia pelajari. Teknologi ML adalah mesin yang dapat kita kembangkan untuk bisa belajar dengan sendirinya tanpa arahan dari penggunanya. Layaknya otak manusia. Dia memiliki kemampuan untuk belajar. Pembelajaran mesin ini dikembangkan berdasarkan multi disiplin ilmu seperti statistika, matematika, informatika dan data mining, sehingga mesin dapat belajar dengan menganalisa data tanpa perlu di program ulang atau diperintah. Adapun cara kerja machine learning sebenarnya berbeda-beda, namun tetap harus sesuai dengan metode pembelajaran seperti pada umumnya. Pada dasarnya prinsip atau cara kerja pembelajaran ML meliputi pengumpulan data, eksplorasi data, pemilihan model , pelatihan dan ujicoba terhadap model, dan mengevaluasi kinerja dari hasil ML.
Dan kali ini saya mau berbagi sebuah pengalaman dari projek saya dalam [belajar] mengembangkan Machine Learning. Machine Learning dapat diterapkan dalam banyak disiplin ilmu. Salah satu pengalaman yang saya pernah kerjakan adalah pada dunia medis dan finansial. Seperti pendeteksian Covid-19 dan pendeteksian Fraud kartu kredit. Teman-teman bisa membaca artikelnya disini. Abstrak untuk tulisan tentang pendeteksian penipuan (fraud) kartu kredit berbasis kecerdasan buatan, bisa baca disini. Tapi pada projek kali ini, saya mau mengajak teman-teman untuk [belajar] mengembangkan Machine Learning yang dapat memprediksi harga stock / saham, dan sangat mungkin juga bisa diterapkan untuk Forex dan Crypto. Are you ready ? 😀 😀
Tapi perlu dicatat yah Guys, ini hanya untuk keperluan belajar. Adapun kalau untuk diterapkan pada dunia Real Trading, resiko tanggung sendiri yah… 😀
OK….mulai serius sekarang. Sebenarnya projek ini adalah sebuah challenge atau tantangan bagi saya sendiri. Sejak pandemi Covid-19 melanda jagad muka bumi ini, dan kita semua pernah mengalami masa-masa lockdown, lalu saya melihat sisi positif untuk memanfaatkan masa-masa itu untuk belajar trading. Dan saya sempat bikin robot trading atau Expert Advisor (EA) pada Metatrader. HIngga akhirnya sampai ada ide untuk membuat Machine Learning…. 😀
Apa sih tujuan dibuat Machine Learning ini? Jujur saja, saya punya mimpi Machine Learning ini dapat menjadi asisten dan menginspirasi para Traders pemula, seperti saya….atau teman-teman baik yang berada di tanah air atau di perantauan, yang mungkin membutuhkannya. Dan sangat mungkin juga untuk menginspirasi para wannabe traders di seluruh planet bumi ini… :). Itulah visi-misi serta tujuan dari projek ini.
Saya cerita pengalaman dan kebutuhannya dulu…..*banyak ceritanya, kapan mulainya…… 😀
Saya pribadi terbiasa ketika belajar trading menggunakan aplikasi Metatrader, khususnya Metatrader4. Kenapa? Alasannya, KISS doonk……Keep It Simple, Stupid….. :D. Yah, saya lebih memilih yang sederhana dan simple. Plus, Metatrader tersedia juga untuk multi-platform. Plus, metatrader4 dengan bahasa pemrograman MQL4 juga banyak tersedia resource di Internet. Komunitasnya juga cukup banyak.
Nah, permasalahan yang saya sering hadapi dan (mungkin) juga dialami kebanyakan para traders pemula adalah seperti berikut:
- Kapan saya harus ambil posisi BUY atau SELL?
- Diharga berapa saya harus BUY atau SELL?
- Kapan saya harus ENTER atau EXIT dari market?
Nah, itulah masalah utama yang saya hadapi. Kalau masalah teknis mah…banyak….sulit untuk dijelasin disini. Bisa jadi 1 buku nanti……hahaha 😀
Solusinya….banyak pilihan koq. Seperti isitilah “Banyak jalan menuju Roma”, artinya banyak solusi atau jalan untuk mencapai target atau tujuan kita. Asal kita fokus pada salah satu target yang sudah kita tentukan. Dan konsisten atau istiqomah….
Beberapa solusi yang pernah saya temukan di Internet, dari yang paling mudah sampai yg paling sulit, antara lain:
- Beli robot trading, seperti EA. Harga bervariasi. Mulai yang Gratis sampai Jutaan rupiah atau ribuan dollar.
- Ikut program copytrading. Tinggal pilih broker dan expert tarders yang sudah berpengalaman, lalu copytrading mereka.
- Cari signal trading. Banyak website atau aplikasi yang menyediakan signal trading. Tinggal install, lalu tunggu notifikasi setiap ada signal, kemudian trading.
- Ikut kelas atau kursus trading.
- Belajar Trading sendiri. Biar lebih mandiri…. 😀
Setiap solusi diatas masing-masing memiliki plus/minus nya atau kelebihan dan kekurangannya. Saya sudah pernah melakukan yg no. 1, 2 dan 3. Sedangkan yang no. 4, saya ikut kelas online di Youtube…hahaha 😀 .Tapi pada akhirnya saya tidak puas. Karena saya YAKIN bahwa saya bisa memiliki kemampuan dan skill, serta saya yakin bisa melakukannya LEBIH BAIK. Oleh karena itu, saya memutuskan untuk ambil solusi no. 5. Alasan lain bagi saya, solusi no. 5 ini adalah solusi yang tepat dan sesuai dengan visi-misi saya. Selain itu, skill trading ini juga bisa kita gunakan anywhere, anytime, no limit. Benar atau betul ??? 😀
Sederhananya arsitektur sistem atau projek yang akan bangun bisa dilihat seperti diagram di bawah ini.
MT4 <—–JSON—–> ML
Udah gitu aja…sederhana khan…. hahaha 😀
Kenapa arsitekturnya seperti itu? Tidak lain karena saya menghadapi beberapa kendala teknis. Metatrader4 (MT4) menggunakan bahasa pemrograman MQL4, mirip bahasa C/C++, namun library-nya tidak cukup untuk melakukan komputasi atau membangun Machine Learning. MQL4 hanya cukup untuk membuat EA (Expert Advisor) atau Indicator. Sedangkan disisi lain, kita punya bahasa pemrograman Python dengan segudang libray-nya yang dapat digunakan untuk membangun Machine Learning. Nah, dikrenakan MT4 dan Python belum ada library yag memungkinkan berkomunikasi dan bertukar data, maka untuk menjembatani antara MT4 dan ML Python, JSON digunakan untuk passing data . MT4 akan mengirim data history berupa harga OHLC (Open, High, Low, Close) dari sejumlah candle/bars yang kita tentukan. Dimana data OHLC ini akan kita jadikan input data bagi Machine Learning. Dan selanjutnya output prediksi harga dari Machine Learning akan dikirim kembali ke MT4 dengan menggunakan format JSON. Udah….selesai deh. C’est facile…. 😀
Mau tau lebih jauh tentang projek ini….? Atau mau tau banget…? Silahkan lanjut ke Part#2 nya yah…. 😀
Kalau ada yg ingin ditanya, silahkan tulis pada kolom komentar….I’ll do my best untuk menjawabnya. Merci …. Thank You…Terima kasih sudah membaca artikel pendek ini. Semoga bermanfaat.
Colmar, 22/04/2023, Springtime.