Diğer Sabitler

CLR_NONE sabiti rengin olmadığını belirtmek amacıyla kullanılır, yani göstergedeki grafiksel nesnenin veya grafiksel serilerin çizilmeyeceğini belirtir. Bu sabit, Web-renkleri sabitlerinin listesinde yer almaz ama renk argümanlarının gerektiği her yere uygulanabilir.

INVALID_HANDLE sabiti, dosya tanıtıcı değerlerini kontrol etme amaçlı kullanılabilir (bakınız FileOpen() ve FileFindFirst()).

Sabit

Açıklama

Değer

CHARTS_MAX

Terminalde aynı anda açık olabilecek maksimum çizelge sayısı

100

clrNONE

Rengin olmaması

-1

EMPTY_VALUE

Bir gösterge tamponu için boş değer

DBL_MAX

INVALID_HANDLE

Hatalı tanıtıcı değer

-1

IS_DEBUG_MODE

Bir MQ5 programının hata ayıklama modunda çalıştığını gösteren bayrak

Hata ayıklama modunda sıfır değilken, diğer durumlarda sıfırdır

IS_PROFILE_MODE

Bir MQ5 programının profilleme modunda çalıştığını gösteren bayrak

profilleme modunda sıfır değilken, diğer durumlarda sıfırdır

NULL

Tüm tipler için sıfırdır

0

WHOLE_ARRAY

Dizinin sonuna kadar var olan eleman sayısıdır, yani bütün dizinin işleneceğini belirtir

-1

WRONG_VALUE

Sabit, gizli (örtülü) olarak herhangi bir sayım tipine dönüştürülebilir

-1

EMPTY_VALUE sabiti, genellikle göstergenin çizelgede görüntülenmeyen değerlerine karşılık gelir. Örneğin kullanıma hazır göstergelerden, 20 periyot değerine sahip Standard Deviation (standart sapma) göstergesi için, geçmişteki ilk 19 çubukluk kısım çizelge üzerinde gösterilmez. Eğer iStdDev() ile bu göstergenin tanıtıcı değerini oluşturursanız ve tanıtıcı değeri söz konusu çubuklar için CopyBuffer() ile gösterge değerlerinden oluşan bir diziye kopyalarsanız, değerler EMPTY_VALUE olarak gözükecektir.

Herhangi bir özel gösterge için, çizelgeye çizilmeyecek değerleri boş değerler şeklinde ayarlayabilirsiniz. Bunun için PlotIndexSetDouble() fonksiyonunu PLOT_EMPTY_VALUE şekillendiricisi ile kullanın.

NULL sabiti, basit tipli tüm değişkenlere, nesne yapılarına veya sınıf işaretçilerine atanabilir. Bir dizgi değişkenine yapılan NULL ataması, bu değişkenin tamamen sonlandırılması anlamına gelir.

WRONG_VALUE sabiti, hatalı bir sayım değerine dönüş yapılması gereken durumlar için düşünülmüştür. Örneğin, bir dönüş değerinin, bir sayımın değerlerinden olup olmadığıyla ilgili bilgiye ihtiyacımız olduğunda bu sabiti kullanabiliriz. İsmiyle belirtilen bir nesne için çizgi stiline dönüş yapan CheckLineStyle() fonksiyonunu göz önüne alalım. Eğer ObjectGetInteger() ile yapılan stil kontrolünde sonuç 'true' ise, ENUM_LINE_STYLE sayımından bir değere; aksi durumda ise WRONG_VALUE değerine dönüş yapılır.

void OnStart()
  {
   if(CheckLineStyle("MyChartObject")==WRONG_VALUE)
      printf("Çizgi stilinin alınmasında hata.");
  }
//+------------------------------------------------------------------+
//| İsimle belirtilen bir nesnenin çizgi stiline dönüş yapar         |
//+------------------------------------------------------------------+
ENUM_LINE_STYLE CheckLineStyle(string name)
  {
   long style;
//---
   if(ObjectGetInteger(0,name,OBJPROP_STYLE,0,style))
      return((ENUM_LINE_STYLE)style);
   else
      return(WRONG_VALUE);
  }

 

WHOLE_ARRAY sabiti, işlenen dizideki eleman sayısının belirtilmesini gerektiren fonksiyonlar için düşünülmüştür:

Eğer belirtilen değerden son değere kadar tüm dizi elemanlarının işleneceğini belirtmek istiyorsanız, sadece WHOLE_ARRAY değerini belirtmeniz yeterli olacaktır.

