本組函數提供從一種格式到另一種格式的數據轉換功能。
特別要注意 NormalizeDouble() 函數,它確保了表示價格所需的準確性。在交易過程中,MT4不可能使用非標準價格,即使價格的小數位數多出一位,超出了交易服務器的要求的精度也是不能接受的。
- CharToStr() – ASCII碼轉換成字符串
- DoubleToStr() – 浮點型數據轉換成字符串
- NormalizeDouble() – 標準化雙精度型數值
- StrToDouble() – 字符串型數據轉換成浮點型
- StrToInteger() – 字符串數據轉換成整型數值
- StrToTime() – 字符串數據轉換成日期時間
- TimeToStr() – 日期時間型數據轉換成字符串
?
CharToStr() – ASCII碼轉換成字符串
string CharToStr(int char_code)
該函數將ASCII碼轉換成字符串。
參數:
char_code - 字符的ACSII碼。
示例:
string str="WORL" + CharToStr(44); // 44 是 'D' 的ASCII碼。 // str的結果為WORLD
DoubleToStr() – 浮點型數據轉換成字符串
string DoubleToStr(double value, int digits)
該函數將雙精度浮點型數值轉換成指定精度(指定小數位數)的字符串。
參數:
value - 要轉換的數值。 digits - 精度要求,小數點后位數(0-8)
示例:
string value=DoubleToStr(1.28473418, 5); // 值為"1.28473"
NormalizeDouble() – 標準化雙精度型數值
double NormalizeDouble(double value, int digits)
浮點型數值四舍五入到指定的精度,返回標準化雙精度型數值。
計算止損值和贏利值,掛單交易,即時交易的價格都要求將價格標準化(即指定價格的小數位數不能超過服務器所要求的精度)。這個精度要求可以從預定義的 digits變量 中獲得。
注意:NormalizeDouble() 函數,它確保了表示價格所需的準確性。在交易過程中,MT4不可能使用非標準價格,即使價格的小數位數多出一位,超出了交易服務器的要求的精度也是不能接受的
參數:
value - 要轉換的數值。 digits - 精度要求,小數點后位數(0-8)
示例:
double var1=0.123456789; Print(DoubleToStr(NormalizeDouble(var1,5),8)); // 輸出的信息為: 0.12346000
StrToDouble() – 字符串數據轉換成浮點型數值
double StrToDouble(string value)
該函數將數值形式的字符串轉換成雙精度型數值。
參數:
value - 數字形式的字符串。
示例:
double var=StrToDouble("103.2812");
StrToInteger() – 字符串數據轉換成整型數值
int StrToInteger(string value)
該函數將數值形式的字符串轉換成整型數值。
參數:
value - 數字形式的字符串。
示例:
int var1=StrToInteger("1024");
StrToTime() – 字符串數據轉換成日期時間
datetime StrToTime(string value)
該函數將數值形式的字符串轉換成日期時間數據,輸入格式為 "yyyy.mm.dd hh:mm"。
參數:
value - "yyyy.mm.dd hh:mm" 形式的字符串。
示例:
datetime var1; var1=StrToTime("2003.8.12 17:35"); var1=StrToTime("17:35"); // 返回當前日期,給指定的時間 var1=StrToTime("2003.8.12"); // 返回日期時間為"2003.8.12 00:00"
TimeToStr() – 日期時間型數據轉換成字符串
string TimeToStr(datetime value, void mode)
該函數將日期時間型數據(從1970年1月1日起經過的秒數)轉換為 "yyyy.mm.dd hh:mm" 形式的字符串。

參數:
value - 從1970年1月1}1 00:00所經過的秒數。mode - 數據輸出形式可以是下列一個或者多個組合: TIME_DATE 結果格式為 "yyyy. mm. dd", TIME_MINUTES 結果格式為"hh:mm", TIME_SECONDS 結果格式為“hh:mm:ss".
示例:
string var1=TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS);
來源:外匯邦
評論前必須登錄!
立即登錄 注冊