Müşteri Terminali Özellikleri

Müşteri terminali hakkında bilgi almak için iki fonksiyon bulunmaktadır: TerminalInfoInteger() ve TerminalInfoString(). Fonksiyon parametreleri sırasıyla ENUM_TERMINAL_INFO_INTEGER ve ENUM_TERMINAL_INFO_STRING sayımlarının değerlerini alır.

ENUM_TERMINAL_INFO_INTEGER

Tanımlayıcı

Açıklama

Tip

TERMINAL_BUILD

Müşteri terminalinin kurulum numarası

int

TERMINAL_COMMUNITY_ACCOUNT

Bayrak, terminalde MQL5.community yetkilendirme verisinin bulunduğunu belirtir.

bool

TERMINAL_COMMUNITY_CONNECTION

MQL5.community'e bağlanma

bool

TERMINAL_CONNECTED

Bir alım-satım sunucusuna yapılan bağlantı

bool

TERMINAL_DLLS_ALLOWED

DLL kullanım izni

bool

TERMINAL_TRADE_ALLOWED

Alım-satım yapma izni

bool

TERMINAL_EMAIL_ENABLED

SMTP sunucusu ve terminal ayarlarında belirtilmiş giriş bilgisini (login) kullanılarak, e-mail gönderme izni

bool

TERMINAL_FTP_ENABLED

FTP sunucusu ve terminal ayarlarında belirtilmiş giriş bilgisini (login) kullanılarak, rapor gönderme izni

bool

TERMINAL_NOTIFICATIONS_ENABLED

Akıllı telefona bildirim gönderme izni

bool

TERMINAL_MAXBARS

Çizelge üzerindeki maksimum çubuk sayısı

int

TERMINAL_MQID

Bayrak Push bildirimlerini göndermek için MetaQuotes ID verilerinin varlığını gösterir.

bool

TERMINAL_CODEPAGE

Müşteri terminalinde yüklü olan dilin kod sayfasının numarası

int

TERMINAL_CPU_CORES

Sistemdeki CPU (işlemci) çekirdeklerinin sayısı

int

TERMINAL_DISK_SPACE

Terminal biriminin MQL5\Files klasörü için kullanılabilecek serbest disk alanı, MB

int

TERMINAL_MEMORY_PHYSICAL

Sistemdeki mevcut fiziksel bellek, MB

int

TERMINAL_MEMORY_TOTAL

Terminal birimi işlemleri için kullanılabilir bellek büyüklüğü, MB

int

TERMINAL_MEMORY_AVAILABLE

Terminal birimi işlemlerindeki serbest bellek, MB

int

TERMINAL_MEMORY_USED

Temsilci tarafından kullanılan bellek miktarı, MB

int

TERMINAL_X64

"64-bitlik terminal" gösterimi

bool

TERMINAL_OPENCL_SUPPORT

Desteklenen OpenCL versiyonu, 0x00010002 = 1.2. biçiminde verilir "0" sayısı OpenCL'in desteklenmediği anlamına gelir

int

TERMINAL_SCREEN_DPI

Ekran görüntüleme çözünürlüğü, ekran üzerindeki bir inçlik çizgideki noktaların sayısıyla (Dots Per Inch – DPI) ölçülür.

Bu parametrenin değerini bilirseniz, grafiksel nesnelerin boyutlarını farklı çözünürlük özelliklerine sahip ekranlarda aynı görüntülenecek şekilde ayarlayabilirsiniz.

int

TERMINAL_SCREEN_LEFT

Sanal ekranın sol koordinatı. Sanal ekran tüm monitörleri kaplayan bir diktörtgendir. Eğer sistem sağdan sola dizili iki monitöre sahipse, o zaman sanal ekranın sol koordinatı iki monitörün sınırında bulunabilir.

int

TERMINAL_SCREEN_TOP

Sanal ekranın üst koordinatı

int

TERMINAL_SCREEN_WIDTH

Terminal genişlik

int

TERMINAL_SCREEN_HEIGHT

Terminal yükseklik

int

TERMINAL_LEFT

Sanal ekrana göre terminalin sol koordinatı

