诚信为本
量力而为

MQL语言

MQL4中文帮助文档更多>>

  • 21 Obsolete functions 过时的函数 2017-07-02
  • MQL4 程序在不断的完善发展中,由于系统化的需要,一些名称被重新命名。旧的功能名称与 MetaEditor 资料无法连接。有时,编辑器会以适当的途径接纳。不过,我们还是要求使用新名称。   旧名称 新名称   BarsPerWindow WindowBars...

  • 20 Window functions 窗口函数 2017-07-02
  • 当前图表窗口的一组函数。 HideTestIndicators 隐藏指标 void HideTestIndicators( bool hide) 函数设置使用智能交易隐藏指标。在交易被测试以后打开相应的图表,标出的指标将不会出现在测试图表中。 查看每个指标需应用当前隐藏的标...

  • 19 Trading functions 交易函数 2017-07-02
  • 交易管理的一组函数。 从自定义指标中不能调用 OrderSend(), OrderClose, OrderCloseBy, OrderDelete 和 OrderModify交易函数。 交易函数应用于智能交易和脚本中。如果检验智能交易的“允许实事交易”属性,交易函数不能调用。 来自智能...

  • 18 Timeseries access 时间序列图表数据 2017-06-27
  • 任何可见货币对/时间周期的价格数据的一组函数。 如果请求数据(货币对名称/时间周期不同于当前图表)来自其他图表,这种情况可能使相应的图表不能在客户端内打开,并且需要从服务器上请求数据。这种情况下,错误ERR_HISTORY_WILL_UPDAT...

  • 17 Technical indicators 技术指标 2017-06-27
  • 标准和自定义指标的一组计算函数。 对于交易(或其他 MQL4 程序)接受其他指标的值,这个值不可能存在于图表之内。这个请求的指标将在嗲用模件中被加载并计算。 不仅可以计算当前图表中的任何指标,同样可以计算任何有效的货币对/时间周...

  • 16 String functions 字符串函数 2017-06-26
  • 字串符类型数据的一组函数。 StringConcatenate 字符串连接 string StringConcatenate( …) 数据的字串符形式通过并且返回。 参量可以为任意类型。通过参量的总数不得超过 64 个字符。 作为应用到 Print(), Alert() 和 Comment()...

  • 15 Object functions 目标函数 2017-06-26
  • 对于当前图表有关的图表物件的一组函数。 ObjectCreate 建立目标 bool ObjectCreate( string name, int type, int window, datetime time1, double price1, void time2,void price2, void time3, void price3) 物件创建的指定名称、类...

  • 14 Math & Trig 数学和三角函数 2017-06-25
  • 一组数学和三角设置函数。 MathAbs double MathAbs( double value) 返回绝对值(模数)的指定的数值。 参量: value – 数字值. 示例: double dx=‐3.141593, dy; // calc MathAbs dy=MathAbs(dx); Print(“The absolute value ...

  • 13 Global variables 全局变量 2017-06-25
  • 和整体变量一起使用的一组函数。 客户端整体变量不应该与 MQL4 程序中的变量混合。 最后访问的整体变量可以在客户端内保存 4 个星期,随后将被自动删除。 对于整体变量的范文不仅仅是新值的设定,同样可以对整体变量进行读取。 在客户...

  • 12 File functions 文件函数 2017-06-25
  • 一组文件运行函数。 三个文件目录(补充指南)放置的地方: /HISTORY/<current broker> ‐ FileOpenHistory 函数; /EXPERTS/FILES ‐ 常规状况; /TESTER/FILES ‐ 专门测试. 来自其他目录的工作文件禁止。 FileClose 关闭文件 void Fi...

