Untuk mengikuti ini pastikan sudah membaca part 3 di sini
Silahk juga di kunjungi di channel youtube di https://youtu.be/60KjwO66S2o
Sebelum memulai ini saya mengucapkan Selamat Idhul Fitri
Sebelumnya kita sudah mencoba membuat EA yang sederhana dimana EA yang telah dibikin hanya melakukan order Buy dan order dibatasi hanya 1 yang aktif yaitu buy.
Kalau di perhatikan pada EA yang di buat pada part 3 ada beberapa kelemahan al:
di part 3 kita menggunakan:
if(OrdersTotal()==0)
yang dimaksud OrdersTotal ini adalah jumlah semua order diadalam Mt4 dari semua pair , termasuk pending order. Jadi kalau ada 1 pending buystop di EURUSD dan ada 2 buy di GBPUSD jadi jumlahnya 3 order, sehingga karena kita membuat kondisi OrdersTotal() ==0 maka total order dihitung semua order.
Ada beberapa cara untuk membuat filter pair dan saya akan bahas 2 macem cara yang umum digunakan menurut bahasa sederhana.
1. Cara langsung
Cara ini biasa dibuat skrip diatas perintah order untuk menggantikan OrdersTotal().
Skrip ini ada tinggal simpan di library sebagai scrip standar yang mungkin suatu saat dipakai lagi
for(int i=OrdersTotal()-1; i>=0; i--)
Coba bandingkan dulu!
bisa juga kondisi ini menggunakan tanda dan (&&) bedanya bila menggunakan && tersebut tanda != diganti dengan == sehingga jadinya
if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic) continue;
Silahkan dibandingkan 2 kondisi tersebut (jangan sampai terbalik karena kalau terbalik ini tidak berfungsi. Untuk itu tinggal akan menggunakan && atau || atau keduanya dipakai
Kemudian
if(OrderType()==OP_BUY) Jumlahbuy++;
artinya membatasi order buy saja yang dihintung dinyatakan kedalam sebuah variabel Jumlahbuy
if(OrderType()==OP_SELL) Jumlahsell++;
artinya membatasi order sell saja yang dihintung dinyatakan kedalam sebuah variabel Jumlahsell
Terus gimana cara menggunakan?
Tinggal mengganti saja
Silahk juga di kunjungi di channel youtube di https://youtu.be/60KjwO66S2o
Sebelum memulai ini saya mengucapkan Selamat Idhul Fitri
"Minal Aidzin wal Faizin
Mohon Maaf Lahir dan Batin"
Sebelumnya kita sudah mencoba membuat EA yang sederhana dimana EA yang telah dibikin hanya melakukan order Buy dan order dibatasi hanya 1 yang aktif yaitu buy.
Kalau di perhatikan pada EA yang di buat pada part 3 ada beberapa kelemahan al:
- Hanya bisa digunakan satu pair saja (1 pasang mata uang)
- Hanya bisa melakukan order buy
- Tidak ada batasan waktu trading
- Tidak menggunakan indikator untuk trigernya (pemicu ordernya)
di part 3 kita menggunakan:
if(OrdersTotal()==0)
yang dimaksud OrdersTotal ini adalah jumlah semua order diadalam Mt4 dari semua pair , termasuk pending order. Jadi kalau ada 1 pending buystop di EURUSD dan ada 2 buy di GBPUSD jadi jumlahnya 3 order, sehingga karena kita membuat kondisi OrdersTotal() ==0 maka total order dihitung semua order.
Ada beberapa cara untuk membuat filter pair dan saya akan bahas 2 macem cara yang umum digunakan menurut bahasa sederhana.
1. Cara langsung
Cara ini biasa dibuat skrip diatas perintah order untuk menggantikan OrdersTotal().
Skrip ini ada tinggal simpan di library sebagai scrip standar yang mungkin suatu saat dipakai lagi
int Jumlahbuy=0;
int Jumlahsell=0;
for(int i=0; i<OrdersTotal(); i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=Magic) continue;
if(OrderType()==OP_BUY) Jumlahbuy++;
if(OrderType()==OP_SELL) Jumlahsell++;
}
Nah skrip diatas merupakan skrip yang sering dipakai
int Jumlahbuy=0;
int Jumlahsell=0;
Ini merupakan variabel penghutung order , penempatan nya di ditempatkan di deklarasi (dibawah parameter yang ada extern) bisa juga di atas skrip seperti di atas.
for(int i=0; i<OrdersTotal(); i++)
Maksudnya adalah menghitung order aktif yang dimulai dari awal sampai terakhir. Kebalikan skrip ini biasannya menghitung mundur (bahasa sederhannya)for(int i=OrdersTotal()-1; i>=0; i--)
Coba bandingkan dulu!
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
ini scrip standar untuk memilih ordr aktif
if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=Magic) continue;
Ini menggunakan atau (||) artinya memilih hanya pada symbul (pair) yang dan numor magic di attack jadi yang lain dari itu diabaikanbisa juga kondisi ini menggunakan tanda dan (&&) bedanya bila menggunakan && tersebut tanda != diganti dengan == sehingga jadinya
if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic) continue;
Silahkan dibandingkan 2 kondisi tersebut (jangan sampai terbalik karena kalau terbalik ini tidak berfungsi. Untuk itu tinggal akan menggunakan && atau || atau keduanya dipakai
Kemudian
if(OrderType()==OP_BUY) Jumlahbuy++;
artinya membatasi order buy saja yang dihintung dinyatakan kedalam sebuah variabel Jumlahbuy
if(OrderType()==OP_SELL) Jumlahsell++;
artinya membatasi order sell saja yang dihintung dinyatakan kedalam sebuah variabel Jumlahsell
Terus gimana cara menggunakan?
Tinggal mengganti saja
if(OrdersTotal()==0) diganti dengan if(Jumlahbuy==0) bisa juga diganti dengan if(Jumlahbuy<1)
Jadinya EAnya sbb:
met malam boss...bisa gak yaa EA sederhana ini di kawinkan dngan ea serven nya om Dwi M.
BalasHapuskalau bisa perlu di tambahkan apanya ?apakah magic numbernya tau cara lain tolong dong di jelaskan...
makasih
Ea servent aslinya kan hanya untuk modif tp dan sl saja serta ada tambahan lock , jadi tidak Op sendiri opnya dari manual, sedang EA yg dibikin disini dikembangkan untuk order sendiri, jadi kalo di kawin mungkin hanya lock profitnya aja bro yang bisa di pakai
BalasHapusFunction "Jumlahorder" is not referenced and will be removed from exp-file
BalasHapusada peringatan seperti itu gan.. tapi untuk BT bisa OP.. maksd peringatan itu p gan??
sy belum pernah menemui kasus spt itu bro , jadi lum bisa kasih penjelasan
Hapusdan mungkin di jelaskan detailnya , broker apa yg dipakai ?
maksudnya apa ea di atas ?
atau sudah di oprek
kita bikin fungsi Jumlahorder tapi gak dipake/gak ada didalem int start()
BalasHapuscmiiw
kang, gimana caranya biar si EA OP pada jam2 tertentu, dan OP hanya pada candle baru muncul? thanks
BalasHapusSalam Pak JumForex
BalasHapussaya coba script di atas, baik diketik sendiri maupun di copy paste ke metaeditornya, tetap ada error
return value of 'OrderSend' should be checked
return value of 'OrderSelect' should be checked
solusinya bagaimana
Terima kasih
If you would like an alternative to casually picking up girls and trying to figure out the right thing to do...
BalasHapusIf you'd prefer to have women chase YOU, instead of spending your nights prowling around in crowded bars and restaurants...
Then I encourage you to view this short video to learn a weird little secret that can literally get you your own harem of beautiful women:
FACEBOOK SEDUCTION SYSTEM!!!
Thanks pak ilmunya, dri sini saya sdh bisa kerjakan EA dan sdh mndptkn penghasilan
BalasHapus