Advertisement

iklan

SEC menggugat YouTuber Jake Paul karena secara ilegal mempromosikan cryptocurrency yang terkait dengan pendiri Tron, Justin Sun, 1 jam lalu, #Kripto Fundamental   |   Rusia tidak menggunakan Dolar AS, melainkan Yuan Tiongkok untuk menyelesaikan perdagangan dengan Asia, Afrika, dan Amerika Latin, 2 jam lalu, #Forex Fundamental   |   Setelah sempat turun hingga lebih dari 1%, harga minyak global mulai memangkas penurunan hari ini menjadi sekitar 0.5% karena posisi open interest di pasar melonjak, 2 jam lalu, #Minyak Fundamental   |   Maret ini, pemerintah berencana menyalurkan dua bansos berupa BLT dan bahan pokok menjelang Ramadan kepada penerima Program Keluarga Harapan, 2 jam lalu, #Ekonomi Indonesia   |   Otoritas Moneter Hong Kong (HKMA) mengikuti langkah The Fed untuk menaikkan suku bunga sebesar 25 basis poin menjadi 5.25%, 2 jam lalu, #Ekonomi Global   |   Militer China mengusir kapal perang milik AS di Laut China Selatan, hubungan kedua negara kembali menegang, 2 jam lalu, #Ekonomi Global   |   PT Chandra Asri Petrochemical Tbk. (TPIA) dan PT Krakatau Steel (Persero) Tbk. (KRAS) bakal bangun Pelabuhan Warnasari di Cilegon, Banten, 2 jam lalu, #Saham Indonesia   |   Otoritas Moneter Singapura mengatakan tingkat inflasi di bulan Februari masih di level yang sama dengan bulan Januari 2023, 4 jam lalu, #Ekonomi Global   |   Para pemimpin Uni Eropa siap mendukung perombakan aturan pasar tunggal, agar dapat bersaing kembali dengan Amerika Serikat dan China dalam industri teknologi digital, 4 jam lalu, #Ekonomi Global   |   Dianggap melakukan penipuan dan manipulasi pasar, Justin Sun pendiri Tron digugat oleh SEC, 4 jam lalu, #Kripto Fundamental   |   PT Grahaprima Suksesmandiri Tbk berencana IPO dengan memasang harga saham sebesar Rp150 per lembar sehingga berpeluang meraup dana segas Rp56.83 miliar, 6 jam lalu, #Saham Indonesia   |   Harga minyak semakin turun di sesi Asia karena sinyal ekonomi yang lemah dari The Fed, serta kemungkinan OPEC+ akan mempertahankan jumlah produksi bulan depan, 6 jam lalu, #Minyak Fundamental   |   PT GoTo Gojek Tokopedia Tbk. (GOTO) tidak menganggap In Driver dan Maxim sebagai pesaing, 7 jam lalu, #Saham Indonesia   |   Pasca kenaikan suku bunga sebesar 0.25% oleh The Fed, EUR/USD makin menguat di atas 1.0875, 7 jam lalu, #Forex Fundamental   |   Market kripto kembali memasuki zona merah akibat kenaikan suku bunga The Fed dan peringatan SEC terhadap Coinbase, 7 jam lalu, #Kripto Fundamental   |   Komentar The Fed dan Menkeu AS justru semakin membuat pasar khawatir mengenai krisis perbankan. , 7 jam lalu, #Emas Fundamental   |   XAU/USD kembali mendapatkan momentum bullish untuk menguji level psikologis $2000, 7 jam lalu, #Emas Teknikal   |   Dari pasar Indonesia, para ahli menyoroti IDX High Dividend 20 di tengah tingginya volatilitas, 7 jam lalu, #Saham Indonesia   |   Sejumlah indeks saham AS terperosok setelah The Fed resmi menaikkan suku bunga, 7 jam lalu, #Saham AS   |   PT Jasa Berdikari Logistics Tbk. (LAJU) optimistis dapat membagikan dividen tunai kepada para pemegang saham yang berasal dari laba bersih 2022, 8 jam lalu, #Saham Indonesia   |   Harga emas melonjak setelah The Fed beri sinyal jeda kenaikan suku bunga, 8 jam lalu, #Emas Fundamental   |   Pejabat bank sentral Selandia Baru mengatakan bahwa tingkatan suku bunga telah menyebabkan perlambatan ekonomi, namun masih belum jelas apakah sudah bisa mengendalikan inflasi, 8 jam lalu, #Ekonomi Global   |   Harga minyak turun sekitar 1.1%, menyusul komentar dari Ketua Federal Reserve AS Jerome Powell terkait pembatasan inflasi, termasuk kemungkinan kenaikan suku bunga lebih lanjut, 9 jam lalu, #Minyak Fundamental   |   Pembicaraan seputar rencana pemerintah untuk redenominasi Rupiah kembali mencuat, 9 jam lalu, #Rupiah
Selengkapnya