int

TERMINAL_TOP

Sanal ekrana göre terminalin üst koordinatı

int

TERMINAL_RIGHT

Sanal ekrana göre terminalin sağ koordinatı

int

TERMINAL_BOTTOM

Sanal ekrana göre terminalin alt koordinatı

int

TERMINAL_PING_LAST

Alım-satım sunucusuna gönderilen son ping sinyalinin mikrosaniye cinsinden değeri. Bir saniye, bir milyon mikrosaniyeden oluşur

int

TERMINAL_VPS

Terminalin MetaTrader Sanal Hosting sunucusunda (MetaTrader VPS) başlatıldığını gösterir.

bool

Anahtar Tanıtıcısı

Açıklama

 

TERMINAL_KEYSTATE_LEFT

"Sol ok" tuşunun durumu

int

TERMINAL_KEYSTATE_UP

"Yukarı ok" tuşunun durumu

int

TERMINAL_KEYSTATE_RIGHT

"Sağ ok" tuşunun durumu

int

TERMINAL_KEYSTATE_DOWN

"Aşağı ok" tuşunun durumu

int

TERMINAL_KEYSTATE_SHIFT

"Shift" tuşunun durumu

int

TERMINAL_KEYSTATE_CONTROL

"Ctrl" tuşunun durumu

int

TERMINAL_KEYSTATE_MENU

"Windows" tuşunun durumu

int

TERMINAL_KEYSTATE_CAPSLOCK

"CapsLock" tuşunun durumu

int

TERMINAL_KEYSTATE_NUMLOCK

"NumLock" tuşunun durumu

int

TERMINAL_KEYSTATE_SCRLOCK

"ScrollLock" tuşunun durumu

int

TERMINAL_KEYSTATE_ENTER

"Enter" tuşunun durumu

int

TERMINAL_KEYSTATE_INSERT

"Insert" tuşunun durumu

int

TERMINAL_KEYSTATE_DELETE

"Delete" tuşunun durumu

int

TERMINAL_KEYSTATE_HOME

"Home" tuşunun durumu

int

TERMINAL_KEYSTATE_END

"End" tuşunun durumu

int

TERMINAL_KEYSTATE_TAB

"Tab" tuşunun durumu

int

TERMINAL_KEYSTATE_PAGEUP

"PageUp" tuşunun durumu

int

TERMINAL_KEYSTATE_PAGEDOWN

"PageDown" tuşunun durumu

int

TERMINAL_KEYSTATE_ESCAPE

"Escape" tuşunun durumu

int

TerminalInfoInteger(TERMINAL_KEYSTATE_XXX) çağrısı MSDN'deki GetKeyState() fonksiyonuyla aynı durum koduna dönüş yapar.

 

Örnek – ölçekleme faktörünün hesaplanması:

//--- Ekranda 1.5 inç genişliğinde bir düğme oluşturma
int screen_dpi = TerminalInfoInteger(TERMINAL_SCREEN_DPI); // Kullanıcı monitörünün DPI değerini bul
int base_width = 144;                                      // DPI=96 değerine sahip standart mцnitцrler iзin –nokta bazında– temel genişlik
int width      = (button_width * screen_dpi) / 96;         // Kullanıcı monitörü (özel DPI değeri) için düğme genişliğini hesapla
... 
 
//--- Ölçekleme faktörünün yüzdelik olarak hesaplanması
int scale_factor=(TerminalInfoInteger(TERMINAL_SCREEN_DPI) * 100) / 96;
//--- Ölçekleme faktörünün yüzdelik olarak hesaplanması
width=(base_width * scale_factor) / 100;

Yukarıdaki örnekteki grafiksel kaynak farklı özelliklere sahip monitörlerde aynı görünecektir. Kontrol bileşenlerinin (düğmeler, dialog pencereleri, vb.) boyutları kişiselleştirme ayarlarına karşılık gelir.

 

ENUM_TERMINAL_INFO_DOUBLE

Tanımlayıcı

Açıklama

Tip

TERMINAL_COMMUNITY_BALANCE

