您的位置 首页 外汇EA指标

(十四)Checkup 检查

  Checkup  检查   一组可以检测当前客户端状态(包括 MQL4 程序的环境状态)的函数。 GetLastError( ) 返回最后错误 int GetLast…

 

Checkup  检查
 
一组可以检测当前客户端状态(包括 MQL4 程序的环境状态)的函数。
GetLastError( ) 返回最后错误
int GetLastError( )
函数返回最后生成错误,随后特殊值 last_error 变量的代码存储归零。 所以, 对于
GetLastError() 调用文本将返回 0。
示例:
int err;
int handle=FileOpen(“somefile.dat”, FILE_READ|FILE_BIN);
if(handle<1)
{
err=GetLastError();
Print(“错误(“,err,”): “,ErrorDescription(err));
return(0);
}
IsConnected( ) 返回联机状态
bool IsConnected( )
在客户终端和服务器执行数据之间函数返回主要连接状态。 如果连接服务器成功, 返回 TRUE。
否则,返回 FALSE。
示例:
if(!IsConnected())
{
Print(“没有连接!”);
return(0);
}
// 需要打开连接
// …
IsDemo( ) 返回模拟账户
bool IsDemo( )
如果智能交易在模拟账户运行,返回 TRUE 。否则,返回 FALSE。
示例:
if(IsDemo()) Print(“在模拟账户运行”);
else Print(“在真实账户运行”);
IsDllsAllowed( ) 返回 dll  允许调用
bool IsDllsAllowed( )
如果智能交易函数 DLL 允许调用,返回 TRUE。否则,返回 FALSE。
参见 IsLibrariesAllowed(), IsTradeAllowed().
示例:
#import “user32.dll”
int MessageBoxA(int hWnd, string szText, string szCaption,int nType);
if(IsDllsAllowed()==false)
{
Print(“DLL 不允许调用。智能交易没有运行。”);
return(0);
}
// 智能交易外部调用 DLL 函数
MessageBoxA(0,”an message”,”Message”,MB_OK);
IsExpertEnabled( ) 返回智能交易开启状态
bool IsExpertEnabled( )
如果智能交易开启运行,返回 TRUE。否则,返回 FALSE。
示例:
while(!IsStopped())
{
if(!IsExpertEnabled()) break;
}
IsLibrariesAllowed( ) 返回数据库函数调用
 
bool IsLibrariesAllowed( )
如果智能交易允许调用数据库函数,返回 TRUE 。否则,返回 FALSE。 参见 IsDllsAllowed(),
IsTradeAllowed().
示例:
#import “somelibrary.ex4”
int somefunc();
if(IsLibrariesAllowed()==false)
{
Print(“不允许调用数据库”);
return(0);
}
// 智能交易调用外部 DLL 函数
somefunc();
IsOptimization( ) 返回策略测试中优化模式
bool IsOptimization( )
如果在策略测试中智能交易为优化模式,返回 TRUE。否则,返回 FALSE。
示例:
if(IsOptimization()) return(0);
IsStopped( ) 返回终止业务
bool IsStopped( )
如果程序(智能交易或脚本)得到命令中止业务,返回 TRUE。否则,返回 FALSE。 在客户
端中止执行之前程序业务会继续运行 2.5 秒。
示例:
while(expr!=false)
{
if(IsStopped()==true) return(0);
// 长运行时间循环
// …
}
IsTesting( ) 返回测试模式状态
 
bool IsTesting( )
如果智能交易在测试模式中运行,返回 TRUE 。否则,返回 FALSE。
示例:
if(IsTesting()) Print(“测试中”);
IsTradeAllowed( ) 返回允许智能交易
 
bool IsTradeAllowed( )
如果智能交易允许交易,返回 TRUE 。否则,返回 FALSE。
参见 IsDllsAllowed(), IsLibrariesAllowed(), IsTradeContextBusy()。
示例:
if(IsTradeAllowed()) Print(“允许交易”);
IsTradeContextBusy( ) 返回其他智能交易忙
 
bool IsTradeContextBusy( )
如果其他智能交易交易忙,返回 TRUE。否则,返回 FALSE。
参见 IsTradeAllowed().
示例:
if(IsTradeContextBusy()) Print(“交易文本忙,请稍等”);
IsVisualMode( ) 返回智能交易“图片模式”
 
bool IsVisualMode( )
如果智能交易用”图片模式”测试,返回 TRUE 。否则,返回 FALSE。
示例:
if(IsVisualMode()) Comment(“Visual mode turned on”);
UninitializeReason( ) 返回智能交易初始化原因
 
int UninitializeReason( )
返回智能交易, 自定义指标和脚本的未初始化原因代码。 返回值为未初始化原因代码之一。
此函数同样可以在函数 init() 中调用分析先前开启初始化原因。
示例:
// 这是范例
int deinit()
{
switch(UninitializeReason())
{
case REASON_CHARTCLOSE:
case REASON_REMOVE: CleanUp(); break; // 清理和抽空所有源代码
case REASON_RECOMPILE:
case REASON_CHARTCHANGE:
case REASON_参量:
case REASON_ACCOUNT: StoreData(); break; // 准备重新开始
}
//…
}
Checkup  检查
 