Fungsi Magic Number pada EA

Penulis

+ -

Robot trading pun ternyata menggunakan Magic. Namun, Magic apakah itu? Simak selengkapnya dalam artikel Fungsi Magic Number pada EA berikut.

iklan

iklan

Tenang, sebelum memulai membaca artikel ini, kosongkan dahulu semua pikiran Anda dari hal-hal yang berhubungan dengan Magic di Harry Potter. Bukan Magic seperti itu yang akan dibahas di sini, karena Magic di artikel ini adalah perihal angka, pengenalan, dan program di Metatrader 4. Selain itu akan dibahas pula beberapa fungsi Magic Number pada EA secara mendalam, serta contoh penggunananya dalam pemrogaman di Metatrader 4.

 

Apa Itu Magic Number Pada EA?

Magic Number EA sebenarnya adalah sebuah parameter yang digunakan sebagai pengenal dan tanda dari Order yang dilakukan oleh robot trading. Pada masa MT3 dahulu, dibutuhkan waktu yang cukup lama untuk mengatur posisi yang sedang terbuka. Selain itu, belum ada Tools yang bisa digunakan untuk membantu dalam mengorganisirnya. Problem utama saat itu adalah ketidakmampuan untuk membedakan antara satu open posisi yang dibuka oleh satu metode, dengan open posisi milik metode lain. Gagal paham? Coba cermati beberapa kasus di bawah ini:

  1. Seorang trader dan EA trading pada satu Metatrader yang sama.
  2. Dua buah EA yang berbeda algoritma atau time frame penggunaan, bekerja pada satu Metatrader yang sama.

robot-trading-magic-number

Dalam 2 kasus tersebut, EA tentu saja harus mengerti mana yang merupakan posisi miliknya, dan mana yang tidak. Faktanya, tidak bisa dibedakannya posisi, sebenarnya baru menjadi masalah saat adanya perubahan rencana pada posisi yang terbuka, seperti penutupan posisi lebih dini atau memindahkan Stop Loss dan Take Profit.

Masalah ini kemudian berusaha diselesaikan oleh pihak Metaquotes.Inc dengan cara membuat parameter baru dalam Order bernama Magic Number. Tanpa menggunakan Magic Number, EA akan membabat habis semua posisi yang sedang terbuka di sana.

 

Fungsi Magic Number Pada EA

Setelah belajar sedikit masalah Magic Number di awal tadi. Mari kembali ke dasar dengan membahas apa sebenarnya fungsi Magic Number Pada EA. Secara umum, fungsi Magic Number pada EA adalah agar Anda dapat mengatur posisi yang telah terbuka berdasarkan keadaan atau alasan mengapa posisi tersebut terbuka. Keadaan atau alasan posisi terbuka ini sendiri bermacam-macam. Beberapa di antaranya adalah:

  • Robot trading yang sejenis tapi digunakan di 2 time frame berbeda (misalnya 1-jam dan 15-menit).
  • 2 buah robot trading dengan masing-masing strateginya berjalan pada satu pasangan mata uang dan time frame yang sama.
  • 1 buah robot trading yang bekerja pada satu akun yang sama dengan seorang trader.

