Advertisement

iklan

Simbol Operasi Aritmatik pada EA

Tidak hanya kode program, untuk belajar pemrograman EA, Anda juga harus belajar operasi aritmatika. Apa itu operasi aritmatika? Simak penjelasan dan contoh lengkapnya berikut.

Advertisement

iklan

FirewoodFX

iklan

Dalam menjalankan fungsinya secara menyeluruh, EA pastinya memerlukan perhitungan matematika. Perhitungan matematika ini bisa digunakan sebagai basis peraturan dari open posisi, perhitungan Money Management EA, perhitungan Take Profit serta Stop Loss, dan banyak lagi. Selain itu, proses perhitungan ini juga pada dasarnya digunakan dalam hampir semua indikator yang Anda gunakan saat ini.

Pada artikel ini akan sedikit dijelaskan tentang bagaimana operasi aritmatik akan berfungsi dalam proses belajar pemrograman EA, apa saja jenis-jenis operasi tersebut, contoh operasi perhitungan, dan contoh simpel cara membuat EA forex dengan operasi aritmatik.

 

Dasar Dan Jenis-Jenis Operasi Aritmatik Pada EA

Artimatika adalah sebuah ilmu hitung cabang dari matematika yang mempelajari operasi dasar bilangan. Operasi Aritmatika sendiri adalah proses-proses dasar operasi bilangan seperti penjumlahan, pengurangan, perkalian, dan pembagian.

Dalam pemrograman EA, tidak hanya belajar sintaks ataupun kodenya saja, Anda juga sebenarnya dituntut untuk menguasi proses perhitungan aritmatika dengan baik. Salah satu contoh paling mudah adalah saat proses perhitungan dan pembuatan indikator Moving Average. Indikator Moving Average dibuat dengan mencari rata-rata pergerakan harga pada suatu periode. Di sini, tentu saja perhitungan sangat dibutuhkan, bukan?

(Baca juga: Cara Membaca Indikator Moving Average)

Operasi aritmatik pada EA dapat dilakukan dengan fungsi bahasa MQL4 yang bernama operator. Operator ini yang akan dibaca oleh Compiler dan kemudian diterjemahkan ke dalam sebuah operasi aritmatik. Berikut operator aritmatik pada EA yang dapat digunakan sesuai dengan kebutuhan Anda:

belajar-pemrograman-ea-6

Berbagai jenis operator ini juga tidak bisa sembarang digunakan. Terdapat batasan antara masing-masing tipe data variabel yang dipakai dan dituju. Misalkan Anda membagi 5 dan 2 yang di-Assign ke sebuah variabel Integer, hasilnya akan berbeda dengan nilai 5 dan 2 yang dibagi ketika di-Assign ke variabel Double.

(Baca juga: Macam-Macam Tipe Data Dalam MQL4)

 

Urutan Pengerjaan Operator Aritmatika

Sama seperti pelajaran di bangku SD, operator aritmatik di belajar pemrograman EA juga memiliki urutan atau hirarki pengerjaannya. Dimulai dari perpangkatan, perkalian dan pembagian, lalu terakhir penambahan dan pengurangan. Namun, hirarki pengerjaan ini tidak akan diindahkan jika Anda menggunakan tanda kurung dalam setiap blok pengerjaannya. Untuk lebih jelas, perhatikan contoh di bawah ini:

 

//+------------------------------------------------------------------+
//|                                     belajar pemrograman ea 2.mq4 |
//|                        Copyright 2018, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
#property indicator_chart_window

//belajar pemrograman ea 2
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping

   double p = 7*2^4-8/2+6*4/2-9;
   double q = ((7*2)^4)-(8/(2+6))*(4/2)-9;
   
   ObjectCreate("akselerasi2",OBJ_LABEL,0,0,0,0,0);
   ObjectSet("akselerasi2",OBJPROP_CORNER,1);
   ObjectSet("akselerasi2",OBJPROP_XDISTANCE,0);
   ObjectSet("akselerasi2",OBJPROP_YDISTANCE,10);
   ObjectSetText("akselerasi2",DoubleToStr(p),25,"Stencil Std",Green);
   
      ObjectCreate("akselerasi3",OBJ_LABEL,0,0,0,0,0);
   ObjectSet("akselerasi3",OBJPROP_CORNER,1);
   ObjectSet("akselerasi3",OBJPROP_XDISTANCE,0);
   ObjectSet("akselerasi3",OBJPROP_YDISTANCE,50);
   ObjectSetText("akselerasi3",DoubleToStr(q),25,"Stencil Std",Green);

   
