admin 第1106页
-
MQL4基础:数据类型
类型转换 整型常量 字符常量 布尔型常量 浮点常量(双精度常量) 字符串常量 颜色常量 时间日期常量任何程序都要依靠数据来运行,数据因日的不同可以有不同的类型。比如,数组可以存取整型数据,价格可以用浮点型双精度数表示。在MQL4中没有专门用来表示货币值的数据类型。不同的数据类型有不同的处理速度,整型数据是最快的。处理双精度的数据需要使用特殊的协处理器,所以,处理浮点型数据比较复杂,它比处理整型数据要慢一些。字符串处理速度是最慢的,因为它要分配/重分配计算机动态内存。主要的数...
-
MQL4常规函数(二)
常规用途函数,不涉及任何专用函数。Alert() – 弹出警告窗口 Comment() – 图表上显示信息 Print() – 输出文本信息 PlaySound() – 播放声音文件 MarketInfo() – 获取市场相关信息 GetTickCount() – 获取运行时间 MessageBox() – 显示信息框 SendFTP() – 发送文件到FTP服务器 SendMa...
-
MQL4预定义变量(一)
获取最新卖价 Ask获取最新买价 Bid获取图表柱数 Bars获取货币对小数位数 Digits 获取货币对点值 Point 对于每个可执行的MQL4程序,在程序启动时(智能交易、脚本或是自定义指标),诸多的预定义变量可以轻松应对图表中的各种价格状态等价格相关信息。库可以使用模块中的预定义变量。为了能安全、快速地访问这些数据,客户端程序会为每个单独启动的程序提供预定义变量的本地副本。这些数据会在每次运行智能交易或自定义指标后自动更新,或调用RefreshRates()函数更新...
-
MQL4预定义变量(二)
获取每个柱体(K线)的收盘价 Close[ ]获取每个柱体(K线)的开盘价 Open[ ]获取每个柱体(K线)的最高价 High[ ]获取每个柱体(K线)的最低价 Low[ ]获取每个柱体(K线)的开盘时间 Time[ ]获取每个柱体(K线)的成交量 Volume[ ]对于每个可执行的MQL4程序,在程序启动时(智能交易、脚本或是自定义指标),诸多的预定义变量可以轻松应对图表中的各种价格状态等价格相关信息。库可以使用模块中的预定义变量。为了能安全、快速地访问这些数据,客户端...
-
MQL4客户端状态检测相关函数
这组函数可以检测客户端的当前状态,包括运行MQL4程序的环境状态。GetLastError() – 获取最新产生的错误信息 IsConnected() – 判断连接状态 IsDemo() – 判断是否是模拟账户 IsDllsAllowed() – 判断是否允许调用DLL函数 IsExpertEnabled() – 判断智能交易是否开启 IsLibrariesAllowed() – 判断是否允许调用库函数...
-
MQL4基础:运算符和表达式
表达式算术运算符赋值运算符 关系运算符 布尔运算符 位运算符 其他运算符 优先级规则 某些数字和字符的组合是特别重要的,它们被称为运算符,例如:算术运算符:+ – * / %逻辑运算符:&& ||赋值运算符:= += *=运算符常用在表达式中,只有结合操作数时才有意义。需要特别注意标点符号,如圆括号、方括号、逗号、冒号、分号。运算符、标点符号、空格用来分割语句的不同部分。表达式一个表达式由一个或多个操作数和运算符组成,一个表达式可以分成若干行来书...
-
孤胆骑警- 单烛台模式
锤子线线和上吊线锤子线线和上吊线看上去一模一样,但又依赖于价格行动的完全不同的含义。两者都有可爱的小身形(黑色或白色),长下影,短的或不存在的上阴影。锤子线是在一个跌势形成的牛市的逆转模式。它因为是市场制定出一个底部而被命名。当价格下跌,锤子线表明底部已经临近,价格将开始回升。长下影线表明,卖家推动价格较低,但买家能够克服这种抛售压力。仅仅因为你看到锤子线的下跌趋势,并不意味着你自动放置一个订单!在安全的扣动扳机之前你需要更多看涨趋势的确认。等待一个白色的烛台,在锤子线的左侧开盘是一个很...
-
MQL4预定义标准常量(三)
对象类型对象属性对象可视性 为了简化程序编写,使程序文本编辑使用起来更加简便,在MQL4中预定义了标准常量。标准常量类似于宏代换,并且是int(整数类型)。这些常量按用途进行分组。对象类型对象类型常量在ObjectCreate(), ObjectsDeleteAll() 和 ObjectType() 函数中使用。 可以使用以下任意值:对象可能有1-3 个相关类型的坐标。常数值描述OBJ_VLINE0垂直线。使用第一坐标的时间部分。OBJ_HLINE1水平线。使用第一坐标的价...
-
MQL4客户端信息相关函数
本组函数返回客户端信息。TerminalCompany() – 获取客户端所属公司名称 TerminalName() – 获取客户端名称 TerminalPath() – 获取客户端文件目录路径 TerminalCompany() – 获取客户端所属公司名称string TerminalCompany()返回客户端所属公司名称。 示例:Print("公司名称 ",TerminalCompany());Ter...
-
MQL4预定义标准常量(四)
未初始化原因代码特殊常量 错误代码为了简化程序编写,使程序文本编辑使用起来更加简便,在MQL4中预定义了标准常量。标准常量类似于宏代换,并且是int(整数类型)。这些常量按用途进行分组。未初始化原因代码使用UninitializeReason() 函数返回未初始化原因代码。可以是以下任意值:常数值描述0脚本独立执行完成REASON_REMOVE1从图表中删除智能交易。REASON_RECOMPILE2重新编译智能交易。REASON_CHARTCHANGE3改变了图表货币对和...
-
MQL4预定义标准常量(一)
序列化数组图表时段 交易类型 价格常量 市场信息 画线样式 箭头代码 为了简化程序编写,使程序文本编辑使用起来更加简便,在MQL4中预定义了标准常量。标准常量类似于宏代换,并且是int(整数类型)。这些常量按用途进行分组。序列化数组序列化数组标识符用在ArrayCopySeries(), iHighest()和iLowest()函数。可以是以下任意值:常数值描述MODE_OPEN0开盘价MODE_LOW1最低价MODE_HIGH2最高价MODE_CLOSE3收盘价MODE...
-
MQL4数组处理相关函数(二)
用于数组处理的一组函数。数组的最大维数为四维。每一维索引编号为0至(数组大小 减 1)。例如,在50个元素的一维数组中,调用第一个元素用array[0],最后一个元素用array[49]。ArrayBsearch() – 数组搜索 ArrayCopy() – 数组复制 ArrayCopyRates() – 复制柱体(K线)数据到二维数组 ArrayCopySeries() – 复制柱体(K线)数据到一维数组 ArrayDime...
-
MQL4数组处理相关函数(三)
用于数组处理的一组函数。数组的最大维数为四维。每一维索引编号为0至(数组大小 减 1)。例如,在50个元素的一维数组中,调用第一个元素用array[0],最后一个元素用array[49]。ArrayBsearch() – 数组搜索 ArrayCopy() – 数组复制 ArrayCopyRates() – 复制柱体(K线)数据到二维数组 ArrayCopySeries() – 复制柱体(K线)数据到一维数组 ArrayDime...
-
MQL4预定义标准常量(二)
常用指标线标示符Ichimoku Kinko Hyo指标线标示符移动平均计算方法信息框Wingdings符号Web颜色名称 为了简化程序编写,使程序文本编辑使用起来更加简便,在MQL4中预定义了标准常量。标准常量类似于宏代换,并且是int(整数类型)。这些常量按用途进行分组。指标线标示符指标线常量标示符用在iMACD(), iRVI()和iStochastic()函数指标中。可以是以下的任意值:常数值描述MODE_MAIN0基本指标线。MODE_SIGNAL1信号线。指标线...
-
扒一扒市场上各种类型的外汇EA,如何更好的利用EA!
目前外汇EA的类型及特点主要有以下几种:趋势型EA:适合稳健的中长期交易,盈利能力不一定最强,但胜在稳定,亏损的波幅比例相对较小,有较高的安全系数。头皮类EA:纯粹是快进快出的超短线典范,多在行情平淡的晚间时段使用,蚂蚁啃骨头,苍蝇也是肉,吃的多了也能饱,只是对平台的交易环境要求高。加码型EA:属于打死不回头的犟牛,以趋势信号为基础,只要没出反转信号,越亏越翻倍增加头寸,多配合移动止赢参数,适合大资金小头寸结合使用,本钱厚扛得住,也有守得云开见月明的时候。但一旦止...
-
MQL4账户信息相关函数
账户信息相关函数AccountBalance() – 获取账户余额 AccountCredit() – 获取账户信用额度 AccountCompany() – 获取账户所在公司名称 AccountCurrency() – 获取账户结算货币名称 AccountEquity() – 获取账户净值 AccountFreeMargin() – 获取账户可用保证金 AccountFreeMarginCheck()...
-
新版MQL4错误代码中文释义(含新增错误代码)
新版MQL4增加了许多内容,于是,自定义了一个错误代码函数,并重新翻译了错误代码的中文意思。作为手册查看也是不错的。string iGetErrorInfo(int myErrorNum){ string myLastErrorStr; if(myErrorNum>0) {  ...