Beberapa keadaan ini tentu saja akan sangat membingungkan bagi robot trading tersebut. Seperti misalnya pada keadaan nomor 1, saat robot trading memiliki sistem trading yang sama tapi dapat bekerja pada time frame manapun. Posisi yang dibuka dengan analisa time frame H1 tentu saja akan berbeda dengan analisa time frame M15.  Di sinilah fungsi Magic Number pada EA berperan. Tanpa adanya Magic Number, sangat besar kemungkinan bahwa robot akan salah menutup posisi, bahkan EA bisa saja langsung menutup semua posisi tanpa terkecuali.

sistem trading fungsi magic number pada ea

(Baca juga: Belajar Forex Dengan Membuat Sistem Handal)

Hal ini juga berlaku bagi kasus kedua dan ketiga. Pada kasus ketiga khususnya, EA dan trader bekerja pada satu akun yang sama. Tanpa adanya fungsi Magic Number pada EA, robot bisa saja menutup posisi yang dibuka oleh trader tersebut secara tidak sengaja. Untuk itulah fungsi Magic Number pada EA ini dirasa sangat penting.

 

Penempatan Magic Number

Lalu dimana sebenarnya Magic Number akan diselipkan oleh robot? Magic Number EA ini dimasukkan saat robot mengirimkan perintah Order ke market. Order ini dikirimkan dengan menggunakan perintah sebagai berikut:

OrderSend(string symbol, int cmd, double volume, double price int slippage, double stoploss, double takeprofit, string comment=Null, int magic =0, datetime expiration=0, color arrow_color=CLR_NONE)

fungsi magic number pada ea candle sederhana

(Baca juga: Cara Membuat EA Candle Sederhana)

Parameter int magic=0 adalah perintah yang digunakan untuk menyelipkan Magic Number pada Open Posisi. Secara Default, sistem di Metatrader 4 akan memberikan nilai 0 pada posisi yang tidak diinisialisasi Magic Number-nya. Contohnya adalah pada EA Candlestick yang pernah dibuat dahulu. Berikut perintah yang digunakan:

 

//+------------------------------------------------------------------+
 //| Copyright 2018, MetaQuotes Software Corp. |
 //+------------------------------------------------------------------+
 #property copyright "Copyright 2018, MetaQuotes Software Corp."
 #property link "https://www.mql5.com"
 #property version "1.00"
 #property strict
 
 extern int StopLoss=200;
 extern int TakeProfit=600;
 extern int autoMM=2;
 extern int MagicNumber=3333;
 extern int Slippage=5;
 extern string txComment="sederhana";
 
 void OnTick()
 {
 double mm= (autoMM * AccountBalance())/100;
 double jumlahlot = mm / StopLoss;
 if(OrdersTotal()==0){
 if(iClose(Symbol(),0,1)>iOpen(Symbol(),0,1)){
 OrderSend(Symbol(),OP_BUY,jumlahlot,Ask,Slippage,Ask-StopLoss*Point,Ask+TakeProfit*Point,txComment,MagicNumber);
 }
 else if(iClose(Symbol(),0,1)<iOpen(Symbol(),0,1)){
 OrderSend(Symbol(),OP_SELL,jumlahlot,Bid,Slippage, Bid+StopLoss*Point,Bid-TakeProfit*Point,txComment,MagicNumber);
 } 
 } 
 
 }
 

Pada program di atas, fungsi Magic Number pada EA diinisialisasikan dalam sebuah variabel bernama MagicNumber. Variabel ini juga diinisialisikan dengan memberikan fungsi Extern, agar dapat diedit manual oleh User. Lalu perhatikan pada perintah OrderSend() di beberapa baris terbawah.

