TerminalClose

Fonksiyon, terminale işlemi tamamlama komutu verir.

bool  TerminalClose(
   int ret_code      // müşteri terminalinin kapanma kodu
   );

Parametreler

ret_code

[in]  Dönüş kodu, işlemin tamamlanmasıyla, müşteri terminalinin işlemiyle döndürülür.

Dönüş değeri

Başarılı sonuç için 'true' değerine, aksi durumda 'false' değerine dönüş yapar.

Not

TerminalClose() fonksiyonu terminali hemen durdurmaz, sadece terminale işlemi tamamlaması için komut verir.

TerminalClose() çağrısını yapan Uzman Danışman kodu, ani tamamlama için tüm gerekli ayarlamalara sahip olmalıdır (örneğin, tüm açık dosyalar normal şekilde kapatılmalıdır). Bu fonksiyonun çağrısının ardından return operatörü gelmelidir.

ret_code parametresi, terminal işleminin program sonlandırılma sebeplerini analiz etmek için, gerekli dönüş kodunun - sonlandırma komut iletisinden başlatıldığında - belirtilmesini sağlar.

Örnek:

//--- giriş parametreleri
input int  tiks_before=500; // sonlandırma anına kadar tik sayısı
input int  pips_to_go=15;   // pip bazında uzaklık
input int  seconds_st=50;   // Uzman Danışmana verilen saniyelerin sayısı
//--- globaller
datetime   launch_time;
int        tick_counter=0;
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   Print(__FUNCTION__," sebep kodu = ",reason);
   Comment("");
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   static double first_bid=0.0;
   MqlTick       tick;
   double        distance;
//---
   SymbolInfoTick(_Symbol,tick);
   tick_counter++;
   if(first_bid==0.0)
     {
      launch_time=tick.time;
      first_bid=tick.bid;
      Print("first_bid =",first_bid);
      return;
     }
//--- pip bazında fiyat mesafesi
   distance=(tick.bid-first_bid)/_Point;
//--- UD işlemini takip etmek için bir bildirim göster
   string comm="Başlangıç anından:\r\n\x25CF geçen saniye: "+
               IntegerToString(tick.time-launch_time)+" ;"+
               "\r\n\x25CF tikler alındı: "+(string)tick_counter+" ;"+
               "\r\n\x25CF fiyatı şu kadar nokta gitti: "+StringFormat("%G",distance);
   Comment(comm);
//--- terminalin kapanma koşulunun kontrol edildiği bölüm
   if(tick_counter>=tiks_before)
      TerminalClose(0);    // tik sayacıyla çıkış
   if(distance>pips_to_go)
      TerminalClose(1);    // pips_to_go pip sayısı kadar yukarı çık
   if(distance<-pips_to_go)
      TerminalClose(-1);   // pips_to_go pip sayısı kadar aşağı in
   if(tick.time-launch_time>seconds_st)
      TerminalClose(100);  // zaman aşımı ile sonlandırma
//---
  }

Ayrıca Bakınız

Program çalıştırma, Çalıştırma hataları, Sonlandırma sebepleri