MQL4常用基础函数详解与使用指南
本文介绍MQL4中一些常见的常规用途函数,这些函数不涉及特定交易策略,适用于多种编程场景。
Alert() – 弹出警告窗口
Comment() – 在图表上显示信息
Print() – 输出文本信息至日志
PlaySound() – 播放声音文件
MarketInfo() – 获取市场相关数据
GetTickCount() – 获取系统运行时间
MessageBox() – 显示信息对话框
SendFTP() – 发送文件至FTP服务器
SendMail() – 发送电子邮件
SendNotification() – 发送推送通知
Sleep() – 程序暂停运行
Alert() – 弹出警告窗口
void Alert(...) 弹出一个包含提示信息的警告窗口。参数可以是任意类型,但总数不得超过64个。
注意:数组不能作为参数传递给 Alert() 函数。
双精度型数据默认输出到小数点后4位。若需更高精度,请使用 DoubleToStr() 函数进行转换。
布尔型、日期时间型和颜色型数据会以数值形式输出。
可使用 TimeToStr() 函数将日期时间型数据转换为字符串后再输出。
相关函数请参考 Comment() 和 Print()。
参数说明:
... - 任意值,多个参数用逗号分隔,最多64个。示例:
if(Close[0]SignalLevel) Alert("收盘价进入 ", Close[0],"!!!");Comment() – 在图表上显示信息
void Comment(...) 该函数可在图表左上角显示相关信息。参数可以是任意类型,最多64个。
请注意:数组不能作为参数传递给 Comment() 函数。
双精度型数据默认输出到小数点后4位。若需更高精度,请使用 DoubleToStr() 函数。
布尔型、日期时间型和颜色型数据会以数值形式输出。
可使用 TimeToStr() 函数将日期时间型数据转换为字符串后再输出。
相关函数请参考 Alert() 和 Print()。
参数说明:
... - 任意值,多个参数用逗号分隔,最多64个。示例:
double free=AccountFreeMargin(); Comment("账户自由保证金 ",DoubleToStr(free,2),"/n","Current time is ",TimeToStr(TimeCurrent()));Print() – 输出文本信息到日志
void Print(...) 本函数向智能交易日志输出文本信息。参数可以是任意类型,最多64个。
数组不能作为参数传递给 Print() 函数。
双精度型数据默认输出到小数点后4位。若需更高精度,请使用 DoubleToStr() 函数。
布尔型、日期时间型和颜色型数据会以数值形式输出。
可使用 TimeToStr() 函数将日期时间型数据转换为字符串后再输出。
相关函数请参考 Comment() 和 Print()。
参数说明:
... - 任意值,多个参数用逗号分隔,最多64个。示例:
Print("当前可用保证金 ", AccountFreeMargin()); Print("当前时间 ", TimeToStr(TimeCurrent())); double pi=3.141592653589793Decode官网; Print("PI number is ", DoubleToStr(pi,8)); // 输出: PI number is 3.14159265 for(int i=0;iPlaySound() – 播放声音文件
void PlaySound(string filename) 该函数用于播放一个声音文件。文件需放在 terminal_dir/sounds 目录或其子目录内。
参数说明:
filename - 音频文件的名称。示例:
if(IsDemo()) PlaySound("alert.wav");MarketInfo() – 获取市场相关信息
double MarketInfo(string symbol, int type) 返回市场观察窗口中列出的不同货币对的相关信息。当前货币对的部分信息已存储在预定义变量中。
参数说明:
symbol - 货币对名称。type - 请求返回的信息类型标识符,可以是请求标识符中的任意值。示例:
double bid =MarketInfo("EURUSD",MODE_BID); double ask =MarketInfo("EURUSD",MODE_ASK); double point =MarketInfo("EURUSD",MODE_POINT); int digits=MarketInfo("EURUSD",MODE_DIGITS); int spread=MarketInfo("EURUSD",MODE_SPREAD);
