Membuat Magic Number di Robot Forex EA

Tidak ada komentar 29 views
unmetered
unlimited

Pada post sebelumnya ( lihat ) kita sudah membuat kode parameter untuk robot EA seperti gambar di bawah ini:

Kita telah membahas 3 type data yaitu string, int dan double

Maka pada kesempatan kali ini, kita akan menambahkan satu parameter yang sering digunakan sebagai identitas order EA yaitu nomer Magic (magicnumber). dalam bahasa mql4 => OrderMagicNumber()

Magicnumber  adalah sebagai Ktp order atau Id ,  loh koq  bisa KTP ya?
Karena magicnumber sering digunakan sebagai identititas order sebuah EA untuk membedakan order dengan EA lain,  meki sebenarnya tidak hanya itu penggunaannya bisa digunakan lebih luas. untuk mengetahui nomer magic pada sebuah order biasanya tunjuk pointer pada sebuah order maka disitu akan muncul angka nomer order dan nomer magic
contoh
Pada image berikutnya Numermaginya adalah 16   (id 16)

Begitulah gambaran fungsi kegunaan magic number !
Nah dalam parameter EA yang akan kita buat kali ini kita akan tambahkan nomor magic
Nomor magic ini meupakan type data int (bilangan bulat tanpa koma)
sehingga bisa dituliskan
//+——————————————————————+
//|                                                     Buy Saja.mq4 |
//|                        Copyright 2012, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+——————————————————————+
#property copyright “Copyright 2012, MetaQuotes Software Corp.”
#property link      “http://www.metaquotes.net”

extern string  Nama_EA      = “Buy Saja”;
extern int     TP           = 11;
extern int     SL           = 100;
extern double  Lots         = 0.1;
extern int     Magic        = 69;

Sekarang tinggal di Compile lagi  dan di cek tidak ada errornya maka kita lihat di mt4 kalau berhasil maka akan terlihat seperti image berikut setelah ea Buy Saja kita attack

Selamat,  parameter EA sudah jadi  dan Apakah robot EA sudah bisa jalan ?
Kalau jalan sih bisa saja tapi belum bisa order heeeeeeee

Nah supaya bisa order sesuai rules yang kita tentukan maka kita akan program

Program kita  akan tempatkan di bawah int start()

int start()
{
//—-
Disini   kode yang di isi
//—-
return(0);
}

Untuk memulai program  sesuai rule yaitu bila tidak ada order maka akan melakukan order Buy
Program yang dibuat menggunakan operasi if  
Penulisannya dimulai dengn kata  if dan di mulai tanda kurung pembuka dan di akhiri dengan tutup kurung)kemudian tanda Kurung kurawal pembuka { dan di akhiri tutup kurung kurawal penutup }

Ketentuannnya :
if( bila ada kondisi yang ditentukan ) {  perintah yang diinginkan diakhiri tanda titik koma ;  }
Kadang juga bisa di tulis tnpa kurung kurawal dalam kondisi khusus (perintah sederhana)
if( bila ada kondisi yang ditentukan )   perintah yang diinginkan diakhiri tanda titik koma ; 

Oke deh  mungkin gambarannya mudah dipahami
Sekarang kembali  rules EA buy saja yang akan kita buat

dimana bila tidak ada order maka EA akan melakukan order buy artinya hanya ada 1 order buy
if( tidak ada order ) melakukan order buy;

tidak ada order artinya order total =0, ketentuan penulisan sama  dengan (=) di dalam kondisi harus di tulis 2 kali ( == )
order total di dalam mt4 disediakan sebagai variabel yang di sediakan dan di tulis OrdersTotal() 
sehinga kita tulis sebagai kondisi

if(OrdersTotal()==0)   
atau bisa juga ditulis
if(OrdersTotal()<1)  

Order buy sebagai perintah yang diinginkan kita mengambil  di satu

OrderSend(Symbol(),OP_BUY,start_lot,Ask,slipage,Ask-SL*Point, Ask+TP*Point,”+Jum+oke+”,Magic,0,Blue);


kita rubah sesuai parameter yang kita sediakan ,
start_lot diganti dengan Lots, slipage kita ganti dengan angka 3(nanti akan kita bahas di post berikutnya ) , “+Jum+oke+” kita ganti dengan  parameter Nama_EA dan Magic  sudah sesuai

OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-SL*Point, Ask+TP*Point,Nama_EA,Magic,0,Blue);

 

Ini kita gabungkan

Jadinya kalau   di gabungkan dengan kondisi di di tempatkan di bawah int start()

if(OrdersTotal()==0)  OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-SL*Point, Ask+TP*Point,Nama_EA,Magic,0,Blue);
atau  sama saja dengan

if(OrdersTotal()==0){  OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-SL*Point, Ask+TP*Point,Nama_EA,Magic,0,Blue); }
 

atau  sama juga dengan
if(OrdersTotal()<0){  OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-SL*Point, Ask+TP*Point,Nama_EA,Magic,0,Blue); }

Nah hasilnya setelah dimasukkan ke dalam int start() dan seluruhnya adalah seperti kode di bawah ini :
//+——————————————————————+
//| Buy Saja.mq4 |
//| Copyright 2012, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+——————————————————————+
#property copyright “Copyright 2012, MetaQuotes Software Corp.”
#property link “http://www.metaquotes.net”

extern string Nama_EA = “Buy Saja”;
extern int TP = 11;
extern int SL = 100;
extern double Lots = 0.1;
extern int Magic = 69;
//+——————————————————————+
//| expert initialization function |
//+——————————————————————+
int init()
{
//—-

//—-
return(0);
}
//+——————————————————————+
//| expert deinitialization function |
//+——————————————————————+
int deinit()
{
//—-

//—-
return(0);
}
//+——————————————————————+
//| expert start function |
//+——————————————————————+
int start()
{
//—-
if(OrdersTotal()==0){ OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-SL*Point, Ask+TP*Point,Nama_EA,Magic,0,Blue); }
//—-
return(0);
}
//+——————————————————————+
Jangan lupa untuk klik  Compile  dan pastikan tidak ada error 

Setelah sukses tahap berikutnya adalah kita coba Beck test untuk mengetahui apakah EA sudah bisa order

Nah silah di coba dan kami sudah coba Beck tes hasilnya sbb:

Ternyata EA ini sudah bisa order dan siap digunakan demo haaaaaaaaaa

Nah silahkan kasih komen ya kalau sudah berhail atau masih belum jelas

Kalau ternyata ada yang error berarti madih ada yang salah teliti ulang caranya dobel klik pada bagian yang ditunjuk
contoh
 Hasil Compile ternyata
Compiling ‘Buy Saja.mq4’…
‘}’ – semicolon expected    C:\Program Files\InstaTraderdem\experts\Buy Saja.mq4 (40, 112)
1 error(s), 0 warning(s)

Nah dobel klik pada bagian ini
‘}’ – semicolon expected    C:\Program Files\InstaTraderdem\expertsr\Buy Saja.mq4 (40, 112)
Maka cursor akan menunjuk pada bagian  yang error atau yang ada hubungannya dengan yang ditunjuk , sehingga harus di teliti ulang kekurangannya atau kelibihan (biasanya ada kekurangan titik koma (;) atau kelebihan/kekurangan tanda ( ,) ,{ } .  dll
Kalau masih error silahkan copy hasil program di atas dan bandingkan dimana kekurangannya  

Intinya di cari  dulu errornya sampai sukses

Oke selamat mencoba

 

unlimited
author
Tidak ada Respon

Tinggalkan pesan "Membuat Magic Number di Robot Forex EA"