IS_PROFILE_MODE sabiti,  profilleme modunda düzgün veri toplama amacıyla bir program işlevinin değiştirmesini sağlar. Profilleme, (genellikle fonksiyonları içeren) her bir tekil program bölümünün uygulama zamanının ölçülmesini ve aynı zamanda çağrı sayısının hesaplanmasını sağlar. Aşağıdaki örnekteki gibi, Sleep() fonksiyonu çağrıları, profilleme modunda uygulama zamanının belirlenmesini devre dışı bırakabilir:

//--- Sleep, profilleme sonucunu büyük ölçüde değiştirebilir
if(!IS_PROFILE_MODESleep(100); // profilleme modunda Sleep() çağrısını devre dışı bırak

IS_PROFILE_MODE sabit değeri, derleme sırasında derleyici tarafından ve genellikle sıfır olarak ayarlanır. Profilleme modunda bir programı çalıştırırken, özel bir derleme gerçekleştirilir ve IS_PROFILE_MODE değeri, sıfır olmayan bir değer ile değiştirilir.

IS_DEBUG_MODE sabiti, hata ayıklama modunda bir MQL5 programının işleyişini hafifçe değiştirmek istediğinizde kullanışlı olabilir. Örneğin, hata ayıklama modunda bazı ek bilgileri terminal günlüğünde görüntülemek veya bir çizelge içinde fazladan grafik nesneleri oluşturmak isteyebilirsiniz.

Aşağıdaki örnekte, bir Label (etiket) nesnesi oluşturulur ve bunun açıklaması ve rengi script uygulama moduna bağlı olarak ayarlanır. MetaEditor içinde bir betiği hata-ayıklama modunda çalıştırmak için, F5 tuşuna basın. Eğer betiği terminaldeki tarayıcı penceresinden çalıştırırsanız, Label nesnesinin metni ve rengi farklı olacaktır.

Örnek:

//+------------------------------------------------------------------+
//|                                             Check_DEBUG_MODE.mq5 |
//|                      Copyright © 2009, MetaQuotes Software Corp. |
//|                                        https://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, MetaQuotes Software Corp."
#property link      "https://www.metaquotes.net"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   string label_name="invisible_label";
   if(ObjectFind(0,label_name)<0)
     {
      Print("Nesne",label_name,"bulunamadı. Hata kodu = ",GetLastError());
      //--- Label nesnesini oluştur
      ObjectCreate(0,label_name,OBJ_LABEL,0,0,0);
      //--- X koordinatını ayarla
      ObjectSetInteger(0,label_name,OBJPROP_XDISTANCE,200);
      //--- Y koordinatını ayarla
      ObjectSetInteger(0,label_name,OBJPROP_YDISTANCE,300);
      ResetLastError();
      if(IS_DEBUG_MODE// hata-ayıklama modu
        {
         //--- script uygulama modu için mesaj görüntüle
         ObjectSetString(0,label_name,OBJPROP_TEXT,"DEBUG MODE");
         //--- metin rengini kırmızı olarak ayarla
         if(!ObjectSetInteger(0,label_name,OBJPROP_COLOR,clrRed))
            Print("Renk ayarlanamıyor. Hata",GetLastError());
        }
      else              // işlem modu
        {
         ObjectSetString(0,label_name,OBJPROP_TEXT,"RELEASE MODE");
         //--- metin rengini görünmez olarak ayarla
         if(!ObjectSetInteger(0,label_name,OBJPROP_COLOR,CLR_NONE))
            Print("Renk ayarlanamıyor. Hata",GetLastError());
        }
      ChartRedraw();
      DebugBreak();    // eğer hata-ayıklama modundaysak, burada sonlandırma gerçekleşir
     }
  }

Crypt Methods

The ENUM_CRYPT_METHOD enumeration is used to specify the data tranformation method, used in CryptEncode() and CryptDecode() functions.

ENUM_CRYPT_METHOD

Sabit

Açıklama

CRYPT_BASE64

BASE64

CRYPT_AES128

AES encryption with 128 bit key (16 bytes)

CRYPT_AES256

AES encryption with 256 bit key (32 bytes)

CRYPT_DES

DES encryption with 56 bit key (7 bytes)

CRYPT_HASH_SHA1

SHA1 HASH caculation

CRYPT_HASH_SHA256

SHA256 HASH caculation

CRYPT_HASH_MD5

MD5 HASH caculation

CRYPT_ARCH_ZIP

ZIP archives

Ayrıca Bakınız

DebugBreak, Çalıştırılan MQL5 programı özellikleri, CryptEncode(), CryptDecode()