//---
   return(INIT_SUCCEEDED);
  }

Pada program tersebut akan dihitung beberapa bilangan dengan menggunakan berbagai macam operator aritmatik tanpa memisahkannya dengan tanda kurung. Hasil dari perhitungan ini akan dibandingkan dengan operasi yang menggunakan kurung sebagai pemisah antara operasi. Berikut hasil yang didapatkan:

belajar-pemrograman-ea-2

Keduanya bisa berbeda karena adanya tanda kurung yang memisahkan serta mengurutkan hirarki perhitungan pada persamaan kedua. Sedangkan pada persamaan pertama, program akan menjalankan operasi aritmatika sesuai dengan hirarki perhitungan biasa. Begini hirarki perhitungan persamaan nomor 1.

 

belajar-pemrograman-ea-5

 

Cara Membuat EA Forex Dengan Operasi Aritmatika

Dalam cara membuat EA forex, akan selalu dibutuhkan perhitungan aritmatik pada kode programnya. Penggunaannya beragam dari aplikasi perhitungan Money Management yang baik, atau langsung berkaitan dengan strateginya. Anda bisa melihat contoh cara membuat EA forex Candle Sederhana. Di sana telah dicontohkan pembuatan sistem Money Management yang otomatis menentukan Lot trading berdasarkan Balance.

(Baca juga: Cara Membuat EA Candle Sederhana)

Namun pada kali ini, mari belajar cara membuat EA forex dengan menggunakan operasi perhitungan aritmatik. Sama seperti pembuatan EA pada umumnya, hal pertama yang dibutuhkan adalah strategi untuk menjalankan EA. Namun, strategi ini harus dibuat cukup simpel sehingga tidak akan sulit untuk membuatnya.

Salah satu strategi yang ditemukan cukup simpel menggunakan perhitungan aritmatik, tapi juga profitable, adalah penggunaan pola Candlestick Pin Bar. Pola Candlestick Pin Bar terkenal karena sifatnya yang menjadi tanda awal dari berbaliknya arah market.

belajar-pemrograman-ea-4

(Baca juga: Strategi Trading Dengan Teknik Pin Bar)

Namun tidak semua candlestick Pin Bar yang muncul akan profitable. Pin Bar diharuskan memiliki spesifikasi khusus seperti panjang ekornya, penutupan candle-nya, dan lain sebagainya. Oleh karena itu, ditetapkan syarat-syarat berikut pada cara membuat EA Forex Pin Bar:

  1. Open Candle dari Pin Bar Bearish harus berada di atas Close Candle.
  2. Open Candle dari Pin Bar Bullish harus berada di bawah Close Candle.
  3. Rasio perbandingan panjang Body dan ekor adalah 1:5.

Setelah syarat-syarat di atas terpenuhi, barulah akan dicoba mengimplementasikan pada kode program MQL4 di Metatrader. Berikut kode yang dihasilkan:

 

//+------------------------------------------------------------------+
//|                                     belajar pemrograman ea 3.mq4 |
//|                        Copyright 2018, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict

