客服热线:18391752892

MQL4

   日期:2019-01-12     浏览:947    
马上注册,结交更多好友,下载更多资源

您需要 登录 才可以下载或查看,没有帐号?注册 预处理程序是一个特殊MQL4的子程序,在程序执行之前预先准备的程序源代码。预处理程序会尽可能地读取源代码。代码的结构可能包括MQL4 程序源代码的特殊文件。 对于读取的代码尽可能地按照具体常数分配储存。预处理程序允许MQL4 程序参量指定。如果# 标志被使用在程序的第一线, 这条线是预处理程序方针。预处理程序方向末端以换行字符结尾。MQL4包括4种预处理程序:A、 Constant declaration用#define定义常数可以在程序中指定货币对字串符并且定义货币对名称或货币对常数。 稍候,编辑器会按照相应的字串符名称还原所有显示。事实上,这些名称可以由任意数组文本替换:#define identifier value此常数识别符符合变量名称的规则 值可以是以下任意类型:#define ABC        100#define PI       0.314#define COMPANY_NAME metaQuotes Software Corp.
...
void ShowCopyright() {   Print( 版权所有 2001-2007, ,COMPANY_NAME);   Print( http://www.metaquotes.net  }B、 Controlling compilation每个MQL4 程序允添加以#property名称特殊的参量来帮助客户端服务。这是一个内设指标。#property 识别值常数类型描述linkstring公司网站的相关连接copyrightstring公司名称stacksizeint栈式储存器大小library 资料库;查看任何可出现的功能错误indicator_chart_windowvoid在图表窗口显示指标indicator_separate_windowvoid在指定窗口显示指标indicator_buffersint对于指标计算的数字,最大为 8indicator_minimumdouble在指标窗口下端indicator_maximumdouble在指标窗口的上端indicator_colorNcolor在1和8之间显示线的颜色indicator_widthNint在1和8之间显示线的宽度indicator_styleNint在1和8之间显示线的风格indicator_levelNdouble在客户指标窗口1和8之间N的水平indicator_levelcolorcolor水平线颜色indicator_levelwidthint水平线宽度indicator_levelstyleint水平线风格show_/confirm/ivoid在脚本运行之前显示确认show_inputsvoid在脚本运行之前显示它的属性和确认示例:#property link      http://www.metaquotes.net #property copyright    metaQuotes Software Corp. #property library#property stacksize   1024在执行模板设定时,编译器将会写入值。C、 Including of files#include 命令可以放置到程序的任意部分,但是通常所有文件的源代码被统一放置。调用格式;#include file_name #include file_name 示例:#include WinUser32.mqh #include mylib.mqh 对于 WinUser32.mqh.文件内容预处理程序还原线。三角括号表示WinUser32.mqh文件将会从默认目录调用(通常默认目录 terminal_directoryexpertsinclude)。不需要搜索当前目录。如果载开盘价栏内文件名称未锁,搜索将在当前目录中执行(加载的源代码主文件)。 不需要搜索标准目录。D、 importing of functions函数从MQL4 编译模板 (*.ex4 文件) 和执行系统文件模板(*.dll文件)通过。模板名称被指定在#import指令中。来自输入函数和通过参量的兵役数据需要带有完整的描述部分。函数描述会立即按照#import 模板 名称执行。新的#import 命令完成引入输入函数描述部分。#import file_name     func1 define;    func2 define;    ...    funcN define;#import输入函数必须有自己的名称。相同名称的函数无法从不同的模块同时引入。引入的函数名不能与那些内部函数融合。因为引入函数是在模块外面被编写, 编译器无法检查通过参量的正确性。这就是为什么, 避免运行错误, 它是必要精确地公开命令的原因。在参量引入函数(从EX4 和从DLL 模块)后, 没有任何值。 示例:#import user32.dll    int    MessageBoxA(int hWnd, string lpText, string lpCaption, int uType);
#import stdlib.ex4    string ErrorDescription(int error_code);   int    RGB(int red_value, int green_value, int blue_value);   bool   CompareDoubles(double number1, double number2);   string DoubleToStrMorePrecision(double number, int precision);   string IntegerToHexString(int integer_number);
#import Expert示例.dll    int    GetIntValue(int);   double GetDoublevalue(double);   string GetStringValue(string);   double GetArrayItemValue(double arr[], int, int);   bool   SetArrayItemValue(double arr[], int,int, double);   double GetRatesItemValue(double rates[][6], int, int, int);   int    SortStringArray(string arr[], int);   int    ProcessStringArray(string arr[], int);#import在mql4 程序执行期间引入输入函数,需要使用稍后安装。 这就意味着直到调用输入函数,相应模板(ex4 或 dll)将不会进行加载。不建议使用Drive:DirectoryFileName.Ext为文件名安装。MQL4 资料库会从 terminal_direxpertslibraries 文件夹中卸下。如果没有发现资料库,则没有可能从 terminal_direxperts文件夹中卸下。最后感谢大家,欢迎回帖批评指正。

外汇交易有很大的风险性,本站所有资源均来自网络,请选择使用,如若出现亏损,本站不承担任何责任!


特别提示:本信息由相关企业自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


0相关评论
相关行情
推荐行情
点击排行