GlobalVariableTemp

Bu fonksiyon, geçici bir global değişken oluşturmayı dener. Eğer değişken mevcut değilse, sistem tarafından yeni bir geçici global değişken oluşturulur.

bool  GlobalVariableTemp(
   string  name      // Global değişkenin ismi
   );

Parametreler

name

[in]  Geçici global değişkenin ismi.

Dönüş değeri

Başarı durumunda fonksiyon 'true' değerine, aksi durumda 'false' değerine dönüş yapacaktır. Hata ile ilgili bilgi almak için, GetLastError() fonksiyonunu çağırın.

Not

Geçici global değişkenler, sadece müşteri terminali çalışırken mevcutturlar; terminal kapatıldığında otomatik olarak silinirler. GlobalVariablesFlush() fonksiyonunun çalıştırılması sırasında geçici global değişkenlerin diske yazılmayacağını not edin.

Bir geçici global değişken oluşturulduktan sonra, tıpkı normal bir müşteri terminali global değişkeni gibi erişilebilir ve değiştirilebilir.

 

Örnek:

#property copyright "Copyright 2025, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
 
#define   GV_NAME    "TestGlobalVariableTemp"
 
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   double value=0;   // global değişkenin değerlerini buraya alacağız
   
//--- eğer müşteri terminalinin geçici global değişkeni yoksa, aşağıdaki durumlar söz konusudur:
//--- 1. program henüz başlatılmamıştır,
//--- 2. veya program çalışırken terminal yeniden başlatılmıştır
   if(!GlobalVariableCheck(GV_NAME))
     {
      //--- müşteri terminali için yeni bir geçici global değişken oluştur
      if(!GlobalVariableTemp(GV_NAME))
        {
         Print("GlobalVariableTemp() failed. Error "GetLastError());
         return;
        }
      //--- mevcut tarih ve saati global değişkene ayarla
      if(!GlobalVariableSet(GV_NAME,(double)TimeCurrent()))
        {
         Print("GlobalVariableSet() failed. Error "GetLastError());
         return;
        }
 
      //--- geçici global değişkenin değerini al ve programın ilk başlatıldığı veya terminalin yeniden başlatıldığı zamanı günlükte görüntüle
      if(!GlobalVariableGet(GV_NAME,value))
        {
         Print("GlobalVariableGet() failed. Error "GetLastError());
         return;
        }
      Print("First start or starting the program after rebooting the terminal at "TimeToString((datetime)value,TIME_DATE|TIME_MINUTES|TIME_SECONDS));
     }
   
//--- müşteri terminalinin geçici global değişkeni zaten oluşturulmuşsa, bu programın yeniden başlatıldığı anlamına gelir
   else
     {
      //--- mevcut tarih ve saati global değişkene ayarla
      if(!GlobalVariableSet(GV_NAME,(double)TimeCurrent()))
        {
         Print("GlobalVariableSet() failed. Error "GetLastError());
         return;
        }
 
      //--- geçici global değişkenin değerini al ve programın yeniden başlama zamanını günlüğe yazdır
      if(!GlobalVariableGet(GV_NAME,value))
        {
         Print("GlobalVariableGet() failed. Error "GetLastError());
         return;
        }
      Print("Restarting the program at "TimeToString((datetime)valueTIME_DATE|TIME_MINUTES|TIME_SECONDS));
     }
 
   /*
   ilk başlatma sırasında veya terminal yeniden başlatıldıktan sonra sonuç:
   First start or starting the program after rebooting the terminal at 2024.11.29 15:03:18
   
   programın art arda birkaç kez yeniden başlatılmasının sonucu:
   Restarting the program at 2024.11.29 15:03:25
   Restarting the program at 2024.11.29 15:03:33
   Restarting the program at 2024.11.29 15:03:45
   */
  }