MQL4常规函数(二)

2025-07-23

常规用途函数,不涉及任何专用函数。

Alert() – 弹出警告窗口

Comment() – 图表上显示信息

Print() – 输出文本信息

PlaySound() – 播放声音文件

MarketInfo() – 获取市场相关信息

GetTickCount() – 获取运行时间

MessageBox() – 显示信息框

SendFTP() – 发送文件到FTP服务器

SendMail() – 发送电子邮件

SendNotification() – 发送推送通知

Sleep() – 程序暂停运行

GetTickCount() – 获取运行时间

int GetTickCount()GetTickCount()函数取回自从系统被启动以来已经过去的毫秒数。它的值取决于系统时间的设定。

示例:

int start=GetTickCount(); // 计算... Print("Calculation time is ", GetTickCount()-start, " milliseconds.");MessageBox() – 显示信息框

int MessageBox(void text, void caption, void flags)MessageBox()函数可以创建、显示和控制信息框。信息框内包含应用程序定义的信息内容和标题,也可以足预定义的图标和按钮的任意组合。如果函数成功运行,返回值就是MessageBox函数返回码的其中之一。

由于本函数在接口线程内执行,而且还不能放慢速度,澳汇所以本函数不能从自定义指标中调用。

参数:

text - 窗口上显示的文字。 caption - 窗口上显示的标题。如果参数为 NULL, 智能交易名称将显示在标题上。 flags - 决定窗口类型和操作的可选项。它们可用为 messagebox函数标志常量 的一种组合。示例:

#include SendFTP() – 发送文件到FTP服务器

bool SendFTP(string filename, void ftp_path)发送文件到FTP服务器,其通信参数在“工具选项公开”标签内设置。如果发送失败,返回FALSE。

本函数在测试模式下不起作用,也不能从自定义指标中调用。

发送的文件必须在 terminal_directory/experts/files 目录或子目录下,如果未设置FTP地址,或未提供访问密码,文件不会发送成功。

参数:

filename - 发送的文件。 ftp_path - FTP路径。如果没有指定路径,则使用设置中说明的路径。 示例:

int lasterror=0; if(!SendFTP("report.txt")) lasterror=GetLastError();SendMail() – 发送电子邮件

void SendMail(string subject, string some_text)发送电子邮件。邮件地址设置在 "工具选项EMail” 标签内。

此项功能可以在客户端设置为禁用,或者省略指定的邮件地址。调用 GetLastError() 函数可以获得详细出错信息。

参数:

subject - 邮件标题。 some_text - 邮件文本内容。 示例:

double lastclose=Close[0]; if(lastcloseSendNotification() – 发送推送通知

bool SendNotification(string message)向选项窗口的“通知”标签上指定的MetaQuotes ID的移动程序端发送推送通知。

可以在设置中禁止发送通知。也可以省略ID。

如果出错的话,函数会返回false。若要获取有关错误的信息,调用 GetLastError() 函数。

注意: SendNotification()函数具有严格的使用限制:澳汇每秒钟不得调用2次以上并且每分钟调用不超过10次。动态控制频繁调用,如若违背函数会被封锁。

参数:

message - 发送的信息,最多255个字符。 示例:

double lastclose=Close[0]; if(lastcloseSleep() – 程序暂停运行

void Sleep(int milliseconds)Sleep()函数可以临时暂停运行当前智能交易程序一段时间。

由于Sleep()函数运行在接口线程中,而且又不能减速,所以本函数不能在自定义指标内调用。

Sleep()函数运行时,智能交易每隔0. 1秒会自动检测一次停止标志的状态。

参数:

milliseconds - 暂停毫秒数。 示例:

//---- 等待10秒 Sleep(10000);

保证金可使外汇交易实现巨大收益,但是同时也伴随着巨大风险而不适于所有的投资者。在决定交易外汇之前,您应该仔细考虑您的投资目标,经验水平和风险偏好。过去表现不代表未来结果,因其将随着市场波动而有所变化。可能情况是您将承受损失掉部分或者全部您的初始投资,因此您不应将您不可损失的资金进行投资。您应知晓与外汇交易相关的全部风险,如果您有任何疑问,请寻求独立金融顾问的建议。

本网站或者任何本网站之链接上的观点、新闻、研究、分析、价格或其他信息仅作为一般性的市场评论,不表示任何投资建议。AUSFOREX 不承担任何损失或者赔偿之责任,包括可能直接或者间接地由于使用或者依赖上述信息来源而发生的获利或者任何损失。