一组可以检测当前客户端状态(包括 MQL4 程序的环境状态)的函数。
GetLastError( ) 返回最后错误
int GetLastError( )
函数返回最后生成错误,随后特殊值 last_error 变量的代码存储归零。 所以, 对于
GetLastError() 调用文本将返回 0。
示例:
int err;
int handle=FileOpen(“somefile.dat”, FILE_READ|FILE_BIN);
if(handle<1)
{
err=GetLastError();
Print(“错误(“,err,”): “,ErrorDescription(err));
return(0);
}
IsConnected( ) 返回联机状态
bool IsConnected( )
在客户终端和服务器执行数据之间函数返回主要连接状态。 如果连接服务器成功, 返回 TRUE。
否则,返回 FALSE。
示例:
if(!IsConnected())
{
Print(“没有连接!”);
return(0);
}
// 需要打开连接
// …
IsDemo( ) 返回模拟账户
bool IsDemo( )
如果智能交易在模拟账户运行,返回 TRUE 。否则,返回 FALSE。
示例:
if(IsDemo()) Print(“在模拟账户运行”);
else Print(“在真实账户运行”);
IsDllsAllowed( ) 返回 dll  允许调用
bool IsDllsAllowed( )
如果智能交易函数 DLL 允许调用,返回 TRUE。否则,返回 FALSE。
参见 IsLibrariesAllowed(), IsTradeAllowed().
示例:
#import “user32.dll”
int MessageBoxA(int hWnd, string szText, string szCaption,int nType);
if(IsDllsAllowed()==false)
{
Print(“DLL 不允许调用。智能交易没有运行。”);
return(0);
}
// 智能交易外部调用 DLL 函数
MessageBoxA(0,”an message”,”Message”,MB_OK);
IsExpertEnabled( ) 返回智能交易开启状态
bool IsExpertEnabled( )
如果智能交易开启运行,返回 TRUE。否则,返回 FALSE。
示例:
while(!IsStopped())
{
if(!IsExpertEnabled()) break;
}
IsLibrariesAllowed( ) 返回数据库函数调用
 
bool IsLibrariesAllowed( )
如果智能交易允许调用数据库函数,返回 TRUE 。否则,返回 FALSE。 参见 IsDllsAllowed(),
IsTradeAllowed().
示例:
#import “somelibrary.ex4”
int somefunc();
if(IsLibrariesAllowed()==false)
{
Print(“不允许调用数据库”);
return(0);
}
// 智能交易调用外部 DLL 函数
somefunc();
IsOptimization( ) 返回策略测试中优化模式
bool IsOptimization( )
如果在策略测试中智能交易为优化模式,返回 TRUE。否则,返回 FALSE。
示例:
if(IsOptimization()) return(0);
IsStopped( ) 返回终止业务
bool IsStopped( )
如果程序(智能交易或脚本)得到命令中止业务,返回 TRUE。否则,返回 FALSE。 在客户
端中止执行之前程序业务会继续运行 2.5 秒。
示例:
while(expr!=false)
{
if(IsStopped()==true) return(0);
// 长运行时间循环
// …
}
IsTesting( ) 返回测试模式状态
 
bool IsTesting( )
如果智能交易在测试模式中运行,返回 TRUE 。否则,返回 FALSE。
示例:
if(IsTesting()) Print(“测试中”);
IsTradeAllowed( ) 返回允许智能交易
 
bool IsTradeAllowed( )
如果智能交易允许交易,返回 TRUE 。否则,返回 FALSE。
参见 IsDllsAllowed(), IsLibrariesAllowed(), IsTradeContextBusy()。
示例:
if(IsTradeAllowed()) Print(“允许交易”);
IsTradeContextBusy( ) 返回其他智能交易忙
 
bool IsTradeContextBusy( )
如果其他智能交易交易忙,返回 TRUE。否则,返回 FALSE。
参见 IsTradeAllowed().
示例:
if(IsTradeContextBusy()) Print(“交易文本忙,请稍等”);
IsVisualMode( ) 返回智能交易“图片模式”
 
bool IsVisualMode( )
如果智能交易用”图片模式”测试,返回 TRUE 。否则,返回 FALSE。
示例:
if(IsVisualMode()) Comment(“Visual mode turned on”);
UninitializeReason( ) 返回智能交易初始化原因
 
int UninitializeReason( )
返回智能交易, 自定义指标和脚本的未初始化原因代码。 返回值为未初始化原因代码之一。
此函数同样可以在函数 init() 中调用分析先前开启初始化原因。
示例:
// 这是范例
int deinit()
{
switch(UninitializeReason())
{
case REASON_CHARTCLOSE:
case REASON_REMOVE: CleanUp(); break; // 清理和抽空所有源代码
case REASON_RECOMPILE:
case REASON_CHARTCHANGE:
case REASON_参量:
case REASON_ACCOUNT: StoreData(); break; // 准备重新开始
}
//…
}
本文来自网络,不代表迈投财经立场,转载请注明出处:http://www.myfxtop.cn/ea/795.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: myfxtop@hotmail.com

9:30 - 18:00/Mon-Fri
返回顶部