extern double  lot=0.2;
extern int StopLoss=200;
extern int TakeProfit=400;
extern int autoMM=5;
extern int MagicNumber=3333;
extern int Slippage=5;
extern string txComment="sederhana";
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   double mm= (autoMM * AccountBalance())/100;
  
   double closecandle= iClose(Symbol(),0,1);
   double opencandle = iOpen(Symbol(),0,1);
   double highcandle = iHigh(Symbol(),0,1);
   double lowcandle = iLow(Symbol(),0,1);
   
   if(OrdersTotal()==0)
   {
      if(closecandle>opencandle)
      {
         double selisihbody = closecandle-opencandle;
         double selisihhl = highcandle-lowcandle;
         int c= selisihhl/selisihbody;
         double jumlahlot = mm /StopLoss;
         if(c >= 5)
         {
            OrderSend(Symbol(),OP_BUY,jumlahlot,Ask,Slippage,Ask - (opencandle-lowcandle),Ask+ 2*(opencandle-lowcandle),txComment,MagicNumber);
         }
       }
       else if (opencandle>closecandle)
       {
         double selisihbody = opencandle-closecandle;
         double selisihhl = highcandle-lowcandle;
         int c= selisihhl/selisihbody;
       double jumlahlot = mm / StopLoss;
         if(c >= 5)
         {
            OrderSend(Symbol(),OP_SELL,jumlahlot,Bid,Slippage, Bid + (highcandle- opencandle),Bid- 2*(highcandle-opencandle),txComment,MagicNumber);
         }
        }
    }
  }


Jika Anda ingin belajar pemrograman EA lebih baik, cobalah memahami kode di atas. Pada program di atas, syarat-syarat Pin Bar yang terbentuk diubah dan implementasikan ke dalam kode MQL4. Proses konversi dari syarat-syarat di atas menuju bahasa pemrograman EA adalah kunci utama dalam proses belajar pemrograman EA. Anda harus mampu mengetahui fungsi sintaks-sintaks di MQL4, serta memahami betul integrasi dari syarat-syarat trading yang Anda gunakan.

Misalnya, perhatikan syarat mengenai posisi Open Candle pada pola Pin Bar yang diinginkan. Jika Pin Bar Bearish terbentuk, maka posisi Open Candle harus berada di atas posisi Close Candle. Hal ini dapat dicapai dengan menuliskan:

double closecandle= iClose(Symbol(),0,1);
double opencandle = iOpen(Symbol(),0,1);
if(closecandle>opencandle)
{
}

Pada kode tersebut dibuat 2 buah variabel bernama closecandle dan opencandle. Kedua variabel ini berfungsi sebagai tempat menyimpan nilai penutupan dan pembukaan Candlestick. Kedua variabel ini kemudian dibandingkan untuk mengetahui nilai mana yang lebih besar. Jika memang nilai closecandle lebih besar daripada opencandle, maka barulah boleh kode program selanjutnya dituliskan.

 

Penutup: Belajar Pemrograman EA Itu Mudah

Setelah menjelaskan beberapa operasi aritmatik yang ada pada bahasa pemrograman MQL4, Anda tidak serta merta akan mampu membuat EA sendiri. Masih banyak sintaks-sintaks lain yang perlu dipelajari agar EA dapat dibentuk sesuai dengan keinginan Anda. Namun bukan berarti tidak ada cara membuat EA forex dan belajar pemrogaman EA tersebut dengan cepat. Salah satu cara membuat EA Forex adalah dengan memesannya ke ahli-ahli yang bersedia. Ahli-ahli ini biasanya mematok bayaran relatif murah untuk sebuah sistem yang mudah.

Untuk belajar pemrograman EA sendiri, Anda bisa melakukannya secara cepat dengan cara langsung mencoba. Metode ini biasanya dikenal dengan nama Trial and Error. Dalam metode belajar pemrograman EA sendiri, Anda dapat mencontoh EA yang telah bertebaran secara gratis di Google untuk dicontoh, dan memahami proses bekerjanya baris demi baris. Selain itu, banyak pula tutorial-tutorial singkat dan lengkap di Youtube yang dapat membantu Anda dalam proses belajar pemrograman EA. Berikut salah satu contoh video yang saya sarankan:

 

 

Jika Anda memiliki pertanyaan lebih lanjut perihal robot trading, selain dari kolom komentar, Anda juga bisa langsung bertanya pada ahli kami di forum tanya jawab spesial robot trading berikut.

Meski berlatar belakang jurusan Biomedical Engineering, Muh Nuzul sudah menjadi trader forex sejak tahun 2013. Dengan dasar tekniknya, penulis ahli dalam membuat indikator dan Expert Advisor Metatrader. Hobi membaca dan menulis sejak kecil dan mulai aktif menulis di Seputarforex karena ingin membagikan pengetahuan selama menjadi trader.