转换函数
类型转换函数
string CharToStr( int ACSII码 )
将ASCII码转换成字符串
:: 输入参数
char_code - 字符的ACSII码
示例:
string str= "WORL" + CharToStr(44); // 44 是 'D'的ACSII码
// 结果产生的字符串将会是 WORLD
string DoubleToStr( double 值, int 位数)
将双精度浮点型数值转换成指定精度(指定小数位数)的字符串。
:: 输入参数
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(NormalizeDouble(var1,5));
// 结果输出为: 0.12346
double StrToDouble( string 值串)
将数值形式的字符串转换成双精度型数值
:: 输入参数
value - 数字形式的字符串
示例:
double var= StrToDouble("103.2812");
int StrToInteger( string 值串 )
将数值形式的字符串转换成整型数值
:: 输入参数
value - 数字的字符串
示例:
int var1= StrToInteger("1024");
datetime StrToTime( string 时串)
将数值形式的字符串转换成日期时间数据,
:: 输入参数
value - 时间的字符串 (按年月时分的顺序格式)
示例:
datetime var1;
var1= StrToTime("2003.8.12 17:35");
// 返回结果为 "2003.8.12 17:35" 的时间值(最全面)
var1= StrToTime("17:35");
// 返回结果为当前日期(默认)+给指定的时间
var1= StrToTime("2003.8.12");
// 返回结果为日期时间为"2003.8.12 00:00"(午夜时间"00:00")
//----属于可交易时间内---+
bool 在交易时间内子(string 终时, string 始时)
{
bool 可交易= false;
if(StrToTime(终时)>StrToTime(始时))
if(TimeCurrent()<StrToTime(终时) && TimeCurrent()>=StrToTime(始时))
可交易= true;
if(StrToTime(终时)<StrToTime(始时))
if(TimeCurrent()<StrToTime(终时) || TimeCurrent()>=StrToTime(始时))
可交易= true;
if(使用全天交易==true)
可交易= true;
if(暂停休息日!=0 && DayOfWeek()==暂停休息日)
可交易= false;
return(可交易);
}
string TimeToStr( datetime value, int mode=TIME_DATE|TIME_MINUTES)
将时间型秒数值转换成字符串型返回
:: 输入参数
value - 时间值,(从1970.1.1 0:0:0 到现在的秒数)
mode- 返回字符串的形式,
TIME_DATE (结果为日期 yyyy.mm.dd),
TIME_MINUTES (结果到分钟为 hh:mi),
TIME_SECONDS (结果到秒为 hh:mi:ss)
示例:
strign var1= TimeToStr( TimeCurrent() ,TIME_DATE|TIME_SECONDS);