MQL4 Reference MQL4命令手册(完整版)
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; // 准备重新开始
}
//...
}
|
|
|
|
|