ExpertRemove

Fonksiyon bir Uzman Danışmanı durdurur veya çizelgeden kaldırır.

void  ExpertRemove();

Dönüş değeri

Dönüş değeri yok.

Not

Uzman Danışman, ExpertRemove() fonksiyonunun çağrılmasıyla hemen durmaz; Sadece Uzman Danışmanı durdurmak için bir bayrak ayarlanır. Bu daha sonraki işlemlerin uygulanmayacağı anlamına gelir, OnDeinit() çağrılacaktır ardından Uzman Danışman çizelgeden kaldırılacaktır.

Strateji sınayıcısında OnInit() yöneticisi içerisinde ExpertRemove() fonksiyonunu çağırmak, mevcut parametre kümesi üzerindeki sınama işlemini iptal eder. Böyle bir tamamlama, bir başlatma hatası olarak kabul edilir.

Bir uzman danışmanın başarılı başlatımı sonrası strateji sınayıcısında ExpertRemove() fonksiyonu çağrıldığında, bu süren test, OnDeinit() ve OnTester() fonksiyonlarının çağrılması ile normal bir şekilde sonlanır. Bu durumda, tüm alım-satım istatistikleri ve bir optimizasyon kriteri değeri elde edilir.

Örnek:

//+------------------------------------------------------------------+
//|                                            Test_ExpertRemove.mq5 |
//|                        Copyright 2009, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "2009, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
input int ticks_to_close=20;// UD yüklenmeden önceki tik sayısı
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//--- 
   Print(TimeCurrent(),": " ,__FUNCTION__," sebep kodu = ",reason);
//--- "temizle" yorumu
   Comment("");
//---
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   static int tick_counter=0;
//---
   tick_counter++;
   Comment("\nUzman danışman kaldırılmadan önce ",__FILE__," kalmış",
           (ticks_to_close-tick_counter)," ticks");
//--- önce
   if(tick_counter>=ticks_to_close)
     {
      ExpertRemove();
      Print(TimeCurrent(),": ",__FUNCTION__," uzman danışman kaldırılacak");
     }
   Print("tick_counter =",tick_counter);
//---
  }
//+------------------------------------------------------------------+

Ayrıca Bakınız

Programların çalıştırılması, Müşteri terminali olayları