MQL4常规函数(二)

阅读 :

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

  • 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 <WinUser32.mqh>    if(ObjectCreate("text_object", OBJ_TEXT, 0, D'2004.02.20 12:30', 1.0045)==false)    {     int ret=MessageBox(" ObjectCreate() function returned the "+GetLastError()+" error/nContinue?", "Question", MB_YESNO|MB_ICONQUESTION);     if(ret==IDNO) return(false);    }  // 继续

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(lastclose<my_signal)    SendMail("从你的智能交易", "价格下降到"+DoubleToStr(lastclose,Digits));

SendNotification() – 发送推送通知

bool SendNotification(string message)

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

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

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

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

参数:

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

示例:

  double lastclose=Close[0];  if(lastclose<my_signal)    SendNotification("价格更改 "+DoubleToStr(lastclose,Digits));

Sleep() – 程序暂停运行

void Sleep(int milliseconds)

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

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

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

参数:

milliseconds - 暂停毫秒数。 

示例:

//---- 等待10秒   Sleep(10000);
本文标题:MQL4常规函数(二) - MT4平台MQL4编程学习
本文地址:http://www.waihuibang.com/fxschool/autotrading/mql4/49047.html

相关文章

  • 外汇EA的主流智能交易分类类型

    由于这几年EA技术有了极大发展,各种新型EA不断涌现,我仅对其进行大概的分类,不够完善和严谨,敬请原谅。 1. 趋势类 最常见也是最成熟的类型,趋势类。最为主流的EA类型,一般根据各种指标和策略来进行出入场操作。 2. 网格...

    MQL4编程学习
  • 你的EA交易为什么不能获利?

    近来从我自己以及朋友身边的一些故事有些感受,要成功使用EA获利不仅仅是一个EA的问题,还有很大部分因素“人”因为最终执行EA的是人,如果这个“人”对EA不了解,没有执行力,那么他的EA交易也是不成功的。 所以在这里我总...

    MQL4编程学习
  • 我的外汇EA之路 --- 写给每一个渴望着EA圣杯的人们

    2000年10月的一天,当时站在纽约的天桥上,看车来车往,人们表情严肃的穿梭,那角度,那感觉,就像冠军在看台下的人们,因为那天我以为我接触到了金融市场的圣杯。那个圣杯是个很复杂的指标,当时运行在MT4软件上,他的迷人之处是市场所有的拐点这个指标都有指示。人总是会看到自己希望看到的,我主观的忽略了这个指标的错误信号。 ...

    MQL4编程学习
  • 外汇EA文件的安装和使用
    外汇EA文件的安装和使用

    很多外汇新手下载了不少EA,但不知道怎么安装和使用,今天Besty来个简单的教程,让大家学下: 1、下载了EA,应该放在那个文件夹呢? 首先当然把下载好的ea文件解压好,看到文件格式为.ex4,之后要寻找一下MT4客户端的文件夹。在...

    MQL4编程学习
  • 外汇EA编程教程——数据类型

      所有的程序就是对数据进行操作,我们根据不同的需求对数据定义不同的类型,比如数字类型的数据用于操作数组。价格数据使用浮点型类型数据,MQL本身没有货币类型的数据类型。 不同的数据类型有着不同的处理速度,其...

    MQL4编程学习
你可能感兴趣