MQL5.community'deki bakiye

double

TERMINAL_RETRANSMISSION

Verilen bilgisayarda çalışan tüm uygulamalar ve hizmetler için TCP/IP protokolündeki yeniden gönderilen ağ paketlerinin yüzdesi. Paket kaybı en hızlı ve doğru yapılandırılmış ağlarda bile gerçekleşir. Bu durumda, alıcı ile gönderen arasında paket iletiminin onaylanması yoktur, bu nedenle kaybedilen paketler yeniden gönderilir.

 

Yüzde, sistem ve arka plan etkinliği dahil olmak üzere tüm ağ etkinliği için hesaplandığı için, belirli bir terminal ile bir trade sunucusu arasındaki bağlantı kalitesinin bir göstergesi değildir.

 

TERMINAL_RETRANSMISSION değeri, işletim sisteminden dakikada bir kez istenir. Terminalin kendisi bu değeri hesaplamaz.

double

 

Dosya işlemleri sadece iki dosya konumu içinde gerçekleştirilebilir; karşılık gelen dosya adresleri, TERMINAL_DATA_PATH ve TERMINAL_COMMONDATA_PATH özelikleri için istekler kullanılarak elde edilebilir.

ENUM_TERMINAL_INFO_STRING

Tanımlayıcı

Açıklama

Tip

TERMINAL_LANGUAGE

Terminal dili

string

TERMINAL_COMPANY

Firma ismi

string

TERMINAL_NAME

Terminal ismi

string

TERMINAL_PATH

Terminalin başlatıldığı klasör

string

TERMINAL_DATA_PATH

Terminal verisinin saklandığı klasör

string

TERMINAL_COMMONDATA_PATH

Bilgisayara yüklenen tüm terminaller için çoğunlukla kullanılan dosya adresi

string

TERMINAL_CPU_NAME

CPU adı

string

TERMINAL_CPU_ARCHITECTURE

CPU mimarisi

string

TERMINAL_OS_VERSION

Kullanıcının işletim sistemi adı

string

TERMINAL_COLORTHEME_NAME

Terminal renk şeması; olası değerler: Light ve Dark.

string

TERMINAL_PATH, TERMINAL_DATA_PATH ve TERMINAL_COMMONDATA_PATH parametrelerinin özelliklerinde saklanan dosya yollarını daha iyi anlayabilmek için, bilgisayarınızda yüklü olan mevcut müşteri terminali kopyası için bu değerlere dönüş yapan bir betiği çalıştırmanız önerilir.

Örnek: Müşteri terminalinin dosya adresleri hakkında bilgi veren script

//+------------------------------------------------------------------+
//|                                          Check_TerminalPaths.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"
//+------------------------------------------------------------------+
//| Script programı başlatma fonksiyonu                              |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   Print("TERMINAL_PATH = ",TerminalInfoString(TERMINAL_PATH));
   Print("TERMINAL_DATA_PATH = ",TerminalInfoString(TERMINAL_DATA_PATH));
   Print("TERMINAL_COMMONDATA_PATH = ",TerminalInfoString(TERMINAL_COMMONDATA_PATH));
  }

Betiğin çalıştırılmasının sonucu olarak, Uzmanlar Günlüğünde şuna benzer bir mesaj göreceksiniz:

Kullanılmakta olan bir terminal klasöründen veri alımı

 

Terminal renk şeması bilgilerini alma #

Terminal iki renk şemasını destekler: açık (varsayılan) ve koyu. Grafiksel kullanıcı arayüzüne sahip uygulamalar geliştirirken, programcılar mevcut terminal renk şemasını dikkate almalıdır. Uygulamada kullanılan görsel bileşenler, kullanıcı deneyimini iyileştirmek ve görsel tutarlılığı korumak için dinamik olarak uyarlanabilir olmalıdır.

Bu amaçla, terminal renk şemasını tespit etmek için dile fonksiyonlar eklenmiştir:

 

Tanımlayıcı

Açıklama

Özellik türü

THEME_COLOR_WINDOW

Pencere arka planı

color

THEME_COLOR_WINDOWTEXT

