Lanjutan dari posting sebelumnya part 2 disini
Saksikan juga melalui channel youtube di https://youtu.be/Axzi3klNNUs
Pada post sebelumnya kita sudah bikin parameter EA sbb:
Dan kita sudah bahas 3 type data yaitu string, int dan double
Nah kali ini saya akan menambahkan satu parameter yang sering digunakan sebagai identitas order EA yaitu nomer Magic (magicnumber). dalam bahasa mql4 => OrderMagicNumber()
Apa sih sebenarnya magicnumber?
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)
Nah itu gambaran 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
Sip deh parameter EA sudah jadi !
Apa 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()
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
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
atau sama juga dengan
Nah hasilnya setelah dimasukkan ke dalam int start() dan seluruhnya adalah
Saksikan juga melalui channel youtube di https://youtu.be/Axzi3klNNUs
Pada post sebelumnya kita sudah bikin parameter EA sbb:
Dan kita sudah bahas 3 type data yaitu string, int dan double
Nah kali ini saya akan menambahkan satu parameter yang sering digunakan sebagai identitas order EA yaitu nomer Magic (magicnumber). dalam bahasa mql4 => OrderMagicNumber()
Apa sih sebenarnya magicnumber?
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)
Nah itu gambaran 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;
Oke 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
Apa 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
//----
return(0);
}
Untuk memulai program sesuai rule yaitu bila tidak ada order maka akan melakukan order BuyProgram 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); }
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
untuk di mt4 yang baru
Jangan lupa untuk klik Compile dan pastikan tidak ada error
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 saya 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
Simak Juga penjelasan berikut:
Oke selamat mencoba
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
Simak Juga penjelasan berikut:
Oke selamat mencoba
Kita lanjut di part 4 berikutnya
semoga bermanfaat!
Pastikan Membaca:
Belajar Membuat EA sederhana part 1
Belajar Membuat EA sederhana part 2
Belajar Membuat EA sederhana part 3
Belajar Membuat EA sederhana part 4
Belajar Membuat EA sederhana part 5
Belajar Membuat EA sederhana part 6
Belajar Membuat EA sederhana part 7
Belajar Membuat EA sederhana part 8
Belajar Membuat EA sederhana part 9
Belajar Membuat EA sederhana part 10
Belajar Membuat EA sederhana part 11
Belajar Membuat EA sederhana part 12
Belajar Membuat EA sederhana part 13
Belajar Membuat EA sederhana part 14
Belajar Membuat EA sederhana part 15
Belajar Membuat EA sederhana part 16
Belajar Membuat EA sederhana part 17
Belajar Membuat EA sederhana part 18
Belajar Membuat EA sederhana part 19
Belajar Membuat EA sederhana part 20
Belajar Membuat EA sederhana part 21
Belajar Membuat EA sederhana part 22
OM punya sy saat dicompile error mulu :(
BalasHapuskalo tanpa stop loss gimana om ?? aq ganti stoploss nya jadi 0 kok gak jalan ya ??
BalasHapusok nanti kita bahas di pembahasan berikutnya ...sabar ya
BalasHapuscara panggil magic robot gimana gan
BalasHapusButuh waktu utk membuat EA
BalasHapusreturn value of 'OrderSend' should be checked coba.mq4 39 26
BalasHapuseror nya begitu... pesan nya mohon bantuan
eror bos : 1 eror(s) 1 Warning(s) tanda (-) negativ di 'lots' undeclared identifier
BalasHapusmohon pencerahannya
kalo tanpa stop loss gimana om ?? aq ganti stoploss nya jadi 0 kok gak jalan ya ??
BalasHapussetelah di ccompile
BalasHapuserror 0 warning 1
saya coba belum bisa open,, kenapa ya?
Om punya saya startnya gak ada gimana ya om
BalasHapusaku mumett
BalasHapussetelah di ccompile
BalasHapuserror 0 warning 1
saya coba belum bisa open,, kenapa ya?
setelah di ccompile
BalasHapuserror 0 warning 1
saya coba belum bisa open,, kenapa ya?
Di mql4 tidak ada tulisan in start() .. apa kh mql yg dulu dan mql yg sekarng berbeda ...
BalasHapussaat dicompile ada pesan error
BalasHapusreturn Value of 'OrderSend' should be checked
solusinya bagaimana Pak
Terima kasih
open posisi manual sekaligus ada pending ordernya gimana ya
BalasHapussaya kasusnya sama dengan
BalasHapussaat dicompile ada pesan error
return Value of 'OrderSend' should be checked
solusinya bagaimana Pak
Terima kasih
Kalau gk usah pakai SL.. Gmna tuh.. Bisa..?
BalasHapusprogram dari broker ACY ini memang sangat spesial, dan selain program broker ini juga menyediakan fasilitas kursus online, spread yang rendah dan juga eksekusi nya sangat cepat, sehingga saya pun bisa merasakan kenyamanan dan lancar menjalankan trading bersama broker ACY ini gan.
BalasHapusmastah ini gw back test kok eror ya
BalasHapus2019.07.28 19:47:11.037 TestGenerator: unmatched data error (low value 0.69065 at 2019.07.26 23:00 is not reached from the least timeframe, low price 0.69067 mismatches)
pak jum kalau open posisi dalam 1 klik bisa ga kirakira open buy 10 transaksi langsung?
BalasHapuskalo ada error: return value of 'OrderSend' should be checked
BalasHapuscoba pake mql 4 baru. kita rata2 pakenya mql4 baru kalo install app sekarang.
cirinya pake
-int OnInit()
-void OnDeinit(const int reason)
-void OnTick()