MQL4函数模块更多>>

  • EA开仓函数 2018-01-17
  • 该EA开仓函数比较简明,可以做进一步完善后在EA编写中调用。函数一个参量:int type,订单类型。 input double TakeProfit = 1000; // input double StopLoss = 500; input double Lots = 1; input int Slippage = ...

  • MT4编程中简洁的EA平仓函数 2018-01-16
  • 该EA平仓函数十分简洁,用在多单和空单不加仓、不同时持仓的策略中比较合适,比如均线金叉平空单、死叉平多单之类的EA。函数一个参量:int type,订单类型。 input int mymagic=99999; bool CloseOrder(int type) { if(OrderSym...

  • EA编程中获取指定货币对持仓单数量的函数 2018-01-11
  • 该函数获取指定货币对的持仓单数量。函数一个参量:货币对代码 TradeSymbol_1。 input int mymagic=99999; int TotalTradesThisSymbol(string TradeSymbol_1) { int i, TradesThisSymbol=0; for(i=0;i<OrdersTotal();i+...

  • MT4简单画线函数 2018-01-03
  • 该自定义函数十分简单,调用时给出文字名称、水平价格、颜色就可以在图表创建直线。 void SetLevel(string text, double level, color col1) { string labelname= text + " Label"; string linename= text + " Line"; ...

  • 外汇EA编程中移动止损功能的实现 2017-12-15
  • 该函数在订单盈利后执行移动止损功能。 input int TrailingStop=50; input int TrailingStep=0; input int Magic=123456; bool cg = false; void MoveTrailingStop() { int cnt,total=OrdersTotal(); for(cnt=0;cnt<t...

  • MT4 EA自定义函数灵活获取各类型订单总数量 2017-12-15
  • 该函数两个参量:订单类型、订单识别码。调用的时候只要指定订单类型和订单识别码即可灵活获取对应订单的总数量。 int Magic_buy=12345; int Magic_sell=45678; int CountOrders(int Type,int Magic) { int _CountOrd; _Co...

  • 以订单识别码Magic归类平仓空单函数 2017-12-06
  • 该函数会选择指定订单识别码Magic下的持仓空单和空方向挂单并执行平仓和删除挂单。 input int mymagic=99999; void CloseSellOrders(int Magic) { for(int cnt=OrdersTotal()-1;cnt>=0;cnt--) { bool cg = OrderSelec...

  • 以订单识别码Magic归类平仓多单函数 2017-12-06
  • 该函数会选择指定订单识别码Magic下的持仓多单和多方向挂单并执行平仓和删除挂单。 input int mymagic=99999; void CloseBuyOrders(int Magic) { for (int cnt=OrdersTotal()-1;cnt>=0;cnt--) { bool chenggong = Orde...

  • MT4报警函数示例 2017-10-17
  • 在MT4中移动平均线的金叉死叉提示、价格突破报警、EA授权到期提示、账户持仓改变提醒等等情况就会用到报警函数。MT4内置三种报警函数如下: Alert()弹窗报警:括号()内的内容可以是纯字符串信息,如“均线金叉啦!”也可以是函数或变...

  • 平保函数 2017-09-13
  • 所谓的平保,就是订单盈利后将止损移动到开仓价格位置,以零点利润保护订单不亏损出场。当然也可以保护到开仓价格上面指定点数,修改函数中的0即可。 extern int BreakEven=0;//启动平保需要的盈利点数 void MoveBreakEven() { ...

MQL4初级培训教程更多>>

  • 4.30 威廉指标简称WPR 2017-02-04
  • Williams’Percent Range威廉指标简称WPR。 iWPR属于震荡指标,提示市场是否超买超卖。 【用法】 WPR能够大胆预测市场的反转; WPR在0~-20%之间,市场处于超买状态; WPR在-80%~-100%之间,市场处于超卖状态。 【语法】 double iWPR(...

  • 4.29 Volumes成交量指标 2017-02-04
  • iVolumes在图表中显示成交量柱线。 【用法】 【语法】 double iVolume( string symbol, int timeframe, int shift) 1、 symbol 指定货币对,NULL为默认当前货币对 2、 timeframe 时间周期,0为当前时间周期 3、 shift 指定柱值...

  • 4.28 随机震荡指标KD 2017-02-04
  • Stochastic Oscillator随机震荡指标又叫KD。 iStoch属于震荡指标,又叫KD指标,提供买卖信号。 【用法】 可使用神奇数字做检测; 两线低于20,再回升到20以上,做多; 两线高于80,再回落到80以内,做空; %K高于%D线,做多; %K底于...

  • 4.27 标准离差指标StdDev 2017-02-04
  • Standard Deviation标准离差指标简称StdDev。 iStdDev属于趋势指标,反映市场活跃程度。 【用法】 StdDev读数低,说明市场不活跃,读数高说明市场活跃。 【语法】 double iStdDev( string symbol, int timeframe, int ma_period, int ...

  • 4.26 相对活力指数指标RVI 2017-02-04
  • Relative Vigor Index相对活力指数指标简称RVI。 iRVI属于震荡指标,发出买卖信号。 【用法】 RVI两线相交,发出买入卖出信号。 【语法】 double iRVI( string symbol, int timeframe, int period, int mode, int shift) 1、 symbo...

  • 4.25 相对强弱指标RSI 2017-02-04
  • Relative Strength Index相对强弱指标简称RSI。 iRSI属于震荡指标,反映市场买卖强度。 【用法】 RSI读值超过70,市场处于超买阶段,低于30处于超卖阶段; RSI处于30~70之间,市场按照RSI方向发展。 同时使用两个或三个不同周期的RSI...

  • 4.24 抛物线指标SAR 2017-02-04
  • Parabolic SAR抛物线状止损和反转指标简称SAR。 iSAR属于趋势指标,给出一个市场趋势结束或者开始信号。 【用法】 SAR读值低于价格水平,市场处于涨势,反之处于跌势; 该指标过于敏感,需要其他指标配合。 【语法】 double iSAR( s...

  • 4.23 能量潮指标OBV 2017-02-04
  • On Balance Volume能量潮指标简称OBV。 iOBV属于成交量指标,成交量和价格相互关联,给出市场趋势信号。 【用法】 需要与牛力指标、熊力指标联动。 【语法】 double iOBV( string symbol, int timeframe, int applied_price, int shif...

  • 4.22 移动平均震荡指标OsMA 2017-02-04
  • Moving Average of Osillator移动平均震荡指标简称OsMA。 iOsMA属于震荡指标,用于判断CDMA是否加速。 【用法】 【语法】 double iOsMA( string symbol, int timeframe, int fast_ema_period, int slow_ema_period, int signal_period...

  • 4.21 移动平均线指标MA 2017-02-04
  • Moving Average移动平均线指标简称MA. iMA属于趋势指标,通常以3个不同周期的线组成一个指标体系。 【用法】 价格小于28、14线时,跌势可能形成,可做空; 价格小于28、14、7线时,保持跌势,可做空或继续持有空单; 价格运行至7、14...

MQL4编程参考文档更多>>

  • MQL4编程常用英文单词解释 2017-04-15
  • 1. 逻辑符号 AND, NOT, OR. 与 非 或 2. MQL4语言指令 Array 数组, Begin 开始, Break 中断, Continue 继续, Define 预定义, Downto 递减循环, Else 否则, End 终止, Exit 退出函数, For 增量循环, If 条件如果, Input 输入, Then 于...

  • MQL4过时函数 2017-01-24
  • 在MQL4语言历经多次升级后有些函数名称可能被重新命名或归入另一类,因此,函数旧名称可能无法继续使用编辑器也不支持。现列举如下,实际编写中以新名称为标准。 旧名称 新名称 BarsPerWindow WindowBarsPerChart ...

  • MQL4窗口数据处理函数 2015-10-06
  • 下列函数处理MT4窗口数据。 HideTestIndicators() – 隐藏测试指标 Period() – 获取图表时段 RefreshRates() – 刷新数据 Symbol() – 获取图表货币对名称 WindowBarsPerChart() – 获取图表中柱体总数 WindowExpertName() – 获取图表上...

  • MQL4技术指标相关函数 2015-10-05
  • 下列函数处理MT4自带的技术指标及自定义指标。 iAC() – 加速震荡指标 iAD() – 离散指标 iAlligator() – 鳄鱼指标 iADX() – ADX指标 iATR() – ATR指标 iAO() – 动量震荡指标 iBearsPower() – 熊力指标 iBands() – 布林线指标 iBandsOn...

  • MQL4数学求值类函数 2015-10-05
  • 下列函数处理MQL4的数学求值类相关。 MathAbs() – 求绝对值 MathArccos() – 求反余弦 MathArcsin() – 求反正弦 MathArctan() – 求反正切 MathCeil() – 取最小整数 MathCos() – 求余弦 MathExp() – 求e的幂 MathFloor() – 取最大整数 ...

  • MQL4常规函数 2015-09-30
  • 下列函数用于常规信息推送等处理。 Alert() – 弹出警告窗口 Comment() – 图表上显示信息 Print() – 输出文本信息 PlaySound() – 播放声音文件 MarketInfo() – 获取市场相关信息 GetTickCount() – 获取运行时间 MessageBox() – 显示信...

  • MQL4客户端状态检测相关函数 2015-09-30
  • 这组函数可以检测客户端的当前状态,包括运行MQL4程序的环境状态。 GetLastError() – 获取最新产生的错误信息 IsConnected() – 判断连接状态 IsDemo() – 判断是否是模拟账户 IsDllsAllowed() – 判断是否允许调用DLL函数 IsExpertEnab...

  • MQL4客户端信息相关函数 2015-09-30
  • 本组函数返回客户端信息。 TerminalCompany() – 获取客户端所属公司名称 TerminalName() – 获取客户端名称 TerminalPath() – 获取客户端文件目录路径 TerminalCompany() – 获取客户端所属公司名称 string TerminalCompany() 返回客...

  • MQL4预定义变量 2015-09-29
  • 对于每个可执行的MQL4程序,在程序启动时(智能交易、脚本或是自定义指标),诸多的预定义变量可以轻松应对图表中的各种价格状态等价格相关信息。 库可以使用模块中的预定义变量。 为了能安全、快速地访问这些数据,客户端程序会为每...

  • MQL4交易处理函数 2015-09-29
  • 本组交易函数应用于智能交易和脚本中。只有智能交易设置中的“允许实时交易”属性被选中,才能调用交易函数。 从自定义指标中不能调用OrderSend()、OrderClose()、OrderCloseBy()、OrderDelete()和OrderModify()交易函数。 为了在智能交...

MQL4高级培训教程更多>>

  • 第十一章 User32.dll函数列表 2017-01-26
  • User32.dll是一个功能十分强大的程序库,我们可以不仅仅使用MQL4中的MessageBox命令,还可以调用其他所有的函数,让EA功能更加强大,表现形式更加丰富。 表 10.4‑1 user32.dll函数列表: 函数名称 功能说明 ActiveKeyboardLayout...

  • 第十章 常见问题解答 2017-01-26
  • 10.1 EA相关 1.如何控制在一个蜡烛中只做一个交易动作? 我们发现在一个较大时间周期中(例如M15)符合开仓条件的新价格会多次出现,当第一个价格出现并成功开仓后,以后的价格都需要忽略。程序控制方法如下: int LastTime=0;  //定...

  • 第九章 EA反编译概述 2017-01-26
  • MQL4源文件通过编译后会自动生成一个.ex4文件,大多数情况下人们都会用.ex4来做交流。这个文件进行编译后就无法用编辑器直接打开了,网上总是有好事者会提供一些反编译程序来还原这个.ex4程序。 反编译还原之后的程序用编辑器打开后如...

  • 第八章 文件操作 2017-01-26
  • 在MT4平台上我们经常需要对各类市场数据进行分析,或者我们需要将自动交易程序执行过程中的信息记录下来,就需要用到文件操作。简单来说,就是新建一个文件,将数据保存到该文件中,然后在程序的其他部分将该文件打开,读取数据进行计...

  • 第七章 关于API 2017-01-26
  • 7.1 什么是API API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是让应用程序与开发人员能够在开发自有软件时直接调用这些函数,无需访问源码。 API除了有应用“应用程序接口”的意思外,还特指 API...

  • 第六章 DLL编程 2017-01-26
  • 6.1 DLL概述 众所周知,MQL4保密性很差,你的交易思路如果用MQL4语言实现,就存在着被人偷盗窃取的可能。在与众多的对赌平台博弈过程中,我们也不愿意让经纪商看懂下单与平仓的意图,那么,编制DLL程序就显得十分重要了。本篇着重点放...

  • 第五章 编写include文件 2017-01-25
  • MQL4规定,在MQL4\include文件夹中用来保存代码库(Include)文件。这些库文件以.mqh作为后缀,平时我们积累的自定义函数都可以汇总起来建立一个或多个“库”文件,在程序编写的时候可以直接调用而无需拷贝代码,提高效率的同时还可使主程...

  • 第四章 编写Scripts 2017-01-25
  • “Scripts”我们可以理解为“脚本程序”,MQL4规定脚本程序保存在MQL4\scripts文件夹中,后缀名为.mq4。 脚本程序是用来快速执行交易的自动程序,比如当你发现一个好价位出现的时候,而手工下单需要填写价格、开仓量太浪费时间,那么就可...

  • 第三章 自定义指标编写 2016-07-02
  • 曾经有人问我:编制指标时计算每个蜡烛的数据是从当前蜡烛往前,还是从最开始的蜡烛到当前? 我的回答是:通常情况下应该从当前蜡烛往前计算,但如果指标中包含了未来函数就要从左到右来计算了。 3.1两个必须掌握的命令  3.1.1 Indica...

  • 第二章 编程规则 2016-04-29
  • 2.1 主图和副图 自动交易系统编程是围绕着主图和副图展开的,主图中用K线或者蜡烛显示行情基本信息,部分技术指标如移动平均线会显示在主图中,副图则用来显示技术指标图形。 在主图中通过切换标签查看不同的交易品种,每个主图可以附...

MQL5编程参考文档更多>>

  • 1.2.9 引用,修饰符&和关键字this 2017-12-26
  • 通过引用传送参数 在MQL5的简单类型参数能够通过值和引用传送,而复合类型参数经常通过引用传送。若使编译器了解参数是通过引用传送,需要在参数前加上 & 符号。 通过引用传送参数意味着传送变量地址,这就是通过引用传送的参数的...

  • 1.2.8 目标指针 2017-12-26
  • 在MQL5中,有可能动态地创造复杂形势的目标,被新操作执行,创造目标返回一个描述符号,描述符号占用8字节。根据语法来说,在MQL6中的描述符号目标中与C++程序类似。 示例: MyObject* hobject= new MyObject(); 相较于C++,上面示例...

  • 1.2.7 空型和NULL常量 2017-12-26
  • 依照语法来说,空型是一种基本类型,附带图表、非图表、布尔型、短整型、无符号短整型、整型、无符号整型、长整型、无符号长整型、日期时间型、浮点型、双精度型和字符串型。类型被指示出来,该功能不返回任何值,而一个功能参数表示...

  • 1.2.6 类型转换 2017-12-26
  • 创建数字符 有必要把一组数字类型变化成另一种数字类型,但并非作用数字类型都能转换,下面是允许转换的模式: 箭头指明表示转换方向,期间没有任何损失信息,布尔型可以取代字符类型(只占用1字节),颜色型可以取代整型(4字节),...

  • 1.2.5 动态数组目标 2017-12-21
  • 动态数组 最大的四次元数组也可被声明。 当定义一个动态数组,(方括号里第一对未知值数组),编译器自动编译上述结构变量(动态数组变量)为正确的初始化提供代码。 当声明程序在能见度之上数组自动释放。 示例: double matrix[][10...

  • 1.2.4 架构和类以及界面 2017-12-21
  • 架构 架构是设定任何类型的元素(除了 空型),因此,架构要组合不同类型的逻辑相关资料。 架构说明 以下描述定义结构类型数据: struct structure_name { elements_description }; 架构名称不能用作标识符(变量或功能的名称),...

  • 1.2.3 字符串数据 2017-12-21
  • 字符串数据是用来存储文本串的,文本串是以编码的形式末尾为0的字符序列,每串常数分配给一个变量,每串数据都用双引号引出写着“这是一串字符常量”。 如果字符串中包括双引号(“),那么反斜杠字符(\)必须放其前面。如果反斜杠字...

  • 1.2.2 真实型 2017-12-21
  • 真实型(或浮点型)以小数部分为代表值,在MQL5语言里,浮点型数据有两种类型,在内存中实型数据的表示方法由 IEEE 754水平规定,它并不依赖平台、操作系统和程序语言。 类型 字节大小 最小正值 最大值 C++ 类似物 float 4 1.17...

  • 1.2.1 整型数据 2017-12-14
  • 整型数据 在MQL5中整数有11个类型,如果逻辑程序需要,一些类型能与另一些类型一起使用,但是在此种情况下,要记住类型转换 规则。 下面列表中显示了每一类型的特性,此外,每一类型的最后一列均与C++程序类型相同。 类型 字节大...

  • 1.2 数据类型 2017-12-14
  • 任何程序都依靠数据来运作,数据因目的不同可以有不同的类型 。比如,访问数组可以用整型数据,价格可以用双精度的浮点型数据。在 MQL5 中没有专门用来标记货币值的数据类型。 不同的数据类型有不同的处理速度,整型数据是最快的。 双...