Sunday, April 15, 2018

Kapabilitas Robot Trading Forex

Tulisan ini adalah kesimpulan pengalaman penulis dalam membuat robot untuk kepentingan trading di Forex, yang disebut dengan Expert Advisor (EA). Pembuatan robot ini adalah berkaitan dengan tulisan sebelumnya, yang merupakan pekerjaan penulis sebagai freelancer. 

Dalam tulisan ini, penulis hanya akan memberikan gambaran umum dan code dasar tentang ide yang penulis terapkan di robot EA penulis, jika pembaca memiliki kemampuan menulis code, pembaca mungkin dapat membuat sendiri robotnya, dengan mengembangkan ide dan metode yang penulis utarakan di sini. Siapa tahu robot pembaca lebih baik dibanding robot yang penulis buat dan dapat dijual di MQL5 Market

Pendahuluan

EA dapat dibangun dari berbagai dasar, antara lain dapat berbasis perubahan harga tiap rentang waktu tertentu (tick), berdasarkan pergerakan harga dari mata uang lain (multicurrency), berdasarkan bentuk grafik candle (Candle Stick) dan  lain sebagainya yang belum penulis ketahui. 

Begitu juga dengan strategi yang digunakan, ada yang menggunakan metode Martingale, Anti-Martingale, Grid, Hedging, Scalping, atau lainnya. Bahkan digadang-gadang, ada juga robot EA yang dibangun dengan mengusung konsep prediksi, seperti Neural Network, Genetic Algorithm, Machine Learning, atau konsep-konsep Artificial Intelligence lainnya. Yang mana semua itu bertujuan satu, yaitu mencoba membuat robot yang dapat membaca, menganalisa dan sekaligus memprediksi arah pergerakan harga pasar, dan hanya untuk dapat melakukan trading yang tepat tanpa campur tangan manusia lagi. 

Berdasarkan pengalaman penulis sampai tulisan ini dibuat, robot trading yang baik, bukan robot yang diorientasikan untuk memprediksi harga pasar di masa datang. Melainkan robot yang diorientasikan untuk dapat memanajemen keuangan atau modal trading. Hal ini karena bagaimanapun juga arah pergerakan harga pasar tidak akan bisa di prediksi, kecuali Market Maker yang memang bertugas menentukan harga untuk menjaga keseimbangan pasar sesuai kondisi politik, ekonomi, sosial atau semacamnya. 

Selain itu kecepatan server dapat juga mempengaruhi kecepatan informasi yang diterima oleh robot. Keberadaan trader di Indonesia, dapat mempengaruhi hal tersebut. Harga yang diterima oleh robot, bisa jadi adalah sepersekian milidetik setelah harga berubah. Begitu juga ketika mengirimkan balik order, harga mungkin sudah berubah beberapa pip dari ketika dikirim. Belum lagi jika ada permainan oknum broker yang memanipulasi harga, jika robot dibangun untuk orientasi prediksi, maka sudah pasti robot akan sedikit demi sedikit menggerus saldo, karena prediksi yang terhitung adalah hasil dari pengolahan data yang salah atau sudah terlambat. 

Oleh karena itu, jika robot dibangun berdasarkan dengan orientasi manajemen keuangan, maka setidaknya data yang diolah adalah data yang berada di kantong robot, dan kepentingan informasi tentang harga pasar menjadi nomor 2. 


Advertisement

Kode Robot EA

Robot yang diperuntukkan dapat layak jual di MQL5 Market, harus memenuhi beberapa syarat, termasuk kemampuan untuk mendeteksi kekuatan account. Minimal meliputi kekuatan margin, balance (deposit), dan jumlah order yang diperbolehkan. Jika account tidak memenuhi syarat untuk dapat mengirimkan order baru, EA setidaknya dapat mengirimkan notifikasi kepada trader, bahwa EA tidak dapat melakukan order sesuai dengan kesalahan kondisi yang terjadi. 

Sedangkan untuk dapat menjual di MQL5 Market, sebelumnya pemilik EA harus sudah terdaftar sebagai seller yang cara pendaftarannya kurang lebih sebagaimana pada tulisan penulis disini.

Berikut ini adalah conteh kode pemanggilan order sell atau buy di mq4:


