手机版

MQL4数据类型转换函数

阅读 :
外_汇_邦 WaiHuiBang.com

本组函数提供从一种格式到另一种格式的数据转换功能。

特别要注意 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);
外_汇_邦 WaiHuiBang.com
本文标题:MQL4数据类型转换函数 - MT4平台MQL4编程学习
本文地址:https://www.waihuibang.com/fxschool/autotrading/mql4/49046.html

相关文章

  • MQL4程序运行时错误代码

    在客户端程序运行子系统时,执行一个MQL4程序发生了异外情况,其错误代码将被保存下来。对于每一个MQL4程序执行,存在一个特殊的last_error变量。在init()函数运行之前,last_error变量必须重置为零。如果在计算...

    MQL4编程学习
  • 与狼共舞 --- 使用网格EA获得盈利的基本原则!

    近来大部分的趋势EA,剥头皮EA表现很差的情况下,越来越多的赌 博、加仓EA浮出水面了,比如什么Forex Hacked, Forex envy, Grid me up …之类的,我们把这一类加仓或网格的EA定义为”高风险,危险性“EA。然而,如此危险的...

    MQL4编程学习
  • EA编程教程第五讲 操作符

    1 复合语句。一个复合操作(版块)有一个或多个语句构成,他们由大括号和小括号({})包括起来,注意小括号后面不需要分号(;) 例如:if(x==0){Print("invalid position x=",x);return;}2 表达式一个表达式由分号(;)结束,一个分号(;)也...

    MQL4编程学习
  • 挂外汇EA需要什么样配置的电脑或服务器

    由于外汇EA需要24小时运行,所以需要稳定性强的电脑,不要运行着、运行着在关键时刻就死机了。 想想如果到了开仓信号出现时,电脑却死机了。或者是需要平仓时,电脑系统崩溃了。这是什么样的损失。 电脑的配置不要求高,但必...

    MQL4编程学习
  • EA编程教程第八讲 变量(2)

    1 本地变量:定义在函数内部的变量称为本地变量,它的作用范围只有在定义它的函数内可以访问,在函数外面的代码,不能访问函数里面的变量。例如:int funcname(int a){int abc; //函数内部的变量,只能由函数里面的代码访问,函...

    MQL4编程学习
你可能感兴趣