Tuesday, 21 August 2012

Belajar Membuat EA Sederhana 4

Untuk mengikuti ini pastikan sudah membaca  part 3 di sini

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:
  1. Hanya bisa digunakan satu pair saja (1 pasang mata uang)
  2. Hanya bisa melakukan order buy 
  3. Tidak ada batasan waktu trading
  4. Tidak menggunakan indikator untuk trigernya (pemicu ordernya)
Kali ini kita bahas dulu tentang filter pair supaya EA yg telah kita buat di part 3 bisa digunakan di semua pair.
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 diabaikan
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 
if(OrdersTotal()==0)  diganti dengan if(Jumlahbuy==0)  bisa juga diganti dengan  if(Jumlahbuy<1)

Jadinya EAnya sbb:


Nah EA diatas sudah bisa dipakai di semua pair 
Mudahkan?

2. Menggunakan Fungsi

Jadi selain menggunakan cara langsung pada bagian 1 bisa juga digunakan fungsi.
Fungsi ini menentukan nilai yang biasanya ditempatkan diluar int start().
Karena jumlah order ini merupakan bilangan bulat tidak berkoma maka digunakan integer (int).

coba perhatikan!

int jumlahorder( int tipe)
{
int total=0;
for(int i=0; i<OrdersTotal(); i++)
  {
      OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=Magic ||
OrderType()!=tipe) continue;
     total++;
  }
return(total) ;
}

Ini merupakan skrip untuk filter order menggunakan fungsi .
Cara menggunkan nya
 jumlahorder(OP_BUY) ini merupakan jumlah buy
jumlahorder(OP_SELL) ini merupakan jumlah sell
jumlahorder(OP_BUYSTOP) ini merupakan jumlah pending order Buystop
dst....

Type order bisa juga dinyatakan dalam bilangan
OP_BUY     =    0
OP_SELL    =   1
OP_BUYLIMIT     =  2
OP_SELLLIMIT    =  3
OP_BUYSTOP     =   4
OP_SELLSTOP    =  5

Sehingga
 jumlahorder(OP_BUY)    bisa ditulis juga jumlahorder(0) 
demikian juga untuk jumlahorder(OP_SELL) bisa ditulis jumlahorder(1)

Sehingga pada EA diatas bisa diganti 
if(Jumlahbuy==0) menjadi if(jumlahorder(OP_BUY)==0)  atau  if(jumlahorder(0)==0) 

Dan kalau dimasukan ke dalam EAnya


Nah silahkan di Compile hasil dari pembuatan terebut bila sukses berarti EA terebut sudah bisa digunakan, tapi bila masih ada errornya maka silahkan dikoreksei ulang mulai dari awal dan bandingkan dengan hasil di atas (copykan hasil di atas ke metaeditor ).

Semoga sukses 
Jangan lupa kasih komen masukan ya untuk memudahkan belajar membuat EA sederhana terebut.
Disini saya berupaya menguraikan dengan bahasa saya yang sederhana dan bukan bahasa seorang yang belajar dari ilmu programer jadi mudah2 an mudah dipahami dan  bila ada kekurangan yah harap maklum, tapi ini didasari dengan niat yang tulus saling belajar dan memajukan trader Indonesia.

Salam Profit semuanya
sampai jumpa di part 5

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
  • Read more »

    9 comments:

    Relief Class said... 23 August 2012 at 20:05

    met malam boss...bisa gak yaa EA sederhana ini di kawinkan dngan ea serven nya om Dwi M.
    kalau bisa perlu di tambahkan apanya ?apakah magic numbernya tau cara lain tolong dong di jelaskan...

    makasih

    Jum69 said... 29 August 2012 at 19:21

    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

    alphabet community said... 26 October 2012 at 18:55

    Function "Jumlahorder" is not referenced and will be removed from exp-file
    ada peringatan seperti itu gan.. tapi untuk BT bisa OP.. maksd peringatan itu p gan??

    Jum69 said... 26 October 2012 at 20:57

    sy belum pernah menemui kasus spt itu bro , jadi lum bisa kasih penjelasan

    dan mungkin di jelaskan detailnya , broker apa yg dipakai ?

    maksudnya apa ea di atas ?
    atau sudah di oprek

    devi iriawan said... 17 November 2012 at 12:38

    kita bikin fungsi Jumlahorder tapi gak dipake/gak ada didalem int start()

    cmiiw

    Octavianus Eka Saputra said... 24 December 2012 at 15:57

    kang, gimana caranya biar si EA OP pada jam2 tertentu, dan OP hanya pada candle baru muncul? thanks

    ganzarforexacc said... 31 July 2016 at 17:14

    Salam Pak JumForex

    saya 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

    Blogger said... 6 September 2017 at 09:07

    eToro is the most recommended forex trading platform for newbie and established traders.

    Blogger said... 13 October 2017 at 03:48

    If you would like an alternative to casually picking up girls and trying to figure out the right thing to do...

    If 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!!!

    Post a Comment

    Copyright © Strategi Profit Forex 2010

    Template By Jumian