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