Penceredeki metin

color

THEME_COLOR_BTNTEXT

Düğme metni

color

THEME_COLOR_GRAYTEXT

Aktif olmayan (devre dışı) metin

color

THEME_COLOR_INFOTEXT

İpucu metni

color

THEME_COLOR_INFOBK

İpucu arka planı

color

THEME_COLOR_3DFACE

3D öğelerin ön yüzü

color

THEME_COLOR_3DLIGHT

3D öğelerin ışık tarafı

color

THEME_COLOR_3DSHADOW

3D öğelerin gölge tarafı

color

THEME_COLOR_3DDKSHADOW

3D öğelerin karanlık gölgesi

color

THEME_COLOR_3DHILIGHT

3D öğelerin vurgusu

color

THEME_COLOR_HIGHLIGHT

Seçilen öğelerin arka planı

color

THEME_COLOR_HIGHLIGHTTEXT

Seçilen öğelerin metni

color

THEME_COLOR_BTNFACE

Düğme ön yüzü

color

THEME_COLOR_BTNHILIGHT

Düğme vurgusu

color

THEME_COLOR_BTNSHADOW

Düğme gölgesi

color

THEME_COLOR_MENU

Menü arka planı

color

THEME_COLOR_MENUBAR

Menü çubuğu arka planı

color

THEME_COLOR_MENUTEXT

Menü metni

color

THEME_COLOR_MENUHILIGHT

Seçilen menü öğesinin vurgusu

color

THEME_COLOR_ACTIVECAPTION

Aktif pencere başlığı

color

THEME_COLOR_INACTIVECAPTION

Aktif olmayan pencere başlığı

color

THEME_COLOR_GRADIENTINACTIVECAPTION

Aktif olmayan pencere başlığının gradyanı

color

THEME_COLOR_CAPTIONTEXT

Pencere başlığı metni

color

THEME_COLOR_INACTIVECAPTIONTEXT

Aktif olmayan pencere başlığı metni

color

THEME_COLOR_HOTTEXT

Köprüler veya aktif öğeler

color

THEME_COLOR_NONE

Renk seçilmedi

color

THEME_COLOR_SEPARATOR

Ayırıcı

color

THEME_COLOR_SCROLLBACK

Kaydırma çubuğu

color

THEME_COLOR_LINE1

Günlükteki tek satırların arka plan rengi

color

THEME_COLOR_LINE2

Günlükteki çift satırların arka plan rengi

color

THEME_COLOR_GRID

Günlükteki ızgara rengi

color

THEME_COLOR_SUMMARY

Günlükteki özet satırının arka plan rengi

color

THEME_COLOR_ERROR

Hata mesajı metin rengi

color

THEME_COLOR_INVALID

Geçersiz değer metin rengi

color

THEME_COLOR_NEGATIVE

Negatif değer rengi

color

THEME_COLOR_POSITIVE

Pozitif değer rengi

color

THEME_COLOR_LINK

Link rengi

color

THEME_COLOR_LINKHOVER

Üzerine gelinen link rengi

color

THEME_COLOR_LINKTESTER

Önceki test/optimizasyon çalışmalarının önbelleğe alınmış sonuçlarından link rengi

color

THEME_COLOR_TEXTUP

"Düğme bırakıldı" durumu

color

THEME_COLOR_TEXTDOWN

"Düğmeye basıldı" durumu

color

THEME_COLOR_BACKUP

Fiyat arttığında "Tek Tıkla İşlem" penceresindeki "BUY" ve "SELL" düğmelerinin rengi

color

THEME_COLOR_BACKDOWN

Fiyat düştüğünde "Tek Tıkla İşlem" penceresindeki "BUY" ve "SELL" düğmelerinin rengi

color

THEME_COLOR_CLOSE

"Kapat" işlem düğmesi rengi

color

THEME_COLOR_BUY

"BUY" işlem düğmesi rengi

color

THEME_COLOR_SELL

"SELL" işlem düğmesi rengi

color

THEME_COLOR_DEPOSIT

"Para yatır" düğmesi rengi

color

THEME_COLOR_WITHDRAWAL

