常规函数 (如报警等)

2018-10-23  本文已影响0人  牛在汇上飞

常规函数

void Alert( ... ) 弹出一个显示信息的警告窗口

弹出一个包含用户提示信息的警告窗口。参数可以是任意类型,总数不得超过64个。

数组不能作为参数传递给 Alert() 函数。

双精度型数据可以输出到小数点后4位。要想输出更高精度的数据,请使用 DoubleToStr() 函数。

布尔型、日期时间型和颜色型数据作为数值型数据输出。

使用 TimeToStr() 函数将日期时间型数据转换成字符串,再以字符串形式输出。

:: 输入参数
... - 任意值,如有多个可用逗号分割

示例:

if(Close[0]>SignalLevel)
Alert("Close price coming ", Close[0],"!!!");

void Comment( ... ) 显示信息在走势图左上角

:: 输入参数
... - 任意值,如有多个可用逗号分割

示例:

double free=AccountFreeMargin();
Comment("Account free margin is ",DoubleToStr(free,2),"\n","Current time is ",TimeToStr(CurTime()));

void Print( ... ) 将文本信息及结果值打印输出到智能交易日志里

:: 输入参数
... - 任意值,复数用逗号分割

示例:

Print("Account free margin is ", AccountFreeMargin());
Print("Current time is ", TimeToStr(CurTime()));
double pi=3.141592653589793;
Print("PI number is ", DoubleToStr(pi,8));
// Output: PI number is 3.14159265
// Array printing
for(int i=0;i<10;i++)
Print(Close[i]);

void PlaySound( string 音乐名) 播放音频文件

文件必须放在 terminal_dir\sounds 目录或子目录内

:: 输入参数
filename - 音频文件名

示例:

if(IsDemo()) PlaySound("alert.wav");

double MarketInfo( string 指定币种, int 查找类型) 指定货币对的相关信息数据

当前货币对的部分信息已经存储在 预定义变量 中

:: 输入参数
symbol - 通货代码
type - 返回结果的类型

示例:

double var;
var=MarketInfo("EURUSD",MODE_BID);

int GetTickCount() 获取运行时间.

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

示例:

int start=GetTickCount();
// do some hard calculation...
Print("Calculation time is ", GetTickCount()-start, " milliseconds.");

int MessageBox( string text=NULL, string caption=NULL, int flags=EMPTY) 弹出消息框

该函数可以创建、显示和控制信息框。

信息框内包含应用程序定义的信息内容和标题,也可以足预定义的图标和按钮的任意组合。如果函数成功运行,返回值就是MessageBox函数返回码的其中之一。

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

:: 输入参数

text - 窗口上显示的文字。

caption - 窗口上显示的标题。如果参数为 NULL, 智能交易名称将显示在标题上。

flags - 决定窗口类型和操作的可选项。它们可用为 messagebox函数标志常量 的一种组合。

示例:

include

if(ObjectCreate("text_object", OBJ_TEXT, 0, D'2004.02.20 12:30', 1.0045)==false)
{
int ret=MessageBox("ObjectCreate() fails with code "+GetLastError()+"\nContinue?", "Question", MB_YESNO|MB_ICONQUESTION);
if(ret==IDNO) return(false);
}
// continue

bool SendFTP( string 文件名, void 指定路径) 发送文件到FTP服务器

其通信参数在“工具>选项>公开”标签内设置。如果发送失败,返回FALSE。

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

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

:: 输入参数

filename - 发送的文件。

ftp_path - FTP路径。如果没有指定路径,则使用设置中说明的路径。

示例:
int lasterror=0;

if(!SendFTP("report.txt"))

lasterror=GetLastError();

void SendMail( string 标题, string 内容) 发送邮件到指定信箱

需要到菜单 "工具>选项>EMail” 标签内设置邮件地址

(此项功能可以在客户端设置为禁用,或者省略指定的邮件地址。)

:: 输入参数
subject - 邮件标题
some_text - 邮件内容

示例:

double lastclose=Close[0];

if(lastclose<MY_SIGNAL)
SendMail("from your expert", "Price dropped down to "+DoubleToStr(lastclose));

bool SendNotification( string 信息) 发送推送通知

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

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

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

:: 输入参数
message - 发送的信息,最多255个字符。

示例:
double lastclose=Close[0];

if(lastclose<my_signal)

SendNotification("价格更改 "+DoubleToStr(lastclose,Digits));

void Sleep( int 毫秒) 线程暂停时间

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

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

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

:: 输入参数
milliseconds - 暂停时间 1000 = 1秒

示例:

Sleep(5);

上一篇下一篇

猜你喜欢

热点阅读