Sebelum kita bahas mengenai cara membuat sebuah EA (Expert Advisor) atau robot forex,seklias kita ketahui dulu apa yang disebut dengan robot forex tersebut.
Robot Forex adalah program kecil komputer yang dibuat untuk meng otomatisasi trading menggunakan parameter parameter tertentu yang dibentuk berdasarkan sebuah strategi trading.
Program tersebut hanya bisa bekerja didalam program induk yang bernama meta trader4,platform trading yang dikembangkan oleh metaQuotesdotNet yang disediakan oleh broker.
Bahasa pemrograman yang dipakai membuat robot forex
Karena MetaTrader4 untuk menjalankan EA tersebut adalah buatan metaQuotes,maka bahasa yang digunakan juga menggunakan bahasa yang dikeluarkan oleh MetaQuotes.Program tersebut dikenal dengan nama MQL4 atau Meta Quotes Language 4,atau bahasa pemrograman yang dikeluarkan oleh metaQuotes.Bahasa MQL4 sangat mirip dengan bahasa pemrograman yang sudah banyak di pergunakan yaitu bahasa C++.Sehingga jika kamu sudah akrab dengan C++ ,saya kira tidak akan kesulitan untuk menulis program MQL4 untuk membuat sebuah expert Advisor.Mungkin hanya pada bagian bagian tertentu saja kamu harus mempelajarinya lagi secara khusus.
Bukan hanya untuk membangun sebuah EA,MQL4 juga biasa di gunakan untuk memprogram sebuah custom indikator teknikal forex.
Pada tingkatan tertentu bahasa MQL4 bisa melakukan interkoneksi dengan DLL file,sehingga memungkinkan untuk pemrograman EA yang lebih rumit dan lebih kompleks.
Parameter yang bisa dimasukkan kedalam program EA
Untuk memasukkan perintah menggunakan parameter pada program,tentu saja harus menggunakan bahasa MQL4.Sebelum membuat parameter,seorang pemrogram EA harus memiliki gambaran bagaimana EA tersebut akan bekerja.Jadi dia harus melakukan sebuah riset mengenai sebuah strategi trading yang bagus dan profitabel untuk dimasukkan kedalam program EA tersebut.Caranya dengan memasukkan unsusr unsur teknik trading yang bisa dimasukkan kedalam parameter EA,sebagai contoh:Sell Limits Order,Pending Order,Modify Order,Magic Number,Trailing Stop,perhitungan aritmatika dan masih banyak lagi.
Didalam melakukan Entry Point,EA pada umumnya berdasarkan:
Berdasarkan Indikator saja
Berdasarkan Indikator dengan konfirmasi beberapa time Frame
Berdasarkan Fundamental
Berdasarkan aritmetika dll.
Strategi yang biasa diterapkan untuk membangun sebuah program EA seperti:
Strategi Averaging atau Grid,umumnya dikenal dengan EA martingale.
Hedging/locking loss atau EA hedging
One shot with target profit and stop loss dll.
Cara membuat script program MQL4 pada meta editor
Setelah kita menentukan bagaimana prinsip kerja dari EA seperti yang telah diuraikan diatas,sekarang mulai untuk membuatkan program EAnya melalui meta editor.Buka platform Meta Trader4 -> MetaEditor->File->New file->pada Expert Advisor Wizard pilih Expert Advisor -> ikuti perintah wizard sampai selesai.
Setelah proses diatas selesai,kamu akan menjumpai fungsi fungsi pada MQL4 Script Editor.
Fungsi dan penjelasan singkat seperti berikut:
int init()
Akan dijalankan satu kali setelah EA didrag
int deinit()
Akan dijalankan sekali ketika EA di remove dari chart
int start()
Akan dijalankan setiap ada pergerakan harga baru/tiap tick.
Contoh pembuatan program untuk EA yang sangat sederhana:
//+--------------------+
//+ EA_SuperProfit.mq4 +
//+--------------------+
extern double Lots=0.1;
extern int StopLoss=100;
extern int TakeProfit=150;
extern string txComment="EA_SuperProfit Melakukan Order";
extern int MagicNumber=44335;
extern int Slippage=4;
//+-----------------------------------------------------+
int start()
{
//----
if (OrdersTotal()==0)
if (iClose(Symbol(),0,1) > iMA(Symbol(),0,10,0,MODE_EMA,
PRICE_CLOSE,1) )
OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,Ask-StopLoss*
Point,Ask+TakeProfit*Point,txComment,MagicNumber);
else if (iClose(Symbol(),0,1) <>
OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,Bid+StopLoss*
Point,Bid-TakeProfit*Point,txComment,MagicNumber);
//----
return(0);
}
Logika dari expert advisor ini bisa dijelaskan: misalnya EA ini untuk dipakai pada pair GBP/USD, jika pada candle jam yang lalu close berada diatas EMA 10, maka EA akan melakukan buy,dan jika candle pada jam yang lalu close dibawah EMA 10, maka EA akan membuka posisi SELL.
Kira kira seperti itulah cara kerjanya,memang sangat sederhana karena hanya sebagai contoh saja.Nanti da bagian bagian tersendiri yang lebih detail yang akan dibahas.
extern double Lots=0.1;
extern int StopLoss=100;
extern int TakeProfit=150;
extern string txComment="EA_SuperProfit Melakukan Order";
extern int MagicNumber=44335;
extern int Slippage=4;
Fungsi extern inti dari maksudnya adalah variabel variabel yang bisa dirubah oleh pengguna yang tidak punya akses kedalam source code EA tersebut.Jadi dengan fungsi extern tersebut,siapa saja selain programer bisa melakukan penyetelan yang dikehendaki.
if (OrdersTotal()==0)
Jika OrderTotal = 0, artinya perintah perintah yang berada dibawahnya (didalam { } ) akan dieksekusi jika tidak ada order sama sekali.
Yang dianggap sebagai order adalah posisi yang terbuka buyatau sell maupun pending order.
if (iClose(Symbol(),0,1) > iMA(Symbol(),0,10,0,MODE_EMA,
PRICE_CLOSE,1) )
iClose() berfungsi untuk mengambil harga close dari candle , artinya EA akan mengambil harga close dari pair dimana EA tadi di attach atau satu candle sebelum saat ini.
iMA() maksudnya untuk mengambil nilai dari indi moving average, didalam code ini berarti EMA pada periode 10 yang dihitung dari harga close, satu jam sebelum saat ini.Maksudnya agar waktunya sama dengan candle yang dijadikan pembanding.
OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,Ask-StopLoss*Point,
Ask+TakeProfit*Point,txComment,MagicNumber);
OrderSend() dipakai untuk melakukan order.
Jika EA sudah kamu anggap selesai,sekarang waktunya untuk menguji EA tersebut apakah sudah berjalan dengan baik.
Caranya: File ->Save As->Berikan Nama EA->simpan dalam MQ4 files -> Save.
Kemudian buka MT4 ->Navigator->Pilih EA->Double click-> Attach.Eh,,gunakan account demo saja dulu ya?,,,atau bisa menguji EA menggunakan strategi tester.Untuk menguji EA secara terus menerus 24 jam penuh,sebaiknya menggunakan VPS agar bisa mengetahui dengan akurat sejauh mana program berjalan dengan baik.Baca:Beda VPS Forex dan VPS hosting.
Penjelasan diatas adalah contoh pembuatan EA yang sangat sederhana sekali.Masih belum dikasih money management,trailing stop dan lain lain masih banyak lagi.Semakin banyak memasukkan unsur trading dan strategi,maka pemrogramannya pun akan semakin kompleks dan rumit.
0 komentar:
Posting Komentar