"Para çek" düğmesi rengi

color

THEME_COLOR_BID

Bid çizgisi rengi

color

THEME_COLOR_ASK

Ask çizgisi rengi

color

THEME_COLOR_STOPS

Durma çizgisi rengi

color

THEME_COLOR_STOPS_RED

Kâr negatif olduğunda Zararı Durdur değeri vurgusu (İşlem sekmesi)

color

THEME_COLOR_STOPS_GREEN

Kâr pozitif olduğunda Zararı Durdur değeri vurgusu (İşlem sekmesi)

color

THEME_COLOR_CONFIRM

Emir gönderme penceresindeki "Kabul et" düğmesinin rengi

color

THEME_COLOR_REQUOTE

Emir gönderme penceresindeki "Yeniden fiyatlama" düğmesinin rengi

color

THEME_COLOR_REJECT

Emir gönderme penceresindeki "Reddet" düğmesinin rengi

color

THEME_COLOR_NOTIFICATION

Emir gönderme penceresinde sunucudan gelen bir değişiklik bildiriminin rengi

color

THEME_COLOR_RATING

Öğrenme sistemindeki derecelendirme çubuğunun rengi

color

THEME_COLOR_BOOK_BUY

Piyasa Derinliğindeki alış seviyelerinin arka plan rengi

color

THEME_COLOR_BOOK_SELL

Piyasa Derinliğindeki satış seviyelerinin arka plan rengi

color

THEME_COLOR_BOOK_LAST

Piyasa Derinliğindeki son işlem rengi

color

THEME_COLOR_BOOK_STOP

Piyasa Derinliğindeki Zararı Durdur seviyesi rengi

color

THEME_COLOR_BOOK_SPREAD

Piyasa Derinliğindeki makas içindeki seviyelerin arka plan rengi

color

THEME_COLOR_TICKS_BID

Emir gönderme penceresindeki tik grafiğinde Bid çizgisi rengi

color

THEME_COLOR_TICKS_ASK

Emir gönderme penceresindeki tik grafiğinde Ask çizgisi rengi

color

THEME_COLOR_TICKS_LAST

Emir gönderme penceresindeki tik grafiğinde Last çizgisi rengi

color

THEME_COLOR_TICKS_CROSS

Emir gönderme penceresindeki tik grafiğinde artı imleç rengi

color

THEME_COLOR_TICKS_SL

Emir gönderme penceresindeki tik grafiğinde Zararı Durdur çizgisi rengi

color

THEME_COLOR_TICKS_TP

Emir gönderme penceresindeki tik grafiğinde Kârı Al çizgisi rengi

color

THEME_COLOR_TESTER_START

Test/optimizasyonda "Başlat" düğmesi rengi

color

THEME_COLOR_TESTER_STOP

Test/optimizasyonda "Durdur" düğmesi rengi

color

THEME_COLOR_TESTER_START_FRAME

Test/optimizasyonda "Başlat" düğmesinin kenarlık rengi

color

THEME_COLOR_TESTER_STOP_FRAME

Test/optimizasyonda "Durdur" düğmesinin kenarlık rengi

color

THEME_COLOR_TESTER_PROGRESS

Test/optimizasyonda ilerleme çubuğu rengi

color

THEME_COLOR_TESTER_BALANCE

Strateji Sınayıcıda bakiye çizgisi rengi

color

THEME_COLOR_TESTER_EQUITY

Strateji Sınayıcıda varlık çizgisi rengi

color

THEME_COLOR_TESTER_MARGIN

Strateji Sınayıcıda mevduat yükü grafiği rengi

color

THEME_COLOR_PROFILER_CALL

Profil oluşturma sırasında bir çağrı içeren kod satırının rengi

color

THEME_COLOR_PROFILER_CALLSEL

Profil oluşturma sırasında bir çağrı içeren seçilen kod satırı rengi

color

THEME_COLOR_PROFILER_LINE

Profilleyici günlüğündeki satır rengi

color

THEME_COLOR_PROFILER_LINESEL

Profilleyici günlüğündeki seçilen satır rengi

color