Professional Documents
Culture Documents
Apa sebenarnya pengertian dari forex robot ini? Forex Robot atau biasa disebut Expert Advisors (EA) adalah sebuah program komputer yang dirancang untuk melakukan trading forex secara otomatis.
Forex robot bisa melakukan open transaksi dan close transaksi secara mandiri tanpa campur tangan manusia. Dirancang dengan algoritma yang rumit dan hanya support untuk platform trading tertentu, platform yang paling banyak digunakan yaitu Meta Trader 4.
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..
Langsung saja :
1 Pertama kita buka dulu program MT4 nya, setelah itu klik menu tool dan klik Metaquotes Language Editor atau bisa klik F4
2. Nah... setelah program Meta Editornya sudah terbuka, buatlah lembar baru dengan klik menu New atau ctrl+N, setelah muncul kotak dialog centang bagian Expert Advisor, dan selanjutnya klik Next
//| Copyright 2010, Thomas Quester | //| www.olfolders.de | //+------------------------------------------------------------------+ #property copyright "Copyright 2010, Thomas Quester" #property link "www.olfolders.de"
#include <ea.mqh>
//---- input parameters extern int MovingPeriod=20; extern int MovingShift=0; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---SetComment("MA_Miror"); //---return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //----
//+------------------------------------------------------------------+
int i=1; int signal = oldSignal; double ma1, ma2; ma1=iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE,i)iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_OPEN,i); ma2=iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_OPEN,i)iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE,i);
if (ma1 > ma2) signal = OP_BUY; if (ma1 < ma2) signal = OP_SELL;
return (signal); }
int signal = oldSignal; if (GetNumTickets() == 0) { int rnd = MathRand(); if (rnd > 16358) signal = OP_BUY; else signal = OP_SELL; } return (signal); }
int signal,oldSignal;
oldSignal = GetCommand(0); }
else oldSignal = 1;
signal = Signal(oldSignal);
if (signal != oldSignal) { if (GetNumTickets() != 0) CloseOrder(GetTicket(0)); if (signal == OP_BUY) Buy(GetLots()); if (signal == OP_SELL) Sell(GetLots());
//---return(0); } //+------------------------------------------------------------------+
3. Simpan scrip yang telah anda buat tersebut, coba / tes dahulu robot yang telah anda buat dan gunakan pada Demo acaunt.
init() (Initialization)> Ketika sebuah EA dijalankan, maka yang di eksekusi pertama kali adalah bagian ini. Dan ini hanya sekali berjalan.
start() > di eksekusi ketika init selesai di eksekusi.. & section ini looping berulang2 tiap tick
deinit() > Di eksekusi jika sebuah EA di remove dari chart.. Hanya sekali berjalan..
int (integer) > input adalah bilangan bulat contoh int bilangan=0; double > input bisa menggunakan bilangan desimal double lots=0.1; string > input berupa huruf
untuk penamaan variabel tidak boleh menggunakan spasi.. agar bisa di ubah2 maka menggunakan extern contoh extern double lots=0.1;
Untuk Detail script per item akan saya bahas pada artikel forex yang akan datang, ( masih dalam penulisan )