其他常量

CLR_NONE 常量用來概述缺乏的顏色的,它表示指標不會劃分 圖解對象 或者 圖解系列 。這個常量不包括 Web-color 常量列表,當顏色參數必需時,可以應用到任何位置。

INVALID_HANDLE 常數能用來檢測處理文件 (參見 FileOpen()FileFindFirst() )。

常量

描述

CHARTS_MAX

在終端與開倉圖表類似的最大可能值

100

clrNONE

顏色缺乏

-1

EMPTY_VALUE

指標緩衝區的空值

DBL_MAX

INVALID_HANDLE

錯誤處理

-1

IS_DEBUG_MODE

MQL5程序操作的調試方式標誌

調試方式true,否則是false

IS_PROFILE_MODE

mq5-program 運作分析模式的標識

分析模式下非零,否則爲零

NULL

任意類型零值

0

WHOLE_ARRAY

代表很多條目剩下,直到數組末尾

 

如下,處理全部數組

-1

WRONG_VALUE

常量可以隱藏 計算 傳遞到任何 枚舉 類型數組

-1

EMPTY_VALUE常量通常符合指標的值,但並不顯示在圖表中,例如,內置指標標準偏差是一個週期20,在歷史中的前19個字節線並沒有顯示在圖表中,如果使用 iStdDev() 函數增添指標處理器並通過CopyBuffer()複製到指標數組裏,然後這些值就與EMPTY_VALUE相等。

可以爲 自定義指標 選擇指定說明自己指標的空值,當指標在圖表中不顯示時,使用 PlotIndexSetDouble() 函數 PLOT_EMPTY_VALUE 修飾語。

NULL常數可以分派到任意簡單類型的變量中,或者分派到對象結構或者分類指針中。NULL爲字符串變量分派表示該變量的全部初始化。

當有必要返回 枚舉 值時,WRONG_VALUE常量爲事件預定,而且還是一個錯誤值。例如,當我們需要報告返回值是項目中的值。列舉一些函數CheckLineStyle(),通過名稱爲對象返回線類型、指派。如果通過ObjectGetInteger()類型檢測結果是true,返回 ENUM_LINE_STYLE 中的值,否則返回WRONG_VALUE。

void OnStart()
  {
   if(CheckLineStyle("MyChartObject")==WRONG_VALUE)
      printf("Error line style getting.");
  }
//+------------------------------------------------------------------+
//| 为名称指定物件返回线型                                              |
//+------------------------------------------------------------------+
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常量爲函數準備,在過程數組中需要制定元素數量:

如果想要列舉,指定位置中的所有數組值從頭到尾都是需要處理的,你應該指定WHOLE_ARRAY值。

IS_PROFILE_MODE 常量爲了在分析模式下收集正確數據允許改變程序操作。分析允許測量單個程序片段的執行時間(通常由函數組成),以及計算這種調用的數量。在分析模式下,可能會禁止Sleep() 函數調用來確定執行時間,如下例:

//--- Sleep 可以大大影响(改变)分析结果
if(!IS_PROFILE_MODESleep(100); // 在分析模式禁用 Sleep() 调用

IS_PROFILE_MODE 常量值是在編譯期通過編譯器設置,而在傳統模式下設置爲零。當在分析模式下啓動程序時,會執行一個特殊的編譯,並且IS_PROFILE_MODE 以非零的值替代。

當需要以調試方式對MQL5程序操作稍作改動,使用IS_DEBUG_MODE常量。例如,在終端記錄或者增加額外圖表對象中,調試方式需要額外的調試信息。

下面的例子創建了一個標籤對象並在腳本運行方式中建立了自己的描述和顏色。爲了運行MetaEditor中的腳本調試方式,按F5。如果能從瀏覽窗口中運行腳本,顏色和文本對象標籤就會不同。

示例:

//+------------------------------------------------------------------+
//|                                             Check_DEBUG_MODE.mq5 |
//|                      Copyright © 2009, MetaQuotes Software Corp. |
//|                                        //www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, MetaQuotes Software Corp."
#property link      "//www.metaquotes.net"
//+------------------------------------------------------------------+
//| 脚本程序启动函数                                                   |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   string label_name="invisible_label";
   if(ObjectFind(0,label_name)<0)
     {
      Print("Object",label_name,"not found. Error code = ",GetLastError());
      //--- 创建标签
      ObjectCreate(0,label_name,OBJ_LABEL,0,0,0);
      //--- 设置 X 坐标
      ObjectSetInteger(0,label_name,OBJPROP_XDISTANCE,200);
      //--- 设置 Y 坐标
      ObjectSetInteger(0,label_name,OBJPROP_YDISTANCE,300);
      ResetLastError();
      if(IS_DEBUG_MODE// 调试方式
        {
         //--- 显示脚本执行模式信息
         ObjectSetString(0,label_name,OBJPROP_TEXT,"DEBUG MODE");
         //--- 设置文本颜色成红色
         if(!ObjectSetInteger(0,label_name,OBJPROP_COLOR,clrRed))
            Print("Unable to set the color. Error",GetLastError());
        }
      else              // 操作模式
        {
         ObjectSetString(0,label_name,OBJPROP_TEXT,"RELEASE MODE");
         //--- 设置文本颜色为不可见
         if(!ObjectSetInteger(0,label_name,OBJPROP_COLOR,CLR_NONE))
            Print("Unable to set the color. Error ",GetLastError());
        }
      ChartRedraw();
      DebugBreak();    // 如果处于调试模式,则会终止
     }
  }

Crypt 方法

ENUM_CRYPT_METHOD 枚舉用於指定數據變換方法,用在CryptEncode()CryptDecode() 函數。

ENUM_CRYPT_METHOD

常量

描述

CRYPT_BASE64

BASE64

CRYPT_AES128

AES 128位密鑰加密(16字節)

CRYPT_AES256

AES 256位密鑰加密(32 字節)

CRYPT_DES

DES 56位密鑰加密(7字節)

CRYPT_HASH_SHA1

SHA1 HASH caculation

CRYPT_HASH_SHA256

SHA256 HASH caculation

CRYPT_HASH_MD5

MD5 HASH 計算

CRYPT_ARCH_ZIP

ZIP 歸檔

另見

DebugBreak, 執行MQL程序屬性, CryptEncode(), CryptDecode()