"double" is not a function, with this keyword you define variable with "double" datatype.
"double variable1=0;" means "Create numeric variable named variable1 and assign value 0 to it"
In this examlpe: http://fxdreema.com/shared/Whla30wSd you are using CurrentGV as GlobalVariable name, so it should be string (text), not double (numeric)
Yes, if CurrentGV is a string (text) variable, it's ok to be
GlobalVariableCheck(CurrentGV)
All the examples below does the same thing:
GlobalVariableCheck("CurrentGV");
string CurrentGV="CurrentGV";
GlobalVariableCheck(CurrentGV);
string SomethingElse="CurrentGV";
GlobalVariableCheck(SomethingElse);
By the way here in this forum there are two buttons named MQL4 and MQL5. They produce better view of the source code 

