Belajar MQL4 Bahasa Pemrograman Untuk Membuat Expert Advisor Pada Aplikasi Meta Trader 4 – Part 2
Pada posting sebelumnya, Niguru.com juga sudah menjelaskan langkah-langkah untuk membuat sendiri Expert Advisor pada aplikasi Meta Trader 4, dengan menyusun kode berisi instruksi pada Meta Editor 4.
Kita melanjutkan penjelasan dengan membahas cara pembuatan sinyal.
Apakah signal itu?
Panduan yang menunjukkan arah pergerakan harga apakah harga diprediksi naik atau diprediksi turun.
Indikator yang digunakan sebagai contoh untuk pelajaran kali ini adalah MA (Moving Average).
Signal buy adalah saat pergerakan harga naik melampaui harga rata-rata, yang ditunjukkan dengan candle hijau yang memotong garis MA.
Gambar berikut ini menunjukkan penentuan signal buy (signal beli):
Posisi 1 adalah posisi open dari candle terakhir, posisi 2 adalah posisi close dari candle terakhir.
Garis putus-putus adalah garis MA.
Signal buy didapat bila open candle terakhir lebih kecil dari garis MA dan close candle terakhir lebih besar dari garis MA.
Pernyataan diatas dituliskan dengan rumus:
signalBuy=Open[1] < ma && Close[1] > ma
dimana:
Open[1] adalah nilai open candle dan Close[1] adalah nilai close candle.
Tanda && berarti "dan" dalam kode MQL.
Signal sell adalah saat pergerakan harga turun melampaui harga rata-rata, yang ditunjukkan dengan candle merah yang memotong garis MA.
Gambar berikut ini menunjukkan penentuan signal sell (signal jual):
Posisi 1 adalah posisi open dari candle terakhir, posisi 2 adalah posisi close dari candle terakhir.
Garis putus-putus adalah garis MA.
Signal sell didapat bila open candle terakhir lebih besar dari garis MA dan close candle terakhir lebih kecil dari garis MA.
Pernyataan diatas dituliskan dengan rumus:
signalSell=Open[1] > ma && Close[1] < ma
dimana:
Open[1] adalah nilai open candle dan Close[1] adalah nilai close candle.
Tanda && berarti "dan" dalam kode MQL.
Tambahkan rumus signal dengan tipe data bool. Bool adalah tipe data biner, jadi hanya punya 2 kondisi, benar (true) atau salah (false).
Agar signal hanya terbentuk saat belum ada transaksi maka tambahkan syarat: OrdersTotal()==0
Dimana:
OrdersTotal() berarti kode untuk menampilkan jumlah order/ pesanan yang sudah ada
Tanda == sama artinya dengan sama dengan, dituliskan dobel untuk membedakan dengan perintah pengisian nilai pada variabel.
Tambahkan syarat tersebut pada signal, dengan kode sebagai berikut:
signalBuy = signalBuy && OrdersTotal()==0;
signalSell = signalSell && OrdersTotal()==0;
Langkah berikutnya adalah mengirimkan perintah OP (Open Position = pembukaan posisi untuk transaksi/trading).
Perintah untuk OP adalah OrderSend, untuk menempatkan OrderSend bagi pembaca yang masih awam dengan kode MQL cukup dengan menekan tombol F1, akan muncul window MQL4 Reference, ketik: order send pada kolom pencarian (type in the word(s) to search for) >> klik List Topics:
Pilih dan dobel klik pada OrderSend:
Seleksi kode yang berada pada kotak keterangan OrderSend, klik kanan >> Copy:
Close (tutup) window MQL4 Reference, dengan klik tombol silang di kanan atas window tersebut:
Paste (tempel) hasil copy dari OrderSend ke area OnTick:
Paste sekali lagi agar ada 2 OrderSend pada area OnTick.
Mengapa harus ada 2 OrderSend?
1 OrderSend untuk OP buy dan 1 OrderSend lainnya untuk OP sell.
Selanjutnya kita tempatkan signal sebagai syarat OP.
Ganti int sebelum perintah OrderSend dengan signal.
OrderSend pertama ganti dengan: if(signalBuy)
OrderSend kedua ganti dengan: if(signalSell)
Dimana IF adalah kode untuk menempatkan syarat (kondisi yang harus dipenuhi).
Pada OrderSend, comment, magic, expiration, dan arrow_color tidak wajib diatur isinya.
Hapus saja empat parameter yang tidak wajib tersebut, untuk menyederhanakan penulisan kode dalam proses belajar ini:
Hapus tanda koma setelah takeprofit.
Mengapa tanda koma tersebut harus dihapus?
Setelah tanda koma, wajib ada parameter selanjutnya. Karena parameter setelah takeprofit sudah dihapus maka tanda koma wajib dihapus juga.
Ganti masing-masing parameter pada OrderSend untuk OP buy, dengan nilai sebagai berikut:
string symbol ganti dengan _Symbol
int cmd ganti dengan OP_BUY
double volume ganti dengan Lots
double price ganti dengan Ask
int slippage ganti dengan 3
double stoploss ganti dengan Ask-SL*_Point
double takeprofit ganti dengan Ask+TP*_Point
Ganti masing-masing parameter pada OrderSend untuk OP sell, dengan nilai sebagai berikut:
string symbol ganti dengan _Symbol
int cmd ganti dengan OP_SELL
double volume ganti dengan Lots
double price ganti dengan Bid
int slippage ganti dengan 3
double stoploss ganti dengan Bid+SL*_Point
double takeprofit ganti dengan Bid-TP*_Point
Klik tombol Compile:
Bila pada area Toolbox (di bagian bawah) menampilkan 0 errors, berarti kode yang ditulis sudah benar.
Terdapat 2 warning, yang merupakan peringatan bahwa masih ada kesalahan, namun masih bisa ditoleransi karena tidak mengganggu fungsi utama.
Selesai .. EA sudah bisa digunakan.
Langkah berikutnya adalah cara menempatkan EA pada aplikasi MetaTrader agar dapat bekerja secara otomatis dalam melakukan trading.
Penjelasan akan dilanjutkan pada posting berikutnya.
Silakan teman-teman pembaca mencoba dulu langkah-langkah pembuatan Expert Advisor, dari mulai sampai selesai, yang sudah dijelaskan pada posting ini dan posting sebelumnya.
Selamat mencoba .. Have a nice day :-)
Posting Komentar untuk "Belajar MQL4 Bahasa Pemrograman Untuk Membuat Expert Advisor Pada Aplikasi Meta Trader 4 – Part 2"