(十四)Checkup 检查

 

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; // 准备重新开始
}
//…
}

風險提示

MyFxtops邁投所列信息僅供參考,不構成投資建議,也不代表任何形式的推薦或者誘導行為。MyFxtops邁投非外匯經紀商,不接觸妳的任何資金。 MYFXTOPS不保證客戶盈利,不承擔任何責任。從事外彙和差價合約等金融產品的槓桿交易具有高風險,損失有可能超過本金,請量力而行,入市前需充分了解潛在的風險。過去的交易成績並不代表以後的交易成績。依據各地區法律法規,MyFxtops邁投不向中國大陸、美國、加拿大、朝鮮居民提供服務。

邁投公眾號

聯繫我們

客服QQ:981617007
Email: service@myfxtop.com

MyFxtops 邁投