Contoh kode robot EA mq4 sederhana dapat didownload dan dimodifikasi sendiri, yaitu Contoh Trade1 dan Contoh Trade2

Contoh Trade1 adalah contoh kode mq4 sederhana yang berfungsi untuk mengirimkan buy atau sell order pada tick pertama. Sedangkan pada Contoh Trade2 adalah pengembangan Contoh Trade1, yang melakukan order beli atau jual, berdasarkan nilai indikator Relative Strength Index (RSI), dimana jika nilai RSI lebih kecil 50 maka akan dikirimkan order sell, sedangkan jika lebih besar dari 50 maka order yang dikirimkan adalah jual. 

Penulis tidak akan memberikan tutorial bagaimana cara meng-compile kode mq4 di atas, karena menurut penulis sudah banyak artikel atau video tutorial diluar sana yang menjelaskan cara bagaimana merubah kode mq4 ke ex4 dan dapat dijalankan di aplikasi Metatrader 4. 

Trading Forex

Secara teknis, trading forex itu sangat mudah. Yaitu melakukan order beli atau jual, dan menutupnya ketika sudah untung. Hal yang sulit adalah waktu yang tepat melakukan order yang berpotensi selalu menghasilkan profit, dan kapan waktu yang tepat untuk menutupnya. Sehingga dalam implementasinya, trader kadang merasa sulit untuk menentukan entry dan exit poin tersebut, karena pertimbangan yang bermacam-macam. 

Berikut ini adalah pertimbangan-pertimbangan yang sering muncul pada trading yang dilakukan secara manual, yang disematkan dalam robot Harrow Order, EA penulis yang berbayar. 

Trend

Banyak trader bilang, “Ikuti pasar, jangan sekali-kali mencoba melawan pasar”. Namun adakalanya seorang trader yang berani mengambil resiko tinggi, trader akan lebih memilih untuk melawan pasar, dan akan mengambil untung sebanyaknya-banyaknya ketika harga pasar berbalik arah. 

Logikanya tentu saja benar, ketika banyak orang yang menjual barang, trader justru membeli barang yang sama. Dan ketika stok barang yang dijual sudah habis, dan harga barang menjadi tinggi (naik), maka saat itulah trader mendapatkan keuntungan dengan menjual barang tersebut, yang dibeli pada saat harga murah sebelumnya.

Namun untuk implementasinya, akan sedikit berbeda, karena akan sangat ditentukan dengan kekuatan deposit atau balance. Kekuatan balance inilah yang membuat resiko trading menjadi tinggi. 

Berdasarkan pengamatan penulis, sekecil apapun lot order trader dapat membuat harga pasar bergerak. Sehingga ketika trader melakukan tindakan jual atau beli, sekecil apapun lot order yang dipasangkan, berpotensi dapat menggerakkan harga pasar. Sehingga meskipun trend harga terlihat naik misalnya, jika banyak trader yang melakukan tindakan order yang sama, maka arah trend harga dapat langsung berbalik arah. 

Kemudian robot forex yang baik, mengikuti ataukah melawan harga pasar? 

Berdasarkan pengamatan penulis, robot EA yang baik adalah robot yang tidak terlalu terfokus pada entry poinnya saja, mengikuti, melawan, atau memprediksi harga pasar. Robot EA yang bagus adalah robot yang dapat dapat meng-handle baik itu order yang profitable atau sebaliknya. Robot boleh saja memakai indikator seperti RSI, MACD, Stochastic, Bollinger, multicurrency dan lain sebagainya untuk menentukan ambil entry poin, namun pada setiap indikator tersebut pasti terdapat ketepatan dan kesalahan penempatan order (missplaced order). Yang mana jika kesalahan order tidak diimbangi dengan manajemen keuangan yang tepat, maka keuntungan yang didapat dari profitable order sebelumnya, dapat tergerus habis kembali, bahkan menghabiskan deposit yang ada. 

Kekuatan Balance

Selain itu, kekuatan balance (atau deposit) sangat mempengaruhi performa dari robot. Karena robot tidak seperti otak manusia. Untuk dapat menjalankan strategy terbaiknya, robot EA perlu didukung balance yang kuat. Begitu juga dengan emosi, karena robot tidak mengetahui seberapa besar nilai sesungguhnya dana yang telah dihabiskannya, maka dia akan terus mengirimkan order, jika menurut dia diperlukan, bukan malah menghentikannya. 

