secara lazimnya terdapat 3 function di dalam EA yang akan dipanggil oleh terminal secara automatik
Code:
int init ()
{
[COLOR="gray"]//-- code anda[/COLOR]
[COLOR="gray"]//-- dipanggil ketika anda attach EA ke chart[/COLOR]
return(0);
}
Code:
int deinit ()
{
[COLOR="gray"]//-- code anda[/COLOR]
[COLOR="gray"]//-- dipanggil ketika anda remove EA daripada chart[/COLOR]
return(0);
}
Code:
int start ()
{
[COLOR="gray"]//-- code anda[/COLOR]
[COLOR="gray"]//-- dipanggil setiap kali ada new tick coming.[/COLOR]
return(0);
}
Walaubagaimanapun, selain daripada 3 function di atas, kita juga boleh create custom function yang lain.
Custom function boleh di panggil hanya daripada mana2 3 function di atas.
Untuk create custom function, perkara asas yang kita perlu kenal ialah jenis functions/types
Jenis2 function ialah:
int = return integer, eg: return (123);
double = return type number yang ada decimal, eg: return (123.0);
string = return type string, mesti ada simbol " " , eg return ("123");
bool = return type hanya true atau false, eg return (true);
color = return type color, eg return (red);
datetime = return type datetime, eg return (D'2011.07.21 12:15');
void = tak perlu return apa-apa
Kalau anda perhatikan ke 3 3 function init,deinit dan start merupakan jenis int, sebabtu sebelum curly bracket "}" terakhir, masing2 perlu ada return(0); nak letak return (1); ataupun return (-1); pun boleh, tapi jangan pulak letak return (1.0);, sebab 1.0 bukanlah integer tetapi double(ada decimal).
Di bawah ni contoh function string,
perhatikan juga format function dan format apply value kepada variable. Setiap syntax ada ";" kat hujung
Setiap open bracket "(" atau curly bracket "{" mesti ditutup semula ")" dan "}".
Code:
string NamaSaya ()
{
string myName = "Nama Saya Aiman."; [COLOR="Gray"]//-- declare variable type dan value kepada 'myName'[/COLOR]
return (myName); [COLOR="gray"]//-- return type mesti string, myName merupakan string variable[/COLOR]
}
Saya akan panggil function NamaSaya() di dalam start()
Keseluruhan Ea saya akan jadi macam ni
Code:
int init ()
{
[COLOR="gray"]// -- [/COLOR]
return(0);
}
int deinit ()
{
Comment (""); [COLOR="gray"]//-- padam comment bila remove EA daripada chart[/COLOR]
[COLOR="gray"]//-- kalau tak letak, text comment akan kekal selepas anda remove EA[/COLOR]
return(0);
}
int start ()
{
string textComment = NamaSaya(); [COLOR="gray"]//-- declare type dan letak value dengan cara panggil custom function NamaSaya()[/COLOR]
Comment (textComment); [COLOR="gray"]//-- display comment pada chart (belah kiri atas)[/COLOR]
return(0);
}
[COLOR="Gray"]//-- My custom function[/COLOR]
string NamaSaya ()
{
string myName = "Nama Saya Aiman."; [COLOR="gray"]//-- declare type dan letak value kepada variable 'myName'[/COLOR]
return (myName); [COLOR="gray"]//-- return type mesti string, myName merupakan string variable[/COLOR]
}
Untuk mempelajari syntax MQL, pada saya tempat terbaik ada pada metaeditor itu sendiri.
open navigator atau press ctrl+D di dalam metaeditor, di bawah navigator terdapat 3 tab (files, dictionary dan search)
Semua syntax mql beserta contoh format dah ada di dictionary