You are on page 1of 8

CARA MEMBUAT ROBOT FOREX EA SENDIRI

Pengertian Forex Robot

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

dibawah ini contoh template Script MQL4

//+------------------------------------------------------------------+ //| MA_MirrorEA.mq4 |

//| 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() { //----

//---return(0); } //+------------------------------------------------------------------+ //| expert start function |

//+------------------------------------------------------------------+

int Signal(int oldSignal) { return (SignalMA(oldSignal)); }

int SignalMA(int oldSignal) {

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 SignalRandom(int oldSignal) {

int signal = oldSignal; if (GetNumTickets() == 0) { int rnd = MathRand(); if (rnd > 16358) signal = OP_BUY; else signal = OP_SELL; } return (signal); }

int start() { //----

int signal,oldSignal;

oldSignal = -1; FindOrders(true); if (GetNumTickets() != 0) {

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.

Penjelasan singkat fungsi script

Dalam sebuah EA, pasti ada :

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..

sekarang masuk ke Syntak..

Syntak yang biasa dipakai dalam sebuah EA adalah :

bool > merupakan perbandingan true atau false bool=true;

int (integer) > input adalah bilangan bulat contoh int bilangan=0; double > input bisa menggunakan bilangan desimal double lots=0.1; string > input berupa huruf

string coment="contoh teks yang dipasang";

color > input yg dihasilkan berupa warna color ijo=Green;

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 )

Selamat Mencoba ...............

You might also like