Oleh karena itu, menurut penulis, untuk trading yang menggunakan robot, initial lot dan minimum deposit yang diperlukan hendaknya sesuai rasio 1:100000. Artinya jika trading menggunakan lot 0.1, maka deposit yang dibutuhkan adalah sebesar 10000 USD. Atau jika menggunakan lot 0.01, deposit yang dibutuhkan 1000 USD. Namun untuk lebih aman lagi trader perlu menyiapkan 1:1000000. 

Selain itu, kebutuhan balance jika trading menggunakan robot, dapat diperkirakan berdasarkan nilai drawdown balance backtesting menggunakan strategy tester. Backtesting yang dilakukan hendaknya dijalankan kurang lebih selama satu tahun. Karena jika hanya di dijalankan hanya 1 atau 2 bulan saja, performa robot tidak begitu terlihat. 

Misalnya suatu robot yang dijalankan backtesting selama satu tahun, sebagaimana gambar dibawah, menghasilkan nilai maximum drawdown balance 15064.74 USD. Sehingga untuk dapat dijalankan pada live trading account real, diperkirakan membutuhkan dana 20000 USD atau lebih banyak.




Takeprofit dan Stoploss

Takeprofit adalah batas keuntungan yang diambil tiap kali order atau beberapa order mencapai batas tersebut. Sedangkan stoploss adalah batas kerugian untuk diberhentikannya order atau beberapa order jika batas tersebut terlampaui. 

Banyak trader mengatakan "Segera tutup order yang tidak menguntungkan, sebelum order tersebut menjadi lebih buruk". Dan ambil keuntungan yang sebanyak-banyaknya jika order terlihat menguntungkan. 

Permasalahannya adalah kapan waktu terbaik untuk menutup order yang merugi dan kapan waktu terbaik untuk menutup order yang untung. Apakah trend harga benar mau balik arah, ataukah trend harga akan terus searah. Kondisi ini adalah kondisi exit poin dari order yang dikirimkan. Sama halnya entry poin, ketika exit poin pun akan diperlukan pertimbangan yang matang. 

Robot mungkin saja dapat menggunakan indikator yang sama dengan yang dia gunakan untuk entry poin. Namun bagaimanapun juga indikator tidak selalu tepat dalam memberikan informasi kondisi pasar. Indikasi yang salah dapat menyebabkan kerugian yang lebih besar dari keuntungn yang telah didapatkan. 

Sehingga meskipun robot memang diperuntukkan untuk trading secara otomatis dan tanpa campur tangan manusia lagi. Tetapi tetap bukanlah hal yang bijak, membiarkan robot melakukan trading sendiri tanpa pengawasan dari trader. Trader tetap perlu melakukan tindakan sendiri, jika sesuatu yang metode trading yang buruk, yang dilakukan robot. 

Menurut penulis, takeprofit terbaik adalah ketika trend harga benar-benar mau balik arah. Salah cara terbaik yang pernah diimplementasikan penulis dalam robot, adalah dengan melakukan order kebalikan dengan lot yang di-Martingale. Contohnya, jika terdapat order beli yang bernilai untung positif, secara virtual robot melakukan order jual dengan lot Martingale dalam selisih waktu tertentu. Lot Martingale yang dimaksud misalnya jika awalnya menggunakan lot 0.01, maka lot order virtual selanjutnya adalah dua kali lipatnya, yaitu 0.02, 0.04, 0.08, 0.16 dst. Sampai order jual virtual tersebut menghasilkan untung positif. Jika untung virtual telah positif, maka itulah tanda yang tepat order beli real ditutup, karena harga pasar telah terdeteksi berbalik arah. 

Banyak trader yang mengatakan, trading harus disiplin dan konsisten. Konsisten yang dimaksud disini adalah perhari minimal dapat menghasilkan keuntungan yang tetap, sesuai target. Jika lebih dari target, dapat dianggap sebagai bonus. Pernyataan ini, untuk diimplementasikan kepada robot, menurut penulis akan sangat disayangkan, karena jika diambil batas profit tertentu, maka robot akan kehilangan kesempatan untuk mendapatkan untung yang lebih besar. Sehingga akan lebih baik, takeprofit adalah berupa metode, seperti halnya metode virtual order Martingale di atas. 