fungsi magic number pada ea extern

(Baca juga: Fungsi Extern Pada EA)

OrderSend(Symbol(),OP_SELL,jumlahlot,Bid,Slippage, Bid+StopLoss*Point,Bid-TakeProfit*Point,txComment,MagicNumber);
 OrderSend(Symbol(),OP_BUY,jumlahlot,Ask,Slippage,Ask-StopLoss*Point,Ask+TakeProfit*Point,txComment,MagicNumber);

Jike robot trading telah berjalan, maka baik posisi Buy dan Sell akan memproduksi nilai Magic Number yang sama. Perhatikan gambar di bawah ini:

fungsi maguc number pada ea

Sekarang, mari mengubah robot agar masing-masing Order memiliki fungsi Magic Number pada EA yang berbeda. Langkah pertama yang perlu dilakukan adalah menambahkan variabel baru untuk menyimpan nilai Magic Number. Berikut kodenya:

Extern int magicnumber1= 3333; //untuk order buy
 Extern int magicnumber2 = 4444; //untuk order sell

Tambahkan kode ini di bagian atas program robot, tempat inisialisasi variabel global.

fungsi magic number pada ea variabel global

(Baca juga: Variabel Global Untuk EA)

Setelah itu, mari edit sedikit perintah eksekusi order. Berikut kode programnya:

//untuk order buy
 OrderSend(Symbol(),OP_BUY,jumlahlot,Ask,Slippage,Ask-StopLoss*Point,Ask+TakeProfit*Point,"magic="+IntegerToString(MagicNumber1),MagicNumber1);
 OrderSend(Symbol(),OP_SELL,jumlahlot,Bid,Slippage, Bid+StopLoss*Point,Bid-TakeProfit*Point,"magic="+IntegerToString(MagicNumber2),MagicNumber2);
 

Pada kode Order Send di atas, variabel untuk masing-masing Magic Number telah diubah. Dengan MagicNumber1 diperuntukkan untuk order Buy dan MagicNumber2 untuk order Sell. Selain itu, ditambahkan pula komentar pada order tersebut agar nilai MagicNumber dapat diamati. Perintah untuk menambahkan komentar ini bisa Anda lihat pada kode berikut:

"magic="+ IntegerToString(MagicNumber)

Kode ini akan diselipkan diperintah Send Order pada parameter komentarnya. Dengan menggunakan fungsi IntegerToString(), nilai Integer pada variabel MagicNumber akan dikonversikan ke String. Berikut hasil yang didapatkan dari perubahan yang dilakukan.

fungsi magic number pada ea 2

 

Penutup

Setelah mengetahui fungsi Magic Number pada EA, cara memanggil dan menempatkannya, Anda bisa mulai belajar cara pengaplikasiannya. Salah satu contoh yang bisa Anda kembangkan adalah dari EA Candlestick Sederhana. Anda bisa memulainya dengan cara memberikan masing-masing posisi Magic Number seperti di atas.

Tambahkan algoritma baru agar posisi dapat otomatis menutup sekaligus langsung terbuka posisi baru, jika muncul Candlestick berlawanan. Setelah menambahkan algoritma ini, pasanglah robot tersebut pada akun demo dan ikutlah trading bersama dengan robot. Untuk mengetahui apakah EA telah bekerja, Anda hanya harus memastikan posisi yang dibuka secara manual tidak ditutup paksa oleh robot.

Jika berhasil, maka dengan program dasar seperti itu Anda bisa mengembangkan fungsi Magic Number pada EA yang lebih kompleks. Fungsi Magic Number pada EA ini juga bisa digunakan pada pembuatan indikator maupun Script di Metatrader 4.

Untuk mempermudah pemahaman Anda, berikut adalah rangkuman penjelasan mengenai Magic Number yang tertuang dalam infografi menarik:

Infografi Magic Number Pada EA

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

115695
Penulis

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.