Optimizasyon Sonuçları ile Çalışma

Strateji sınayıcıdaki optimizasyon sonuçlarının işlenmesi için düzenleme fonksiyonları. Bu fonksiyonlar, Uzman Danışmanlardan ve betiklerden, sınama temsilcilerindeki optimizasyon sırasında çağrılabilir.

Strateji sınayıcıda bir Uzman Danışmanı çalıştırırken, basit tipleri veya basit yapıları kullanarak kendi veri dizinizi oluşturabilirsiniz (bu dizi, dizgileri, sınıf nesnelerini veya dinamik dizi nesnelerini içeremez). Bu veri seti, FrameAdd() fonksiyonu kullanılarak çerçeve (frame) şeklinde adlandırılan özel bir yapıya kaydedilebilir. Bir uzman Danışmanın optimizasyonu sırasında her bir sınama temsilcisi, terminale çerçevelerden oluşan bir seri gönderebilir. Tüm çerçeveler alındıkları sıraya göre, Uzman Danışmanın adına, terminal_dizini/MQL5/Files/Tester dizininde *.MQD dosyasına yazılırla. Bunlar, sınama temsilcilerinden alındıkları sıraya göre yazılırlar. Terminalde sınama temsilcisinden alınan bir çerçeve, TesterPass olayını oluşturur.

Çerçeveler, belirtilen isimdeki bir dosyada ve bilgisayar belleğinde saklanabilirler. MQL5 dilinde çerçevelerin sayısıyla ilgili herhangi bir kısıtlama bulunmamaktadır.

MQL5 Bulut Ağında bellek ve disk alanı sınırları

MQL5 Bulut Ağında yürütülen optimizasyonlar için şu sınırlama mevcuttur: Uzman Danışman, diske 4 GB'tan fazla bilgi yazmamalı veya 4 GB'tan fazla RAM kullanmamalıdır. Sınır aşılırsa ağ temsilcisi hesaplamayı doğru bir şekilde tamamlayamaz ve dolayısıyla sonucu alamazsınız. Ancak yine de hesaplamalara harcanan tüm süre için ücretlendirilirsiniz.

Her optimizasyon geçişinden bilgi almanız gerekiyorsa, çerçeveleri diske yazmadan gönderin. MQL5 Bulut Ağında hesaplamalar sırasında Uzman Danışmandaki dosya işlemlerini kullanmaktan kaçınmak için aşağıdaki kontrolü kullanabilirsiniz:

   int handle=INVALID_HANDLE;
   bool file_operations_allowed=true;
   if(MQLInfoInteger(MQL_OPTIMIZATION) || MQLInfoInteger(MQL_FORWARD))
      file_operations_allowed=false;
 
   if(file_operations_allowed)
     {
      ...
      handle=FileOpen(...);
      ...
     }

 

Fonksiyon

Eylem

FrameFirst

Çerçevenin okuma işaretçisini başlangıca taşır ve önceden ayarlanmış olan filtreyi siler

FrameFilter

Çerçeve okuma filtresini ayarlar ve işaretçiyi başlangıca taşır

FrameNext

Bir çerçeveyi okur ve işaretçiyi bir sonrakine taşır

FrameInputs

Çerçevenin şekillendirildiği giriş parametresini alır

FrameAdd

Verilerle birlikte bir çerçeve ekler

ParameterGetRange

Bir Uzman Danışmanın sınayıcıdaki optimizasyonu sırasında girdi değişkeni için, veri aralığı ve değişim birimi hakkında bilgi alır

ParameterSetRange

Bir Uzman Danışmanın sınayıcıdaki optimizasyonu sırasında girdi değişkeninin kullanımını belirler: değer,değişim birimi (adım değeri), başlangıç değeri ve son değer

Ayrıca Bakınız

Sınama İstatistikleri, Çalışan bir MQL5 Programının özellikleri