Selanjutnya stoploss terbaik adalah nilai balance itu sendiri. Artinya robot akan berjalan maksimal jika tidak diberikan batasan stoploss. Dengan catatan, robot juga harus memilki algorithma recovery, untuk meng-handle missplaced order. Salah satunya adalah dengan melakukan order berlawanan, agar nilai stoploss tidak bertambah buruk, yang disebut dengan hedging. Hedging ini harusnya tidak hanya hedging begitu saja, namun perlu ditambahkan algorithma tambahan, agar hedging yang dilakukan dapat merecovery order negatif sebelumnya. Sehingga dapat dikatakan, balance adalah stoploss yang perlu dipersiapkan trader, dengan resiko hilang/habis, jika dia ingin trading menggunakan robot. 

Pengaruh Berita

Salah satu hal yang menjadi salah satu penyebab missplaced order, pengaruh yang paling besar menurut penulis adalah adanya pengaruh berita. Terutama berita polotik dan ekonomi di Amerika. Jika berita berdampak positif bagi keadaan ekonomi, adakalanya robot akan mendapatkan keuntungan seperti halnya bonus. Namun sebaliknya, jika berdampak negatif bagi kondisi ekonomi, dapat menyebabkan missplaced order, dan menggerus seluruh keuntungan trading sebelumnya. 

Oleh karena itu, menurut penulis, jika menggunakan robot, trading terbaik hendaknya dilakukan pada jam-jam tertentu, terutama pada waktu-waktu yang bukan ketika dikeluarkannya berita. Trader perlu melakukan riset waktu-waktu terbaik menjalankan robot sesuai pengamatannya sendiri. Terutama untuk menghindari gejolak harga yang tidak menentu, baik sebelum atau sesudah berita dikeluarkan. 


Advertisement

Penutup

Demikianlah uraian singkat penulis tentang bagaimana seharusnya algorithma robot yang digunakan untuk trading. Robot yang baik, adalah robot yang dapat meng-handle order baik saat untung maupun saat merugi. Dan bagaimanapun juga, trading terbaik adalah trading yang dilakukan secara semi otomatis. Artinya meskipun menggunakan robot, tetap perlu adanya campur tangan trader itu sendiri. 

Tambahan

Dengan kode dan ide yang penulis utarakan di atas, pembaca diharapkan dapat membuat sendiri robot forex, membeli atau menyewanya melalui MQL5 Market, entah itu produk penulis atau developer yang lain. 

Dan bagi pembaca yang ingin mencoba trading gratis, dengan profit real, dapat memanfaatkan bonus gratis deposit sebesar $1000, dan alangkah senangnya penulis jika pembaca bersedia mendaftar melalui link afiliasi penulis di bawah ini: 


Dengan mendaftar melalui link diatas, penulis akan memberikan secara gratis Robot Harrow Order buatan penulis, dengan menunjukkan bukti ID pendaftaran ke alamat email uboiz@yahoo.com. Dengan catatan bonus deposit gratis $1000 tersebut akan dapat digunakan baik trading secara manual maupun menggunakan robot. Dengan ketentuan jika trader telah mendapat keuntungan 10%, atau sekitar $100, maka bonus tersebut akan dihentikan, dengan profit menjadi milik trader. Namun profit tersebut baru dapat ditarik sepenuhnya ke kantong trader, dengan persyaratan trader sudah pernah deposit dulu senilai $100 atau sekitar 1,5 juta.

Bonus di atas menurut penulis merupakan bonus yang besar jika digunakan untuk sekedar belajar trading. Trader akan lebih leluasa untuk menerapkan strategi dan mendapatkan income yang layak, dibanding menggunakan account cent.

Disclaimer

Semua informasi yang penulis utarakan disini adalah berdasarkan pengalaman dan sudut pandang penulis sendiri sebagai programmer, yang melakukan trading menggunakan robot, bukan sebagai trader yang melakukan trading secara manual.
logo

Popular Posts