
本组函数供应从一种格式到其他格式的报告转换功能。
特别要注意 NormalizeDouble() 函数,它保证了表明价格所需的精准性。在交易过程中,MT4不或许运用非标准价格,即便价格的小数位数超出一名,多出了交易服务器的要求的精度也是不能接受的。
- CharToStr() – ASCII码转换成字符串
- DoubleToStr() – 浮点型报告转换成字符串
- NormalizeDouble() – 标准化双精度型数值
- StrToDouble() – 字符串型报告转换成浮点型
- StrToInteger() – 字符串报告转换成整型数值
- StrToTime() – 字符串报告转换成日期时间
- TimeToStr() – 日期时间型报告转换成字符串
string CharToStr(int char_code)
该函数将ASCII码转换成字符串。
参数:
char_code - 字符的ACSII码。
示例:
string str="WORL" + CharToStr(44);// 44 是 'D' 的ASCII码。 // str的结果为WORLD
string DoubleToStr(double value, int digits)
该函数将双精度浮点型数值转换成指定精度(指定小数位数)的字符串。
参数:
value - 要转换的数值。 digits - 精度要求,小数点后位数(0-8)
示例:
string value=DoubleToStr(1.28473418, 5);// 值为"1.28473"
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
double StrToDouble(string value)
该函数将数值形式的字符串转换成双精度型数值。
参数:
value - 数字形式的字符串。
示例:
double var=StrToDouble("103.2812");
int StrToInteger(string value)
该函数将数值形式的字符串转换成整型数值。
参数:
value - 数字形式的字符串。
示例:
int var1=StrToInteger("1024");
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"
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);