编程逆袭仔 发表于 2013-8-13 21:24:08

MQL4数据类型转换函数

本组函数提供从一种格式到另一种格式的数据转换功能。特别要注意 NormalizeDouble() 函数,它确保了表示价格所需的准确性。在交易过程中,MT4不可能使用非标准价格,即使价格的小数位数多出一位,超出了交易服务器的要求的精度也是不能接受的。
[*]CharToStr() – ASCII码转换成字符串
[*]DoubleToStr() – 浮点型数据转换成字符串
[*]NormalizeDouble() – 标准化双精度型数值
[*]StrToDouble() – 字符串型数据转换成浮点型
[*]StrToInteger() – 字符串数据转换成整型数值
[*]StrToTime() – 字符串数据转换成日期时间
[*]TimeToStr() – 日期时间型数据转换成字符串

CharToStr() – ASCII码转换成字符串
1
string CharToStr(int char_code)




该函数将ASCII码转换成字符串。参数:char_code - 字符的ACSII码。 示例:
1
2
string str="WORL" + CharToStr(44); // 44 是 'D' 的ASCII码。
// str的结果为WORLD




Back to Top
DoubleToStr() – 浮点型数据转换成字符串
1
string DoubleToStr(double value, int digits)




该函数将双精度浮点型数值转换成指定精度(指定小数位数)的字符串。参数:value - 要转换的数值。digits - 精度要求,小数点后位数(0-8)示例:
1
2
string value=DoubleToStr(1.28473418, 5);
// 值为"1.28473"




Back to Top
NormalizeDouble() – 标准化双精度型数值
1
double NormalizeDouble(double value, int digits)




浮点型数值四舍五入到指定的精度,返回标准化双精度型数值。计算止损值和赢利值,挂单交易,即时交易的价格都要求将价格标准化(即指定价格的小数位数不能超过服务器所要求的精度)。这个精度要求可以从预定义的 digits变量 中获得。注意:NormalizeDouble() 函数,它确保了表示价格所需的准确性。在交易过程中,MT4不可能使用非标准价格,即使价格的小数位数多出一位,超出了交易服务器的要求的精度也是不能接受的参数:value - 要转换的数值。digits - 精度要求,小数点后位数(0-8)示例:
1
2
3
double var1=0.123456789;
Print(DoubleToStr(NormalizeDouble(var1,5),8));
//输出的信息为: 0.12346000




Back to Top
StrToDouble() – 字符串数据转换成浮点型数值
1
double StrToDouble(string value)




该函数将数值形式的字符串转换成双精度型数值。参数:value - 数字形式的字符串。示例:
1
double var=StrToDouble("103.2812");




Back to Top
StrToInteger() – 字符串数据转换成整型数值
1
int StrToInteger(string value)




该函数将数值形式的字符串转换成整型数值。参数:value - 数字形式的字符串。 示例:
1
int var1=StrToInteger("1024");




Back to Top
StrToTime() – 字符串数据转换成日期时间
1
datetime StrToTime(string value)




该函数将数值形式的字符串转换成日期时间数据,输入格式为 "yyyy.mm.dd hh:mm"。参数:value - "yyyy.mm.dd hh:mm" 形式的字符串。 示例:
1
2
3
4
datetime var1;
var1=StrToTime("2003.8.12 17:35");
var1=StrToTime("17:35");      // 返回当前日期,给指定的时间
var1=StrToTime("2003.8.12");// 返回日期时间为"2003.8.12 00:00"




Back to Top
TimeToStr() – 日期时间型数据转换成字符串
1
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".示例:
1
string var1=TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS);





南耿苍 发表于 2014-12-14 14:00:27

支持楼主

纯情 发表于 2015-1-10 19:18:48

没有使用说明书

dasd1a 发表于 2015-1-16 08:48:12

谢谢分享!!!!!

hothotka 发表于 2015-1-29 13:51:06

顶楼主~~~~~~~~~~~~~~~

hamish35 发表于 2015-1-30 14:06:31


呵呵

笑眯眯 发表于 2018-5-27 12:37:20

支持楼主,学习到了一点

ahwgf 发表于 2018-9-18 14:06:37

路过,支持一下啦
页: [1]
查看完整版本: MQL4数据类型转换函数