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