Anda di halaman 1dari 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 ...............

Anda mungkin juga menyukai