Program Özellikleri (#property)

Her MQL5 programı #property olarak isimlendirilen özel ek parametreler belirlemeye olanak sağlar. Bu parametreler, onları açıkça çalıştırma gereksinimi duymayan programlar için terminale yardım ederler. Bu, her şeyden önce göstergelerin dışsal ayarları ile ilgilidir. Dahil edilen dosyalarda tarif edilmiş olan özellikler gözardı edilir. Özellikler ana MQL5 dosyasında belirtilmiş olmalıdır.

#property tanımlayıcı değer

Derleyici bildirilen değerleri çalıştırılan modül düzenlenirken yazacaktır.

Sabit

Tip

Açıklama

ikon

string

EX5 programının ikonu olarak kullanılacak görüntü dosyasının adresi. Dosya adresi belirleme kuralları kaynaklarda olduğu gibidir. Özellik, MQL5 kaynak kodunun ana modülünde belirtilmelidir. İkon dosyası ICOformatında olmalıdır.

link

string

Firmanın internet sayfasının linki

copyright

string

Firma adı

versiyon

string

Program versiyonu (en fazla 31 karakter)

açıklama

string

Bir MQL5 programının kısa açıklaması. Birkaç açıklama yazılabilir. Her biri, metnin bir satırını oluşturur. Açıklamanın toplam uzunluğu -satır atlama operatörü de dahil olmak üzere- 511 karakteri geçemez.

stacksize

int

MQL5 program yığınının boyutu. Tekrar eden fonksiyon çağrıları kullanırken uygun boyutta bir yığın gerekir.

Çizelge üzerinde bir Uzman veya bir betik dosyası çalıştırılırken, en az 8 MB 'lık yığın alanı tahsis edilir. Göstergeler için kullanılan yığının boyutu 1 MB ile sabittir.

Strateji sınayıcı içinde çalıştırılan programlar için her zaman 16 MB yığın alanı tahsis edilir.

kütüphane

 

Kütüphane anlamına gelir. Start (başlat) fonksiyonu bir giriş noktası (olay işleyicisi) yoktur. dışa aktarım şekillendiricisi ile fonksiyonların diğer MQL5 programlarından içe aktarımı yapılabilir

indicator_applied_price

int

"Uygula" alanı (gösterge özellikleri penceresi) için varsayılan değeri belirtir. ENUM_APPLIED_PRICE değerlerinden birini kullanabilirsiniz. Eğer özellik belirtilmemişse varsayılan değer PRICE_CLOSE olur

indicator_chart_window

 

Göstergeyi çizelge penceresinde göster

indicator_separate_window

 

Göstergeyi ayrı bir pencerede göster

indicator_height

int

Gösterge alt penceresinin sabit büyüklüğü - piksel olarak (INDICATOR_HEIGHT özelliği)

indicator_buffers

int

Gösterge hesabı için kullanılacak tamponların sayısı

indicator_plots

int

Göstergedeki grafik serilerinin

indicator_minimum

double

Ayrı gösterge penceresi için ölçekleme taban limiti

indicator_maximum

double

Ayrı gösterge penceresi için ölçekleme tavan limiti

indicator_labelN

string

Veri Penceresinde görünen N-inci grafik serisi için etiket ayarlar. Birden çok gösterge tamponu gerektiren grafik serileri için (DRAW_CANDLES, DRAW_FILLING ve diğerleri) etiket isimleri ';' ayracı ile tanımlanır.

indicator_colorN

color

N çizgisinin görüntüleneceği renk. N burada grafik serisinin numarasıdır. Numaralama 1'den başlar

indicator_widthN

int

Grafik serisi için çizgi kalınlığı. N burada grafik serisinin numarasıdır. Numaralama 1'den başlar

indicator_styleN

int

Grafik serisi için ENUM_LINE_STYLE değerleriyle belirlenen çizim stili. N - grafik serisinin numarası, numaralama 1'den başlar

indicator_typeN

int

Grafiksel çizim tipi, ENUM_DRAW_TYPE sayımının değerleriyle belirlenir. N - grafik serisinin numarası, numaralama 1'den başlar

indicator_levelN

double

N'nin, ayrı gösterge penceresindeki yatay seviyesi

indicator_levelcolor

color

Göstergenin yatay seviyelerinin rengi

indicator_levelwidth

int

Göstergenin yatay seviyelerinin kalınlığı

indicator_levelstyle

int

Göstergenin yatay seviyelerinin çizim stili

script_show_confirm

 

Betiği çalıştırmadan önce, bir doğrulama penceresi göster

script_show_inputs

 

Betiği çalıştırmadan önce, özelliklerin olduğu bir pencere göster ve bu doğrulama penceresini işlevsiz hale getir

tester_indicator

string

"indicator_name.ex5" şeklinde verilen gösterge ismi. Eğer karşılık gelen parametre bir dizgi sabiti ile ayarlanmışsa, sınama gerektiren göstergeler, iCustom() fonksiyonunun çağrısından otomatik olarak tanımlanır. Diğer tüm durumlarda (IndicatorCreate() fonksiyonunun kullanımı veya sabit olmayan bir dizginin, fonksiyon ismini belirleyen parametrede kullanımı durumlarında) bu özellik gereklidir

tester_file

string

Sınama aracı için, uzantısı belirtilmiş şekilde, çift tırnak içinde (bir sabit dizgi olarak) dosya adı. Belirtilen dosya sınayıcıya aktarılır. Test edilecek girdi dosyaları - gerekli olanlar her zaman belirtilmelidir.

tester_library

string

Çift tırnak içinde, uzantılı olarak kütüphane adı. Bir kütüphane dll veya ex5 uzantılarına sahip olabilir. sınama gerektiren kütüphaneler otomatik olarak tanımlanır. Ama, kütüphanelerden herhangi biri özel göstergeler içinde kullanılırsa, bu özelik gereklidir

tester_set

string

Set dosyasının adı ile input parametresinin değeri ve adımı. Dosya test ve optimizasyondan önce tester'a gönderilir. Dosya adı bir uzantı ve bir çift teklif ile sabit string olarak belirtilmiştir.

 

Eğer EA ismini ve versiyon numarasını bir set dosyası içinde "<expert_name>_<number>.set" olarak ayarlarsanız, ardından <number> sürüm numarası altında otomatik olarak parametre sürümleri download menüsüne eklenir. Örneğin, "MACD Sample_4.set" adı, "MACD Sample.mq5" EA ile versiyon numarası 4'e eşit olan bir set dosyası anlamına gelir.

 

Format çalışmak için, test/optimizasyon ayarlarını elle strateji tester'a kaydetmenizi ve ardından bu şekilde oluşturulan set dosyasını açmanızı öneririz.

tester_no_cache

string

Optimizasyon uygulanırken, strateji sınayıcısı gerçekleşmiş olan tüm geçişlerin sonuçlarını optimizasyon önbelleğine kaydeder ve test sonucu da her bir girdi parametreleri kümesi için kaydedilir. Bu durum, yeniden hesaplama ile vakit kaybetmeden, hazır olan sonuçların aynı parametreler üzerindeki yeniden optimizasyon sırasında kullanılmasına olanak tanır.

 

Ancak bazı görevlerde (örneğin, matematik hesaplamalarında), hesaplamaların optimizasyon önbelleğindeki hazır sonuçların kullanılabilirliğinden bağımsız olarak yapılması gerekebilir. Bu durumda, dosya tester_no_cache özelliğini içermelidir. Test sonuçları yine de önbellekte saklanır, böylece strateji sınayıcısında gerçekleştirilen geçişler hakkındaki tüm verileri görebilirsiniz.

tester_everytick_calculate

string

Strateji Sınayıcısında göstergeler sadece verilerine erişildiğinde, yani gösterge tamponlarının değerleri talep edildiğinde hesaplanır. Her tik üzerinde gösterge değerleri elde etmeniz gerekmiyorsa, bu, çok daha hızlı bir test ve optimizasyon hızı sağlar.

 

tester_everytick_calculate özelliğini belirterek, her bir tik üzerinde göstergenin zorla hesaplanmasını sağlayabilirsiniz.

 

Aşağıdaki durumlarda da Strateji Sınayıcısındaki göstergeler her bir tik üzerinde zorla hesaplanır:

 

Bu özellik sadece Strateji Sınayıcısında geçerlidir; terminal de ise göstergeler her zaman, alınan her bir tik üzerinde hesaplanır.

optimization_chart_mode

string

Grafik türünü ve optimizasyon sonuçlarının görselleştirilmesi için kullanılacak iki girdi parametresinin adını belirtir. Örneğin, "3d, InpX, InpY"; sonuçların, test edilen InpX ve InpY parametre değerlerini temel alan koordinat eksenlerine sahip bir 3D grafikte gösterileceği anlamına gelir. Böylece, bu özelliği kullanarak, optimizasyon grafiğini ve grafik türünü program kodunda görüntülemek için kullanılacak parametreleri doğrudan belirleyebilirsiniz.

Olası seçenekler:

  • "3d, input_parameter_name1, input_parameter_name2"; döndürülebilen, yakınlaştırılabilen ve uzaklaştırılabilen bir 3D görselleştirme grafiği anlamına gelir. Grafik iki parametre kullanılarak oluşturulur.
  • "2d, input_parameter_name1, input_parameter_name2", sonuçlara bağlı olarak her bir hücrenin belirli bir renkte boyandığı bir 2D ızgara grafik anlamına gelir. Grafik iki parametre kullanılarak oluşturulur.
  • "1d, input_parameter_name1, input_parameter_name2", sonuçların belirtilen parametreye göre sıralandığı doğrusal bir grafik anlamına gelir. Her geçiş bir nokta olarak gösterilir. Grafik tek parametreye dayanılarak oluşturulur.
  • "0d, input_parameter_name1, input_parameter_name2", sonuçların geçiş sonucunun varış zamanına göre sıralandığı normal bir grafik anlamına gelir. Her geçiş grafikte bir nokta olarak gösterilir. Parametre belirtilmesi gerekli değildir, ancak belirtilen parametreler diğer grafik türlerine manuel geçiş için kullanılabilir.

İsteğe bağlı olarak, bir veya iki giriş parametresi belirtmeden yalnızca grafik türünü belirtebilirsiniz. Bu durumda; terminal, optimizasyon grafiğini göstermek için gerekli parametreleri seçecektir.

Açıklama ve Versiyon Numarası için Örnek

#property version     "3.70"      // Uzman Danışmanın mevcut versiyonu
#property description "Pesavento Motifleriyle Evrensel ZigZag"
#property description "Şu anda göstergede farklı algoritmalarla birkaç zigzag içerilmektedir"
#property description "Yüksek ve düşük değerleri gösteren ve bunlardan otomatik olarak çeşitli grafiksel"
#property description "araçlar inşa eden çok sayıda başka göstergenin de, buna eklenmesi mümkündür"

Açıklamanın ve versiyonun program başlangıcında gösterilmesinin örneği

 

Her bir Gösterge Tamponu için Ayrı bir Etiket Belirleme Örneği ( "C open; C high; C low; C close")

#property indicator_chart_window
#property indicator_buffers 4
#property indicator_plots   1
#property indicator_type1   DRAW_CANDLES
#property indicator_width1  3
#property indicator_label1  "C open;C high;C low;C close"

Her gösterge tamponu için bir etiket görüntüleme örneği