MQL4 könyv   Beépített függvények  Globális változók

A globális változók függvényei

Az ügyfélterminál globális változóival kapcsolatban már sok függvény működését leírtuk a  Globális változók részben. Itt megemlítettük azt is, hogy egy helyesen tervezett programnak törölnie kellett a globális változóit, amikor befejezi a működését. A GV-knek nem kell megmaradniuk az ügyfélterminálban a program bezárása után.

Az olyan programok hibakeresése során, amik használják az ügyfélterminál globális változóit néhány GV a terminálban maradhat. Ebben az esetben a tesztelendő program következő indítása előtt a programozónak kézzel kell törölnie a GV-ket. Ha automatizálni akarjuk ezt az eljárást, létre kell hozni egy olyan scriptet, ami törli az ügyfélterminál minden globális változóját.

GlobalVariablesDeleteAll() függvény

 int GlobalVariablesDeleteAll(string prefix_name=NULL)

Törli a globális változókat. Ha prefixumot nem adtunk meg paraméterként, akkor minden elérhető globális változót törölni fog. Egyébként csak azokat a GV-ket fogja törölni melyeknek a neve a megadott prefixummal kezdődi. A függvény visszaküldi a törölt változók számát.

Paraméterek:

prefix_name - a törlendő globális változók neveinek prefixuma.

Lent egy példa, az egyszerű deleteall.mq4 script, ami törli az ügyfélterminál minden globális változóját.
//--------------------------------------------------------------------
// deleteall.mq4
// The program is intended to be used as an example in MQL4 Tutorial.
//--------------------------------------------------------------------
int start() // Special start() function
 {
 GlobalVariablesDeleteAll(); // Deleting of all GVs
 PlaySound("W2.wav"); // Sound
 return; // Exit
 }
//--------------------------------------------------------------------

A scriptet csak akkor indíthatjuk el, ha olyan programok, amik GV-t használnak, nem futnak az ügyfélterminálban. Különben a script futtatása felboríthatja a többi futó program logikáját és ez ellenőrizetlen folyamatokhoz vezethet. A script végrehajtása után a globális változók ablaka (F3) az ügyfélterminálban üres lesz:


153. ábra. Az ügyfélterminálban levő Global Variables ablak a  deleteall.mq4 script végrehajtása után.

Függvények a GV-k használatához

Függvény Összefoglaló információ
GlobalVariableCheck Visszaküldi a TRUE-t, ha a GV elérhető. Ha nem akkor FALSE-t küld vissza.
GlobalVariableDel Töröl egy globális változót. Visszaküldi a TRUE-t, ha a változót sikeresen törölte. Különben FALSE-t küld vissza.
GlobalVariableGet Visszaküldi egy globális változó értékét, vagy 0-t küld vissza, ha hiba történt.
GlobalVariableName A függvény az indexe alapján visszaküldi egy globális változó nevét a globális változók listájából.
GlobalVariableSet Beállít egy új értéket egy globális változóra. A rendszer létre fog hozni egy új változót, ha a változó még nem létezik. Az utolsó hozzáférés idejét fogja visszaküldeni, ha a függvény végrehajtása sikerült. Különben 0-t küld vissza.
GlobalVariableSetOnCondition Beállít egy új értéket a létező globális változóra, ha annak a jelenlegi értéke egyenlő a check_value  (harmadik) paraméter értékével. A függvény létre fogja hozni az ERR_GLOBAL_VARIABLE_NOT_FOUND (4058) hibakódot és vissza fogja küldeni a FALSE-t ha változó nem létezik. Visszaküldi TRUE-T, ha a függvény sikeresen futott. Különben visszaküldi a FALSE-t.
GlobalVariablesDeleteAll Törli a globális változókat. Ha prefixumot nem adtunk meg paraméterként, akkor minden létező globális változót törölni fog. Egyébként csak azokat a GV-ket fogja törölni melyeknek a neve a megadott prefixummal kezdődi. A függvény visszaküldi a törölt változók számát.
GlobalVariablesTotal A függvény a globális változók teljes számát küldi vissza.