• Document: Tutorial membuat Expert Advisor (EA)
  • Size: 730.21 KB
  • Uploaded: 2019-04-15 13:17:33
  • Status: Successfully converted


Some snippets from your converted document:

Tutorial membuat Expert Advisor (EA) Bagian 1 - Pengenalan Pengenalan MQL 4 MQL4 adalah bahasa pemrograman yang terdapat pada platform MetaTrader 4. MQL4 ini paling umum digunakan untuk membuat Expert Advisor (EA), Custom Indicator, dan Script. Expert Advisor / EA, seperti yang sudah kita ketahui, adalah program untuk mengotomasi trading anda berdasarkan logika2 dan paramater2 tertentu. Custom Indicator, hampir sama seperti EA, cuma tidak bisa melakukan trading. Dan dapat menggunakan function2 indicator. Script, sama seperti EA, hanya saja dilakukan hanya 1x saat script dijalankan. Untuk membuat program/script dengan MQL 4, caranya cukup mudah, cukup jalankan saja MetaEditor. MQL4 ini struktur dan syntax nya mirip C/C++. Jadi kalau udah kebiasa dengan C/C++, harusnya ga akan mengalami kesulitan membuat program dengan MQL4. Kesulitannya mungkin saat debugging.. Lebih lanjutnya, MQL4 dapat melakukan interkoneksi dengan file DLL. Hal tersebut memungkinkan pemrograman yang lebih kompleks dan rumit, dan tentu saja, sangat memungkinkan untuk disusupi spyware/virus oleh pembuat EA (terutama yang pakai DLL). Bagian 2 - Contoh EA Bahasan yang pertama, adalah EA (setelah EA, baru kita akan membahas custom indicator dan script). Untuk memulai membuat EA, setelah masuk MetaEditor, pilih File -> New -> pilih Expert Advisor, lalu masukkan Copyright dan Link lalu anda akan mendapat code kira2 seperti ini : Code: //+------------------------------------------------------------------+ //| ContohEA2.mq4 | //| Copyright © 2008, Forexindo | //| http://www.forexindo.com | //+------------------------------------------------------------------+ #property copyright "Copyright © 2008, Forexindo" #property link "http://www.forexindo.com" //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- //---- return(0); } //+------------------------------------------------------------------+ Sedikit penjelasan, yang di dalam init() dijalankan 1x saat EA pertama kali di drag ke chart yang di dalam deinit() dijalankan 1x saat EA di remove dari chart, atau chart ditutup yang di dalam start() dijalankan tiap tick (tiap ada harga baru) nah, coba lihat EA super simple berikut ini : Code: //+------------------------------------------------------------------+ //| ContohEA1.mq4 | //| Copyright © 2008, Forexindo | //| http://www.forexindo.com | //+------------------------------------------------------------------+ #property copyright "Copyright © 2008, Forexindo" #property link "http://www.forexindo.com" extern double Lots=0.1; extern int StopLoss=100; extern int TakeProfit=150; extern string txComment="Order EA1"; extern int MagicNumber=12345; extern int Slippage=5; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- if (OrdersTotal()==0) { if (iClose(Symbol(),0,1) > iMA(Symbol(),0,10,0,MODE_EMA,PRICE_CLOSE,1) ) { OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,Ask- StopLoss*Point,Ask+TakeProfit*Point,txComment,MagicNumber); } else if (iClose(Symbol(),0,1) < iMA(Symbol(),0,10,0,MODE_EMA,PRICE_CLOSE,1) ) { OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,Bid+StopLoss*Point,Bid- TakeProfit*Point,txComment,MagicNumber); } } //---- return(0); } //+------------------------------------------------------------------+ Logika EA ini, kira2 (misal EA ini diletakkan di char

Recently converted files (publicly available):