2022-11-14 13:16
Jkel

  MT4编程入门教程MT4 编程初学教程 MT4 编程初学教程目次 MT4 编程初学 1: MT4 自界说目标的根基操作 MT4 编程初学 2: 目标源码中的常用符号注明 MT4 编程初学 3: 自 界说变量 MT4 编程初学 4: 自 界说函数 MT4 编程初学 5: 自 界说数组 MT4 编程初学 6: 市集数据取值 MT4 编程初学 7: 决断语句 MT4 编程初学 8: 轮回 MT4 编程初学 9: MT4 自界说目标的组织 MT4 编程初学 10: 画一条件标线: MT4 自界说目标的根基操作 MT4 自界说目标的保留目次、 目标编缉器与目标移用 一、 MT4 自界说目标保留正在 C:...

  MT4 编程初学教程 MT4 编程初学教程目次 MT4 编程初学 1: MT4 自界说目标的根基操作 MT4 编程初学 2: 目标源码中的常用符号注明 MT4 编程初学 3: 自 界说变量 MT4 编程初学 4: 自 界说函数 MT4 编程初学 5: 自 界说数组 MT4 编程初学 6: 市集数据取值 MT4 编程初学 7: 决断语句 MT4 编程初学 8: 轮回 MT4 编程初学 9: MT4 自界说目标的组织 MT4 编程初学 10: 画一条件标线: MT4 自界说目标的根基操作 MT4 自界说目标的保留目次、 目标编缉器与目标移用 一、 MT4 自界说目标保留正在 C:\Program Files\Meta Trader 4\experts\indicators 这个目次中, 该目次中厉重有二品种型的文献, 一种是 mq4 文献, 这是 MT4 自 界说目标的源码文献, 是一种高级说话文献, 可能人工编写点窜, 机械不行直接实行, 但能正在 MT4 启动时主动编译为 ex4 可实行文献。 另一种便是 ex4 文献, 这是 MT4 自 界说目标的可实行文献, 由 mq4 文献编译获得。 mq4 文献必需编译为 ex4 文献材干被 MT4 实行。 但 ex4 文献是机械码文献, 人工不成点窜 别的尚有一个文献是 alchemical.dat, 它用来保留目次中的文献消息, 假使 MT4 无法主动编译,只须删除此文献即可处分题目 mq4 文献编译为 ex4 可实行文献有两种手段: 1、 MT4 启动时, 会主动把此目次中的 mq4 文献编译为 ex4 文献。 2、 用 MQ 说话编辑器翻开 mq4 文献, 点一下“编写” 按钮, 即可天生 ex4 文献 二、 下载保留 mq4 文献、 ex4 文献 正在论坛上咱们时常看到有 mq4 文献、 ex4 文献可供下载, 咱们只须把它们保留到 C:\Program Files\Meta Trader 4\experts\indicators 这个目次, 也便是下面这个目次中, 就可能了。 假使下载的是 ex4 文献, 那可能直接移用; 假使是 mq4 文献, 则须要重启动 MT4, 让编制主动编译天生ex4 可实行文献。 假使下载的是 ar、 zip 等类型的压缩文献, 还必需下载后解压到此目次材干利用。 三、 将源码保留为源码文献 正在论坛上, 咱们也时常能看到目标源码贴正在网页上, 但没有 mq4、 ex4 等文献可能下载, 只可复制源码。 此时须要咱们自身着手将源码保留为源码文献, 那也不要紧, 非凡地容易, 众点几下鼠标就搞定。 1、 翻开 MQ 说话编辑器 2、 正在 MQ 说话编辑器中新筑一个文献, 文献名肯定要输, 其余任意操作都不要紧。 3、 删除新文献内中的扫数实质, 成为一个空文献, 4、 接着咱们就可能将网页上源码复制粘贴进来 试着点一下“编写”, 假使左下角展现“0 失误, 0 警觉”, 那注明源码没题目, 编译通过了, 告成天生了 ex4 可实行文献 5、 尚有很紧张的一点, 便是要把源码文献保留到精确的目次中 保留后, 再点一下编写。 到此, 源码保留结束。 当然, 咱们也尚有另的门径: 可能翻开一个原已存正在的 mq4 文献, 然后另存为你须要的文献名, 再删除文献中的扫数实质成为空文献, 把网页上的源贴到文献中保留即可 也可能正在记事本中新筑一个文献, 把网页上的源码贴进记事本, 然后取个文献名保留到上面提到的目次, 然而文献后缀必需输入 mq4, 保留类型拣选“是以文献” 四、 mt4 步骤移用自界说目标 这非凡容易 MT4 编程初学 2: 目标源码中的常用符号注明 一、 解说符: 单行解说“//”、 众行解说“/* */” 步骤不实行解说, 解说实质仅供阅读或保存不消的语句 正在 MQ 说话编辑器中, 解说实质以灰色显示 二、 分号“; ” 流露一个语句终止 三、 逗号“, ” 流露一个语句内部间隔, 不终止语句。 四、 等于号“=” 赋值语句, 把等号后面的值赋给等号前的变量中 五、 加号“+” 整数或小数, 则流露值相加; 字符串, 则流露前后连绵。 六、 加加“++” 流露把符号前的变量值加 1, 比如:“i++;” 这实质上便是:“i=i+1;” 的简写, 流露 i 的值加 1 七、 加等于“+=” 流露把符号后的值加到符号前的变量中。 比如“i+=2;”, 实质上便是“i=i+2;” 的简写, 流露 i的值加 2 八、 双等号“==” 等于号。 用于逻辑决断, 双等号前后值相称, 则返回逻辑值“真 true”; 双等号前后值不相称,则返回逻辑值“假 false” 九、 叹号等号“!=” 不等于号。 用于逻辑决断, 不等号前后值不相称, 则返回逻辑值“真 true”; 不等号前后值相称,则返回逻辑值“假 false” 十、“” 逻辑符“而且” 十一、“” 逻辑符“或者” 十二、 大括号“{}” 流露函数体。 {}内部为函数体语句。 MT4 编程初学 3: 自 界说变量 一、 自界说变量正在利用前, 必需先创筑(界说), 设定变量的类型和名称。 创筑时可同时赋值, 也可能不赋值。 名称可能利用中文字符。 例: int mark; 创筑一个整型变量, 变量名为“mark”。 biol 是否报警=true; 创筑一个逻辑型变量, 变量名为“是否报警”, 同时, 赋初值“true” 二、 类型和类型界说词 自界说变量的根基类型有: 1、 整形(int): 便是整数, 包含负整数 2、 双精度小数(double): 可能容易地领会为带小数位的数 3、 字符串型(string)。 4、 逻辑型(biol): 其值分歧为“true、 false”, 即“真、 假”, 也可能写成“1、 0”(1 线 假)。 类型界说词仅正在创筑变量时利用, 后面利用变量时, 就不行再加类型界说词了 三、 附加变量 附加变量便是正在步骤进入利用后, 变量值承诺用户自正在更改的变量, 日常用作步骤参数。 日常目标, 比如 MACD(12,26,9)参数输入便是通过附加变量竣工, (12,26,9)分歧为三个附加变量的默认值。 界说附加变量只需正在变量界说语句前加“extern” 例: extern int 周期=9; 创筑一个整型附加变量, 变量名为“周期”, 默认值为 9, 承诺用户正在步骤外部点窜参数值 MT4 编程初学 4: 自 界说函数 自界说函数与数学函数正在性子上是同等的 比如: 数学函数 ft(x,y)=3x+2y (x,y 为正整数) 写成步骤语句便是: int ft(int x,int y) { int temp; temp=3*x+2*y; return(temp); } 一、 和自界说变量一律, 自界说函数正在利用前, 也必需先设立, 以界说其类型、 名称、 参数和运算语句。 函数类型、 名称、 参数位于函数头部(参数间以逗号分开), 大括号中的是运算语句, 也便是函数体个人。 return 语句为函数终止语句, return 后面括号中的值为函数返回值, 即函数运算结果。 上例中, int 为函数类型, 流露该函数的返回值(运算结果)是整数; (x,y)为参数, 因为自界说变量利用之前都必需先创筑, 是以要加上类型界说词 int ft 为函数名, 有了函数名, 咱们就可能正在别处用 ft(2,1)的办法来移用此函数; 函数体个人有三句: 第一句, 界说一个整形变量 temp 第二句, 打算 temp 的值 第三句, 函数终止, 返回移用点, 以 temp 的值动作本函数返回值。 此函数也可能简写为: int ft(int x,int y) {return(3*x+2*y);} 二、 函数类型与类型符 函数类型便是函数返回值(运算结果)的类型, 与自界说变量类型差不众 有整型(int)、 双精度型(double)、 字符串型(string)、 逻辑型(biol)等, 尚有一种函数是以函数运转为目标, 运转终止后不须要返回值也没有返回值的, 则函数类型可能写成 void(无值型) 三、 函数中假使界说了自界说变量, 那么此变量仅正在本函数内部存正在, 函数运转终止时, 自界说变量也就主动刊出。 上例中, 有 x、 y、 temp 三个自 界说变量, 正在函数运转时创筑, 正在函数运转终止时主动隐没, 仅正在函数内部有用, 与函数外部无闭。 四、 函数的移用 函数移用非凡容易, 只须函数名精确、 参数个数同等、 类型雷同就能精确移用 如咱们前面创筑了 ft(x,y)函数, 则别处咱们可能用 ft(4,5)等样式来移用 ft(x,y)函数求值。 移用时, 传达参数值给 ft(x,y)函数(按挨次把 4 传给 x, 把 5 传给 y), 返回结果 23 后无间实行主步骤。 MT4 编程初学 5: 自 界说数组 一、 数组是一系列同类型变量的群集, 可能同时存储众个数值。 例: int aa[4]={4,3,2,1}; 这是一个数据名为 aa、 包蕴了 4 个元素的整数型数组(即数组长度为 4), 可能同时存储 4 个数值。 二、 自界说数组也必需“先筑造, 后利用” 创筑(界说)时, 必需设定类型和名称。 创筑(界说)时, 数组的元素个数也可能设定, 也可能不设定 数组中第一个元素的编号为 0, 第二个为 1, 以此类推。 编号利用方括号括起来 正在这上例中 aa[0]的值为 4、 aa[1]的值为 3、 aa[2]的值为 2、 aa[3]的值为 1 创筑(界说)数组的同时, 可能赋初值, 也可能不赋初值。 例: int BB[]; 创筑数组 BB, 不设定命组元素个数 int cc[8]; 创筑数组 cc, 设定命组元素为 8 个, 不赋初值 int dd[3]={9,8,7}; 创筑数组 dd, 设定命组元素为 4 个, 并赋初值 赋值后, dd[0]的值为 9、 dd[1]的值为 8、 dd[2]的值为 7 int ee[9]={0,1,2,3}; 创筑数组 ee, 设定命组元素为 9 个, 但只给前 4 个元素赋初值 三、 数组利用时的赋值 数组的赋值必需指定明了的赋值对象, 除了新筑数组时可能批量赋值外, 数组元素必需一个一个赋值 比如: dd[2]=1; 这是对数组 dd 的第 3 个元素 dd[2]([0]是第 1 个, [2]流露第 3 个) 从头赋值为 1 正在这里, 没有整数型变量界说符 int, 云云, 数组 dd 原有三个值{9,8,7}就变为{9,8,1} 四、 数组的援用 数组只是一系列变量的群集, 是以每次只可利用数组中的一个元素。 数组的援用必需指定明了的援用对象, 一次只可援用一个。 假使须要利用整列数组, 则必需逐一利用。 比如: 数组 aa[4]的值为{4,3,2,1} 咱们用 aa 来援用数组 aa 中的值 当 i=0 时, aa[i] 的值为 4 当 i=1 时, aa[i] 的值为 3 当 i=2 时, aa[i] 的值为 2 当 i=3 时, aa[i] 的值为 1 MT4 编程初学 6: 市集数据取值 一、 预订义数组(MT4 仍然界说好的, 可能直接利用) 开盘价、 最高价、 最低价、 收盘价、 成交量等史籍数据, 每根 K 线烛炬都各有一个, 是以必需用数组来处分题目, MT4 有几个预订义数组: 开盘价 Open[]、 最高 价 High[]、 最 低 价 Low[]、 收盘价 close[]、 成交量 Volume[]、 所属时期 Time[] 类型为双精度 double 型(即切确小数) 这里有一个地位的题目, 右边第一根 K 线烛炬(即最新的烛炬)的编号为 0, 第二根烛炬编号 1,第三根烛炬编号 2, 也便是说从右向左倒着数过去。 Open[0]、 High[0]、 Low[0]、 Close[0], 流露最新的开盘价、 最高价、 最低价、 收盘价 Open[1]、 High[1]、 Low[1]、 close[1], 流露第 2 根 K 线烛炬的开盘价、 最高价、 最低价、 收盘价 Open[2]、 High[2]、 Low[2]、 close[2], 流露第 3 根 K 线烛炬的开盘价、 最高价、 最低价、 收盘价 Open[3]、 High[3]、 Low[3]、 close[3], 流露第 4 根 K 线烛炬的开盘价、 最高价、 最低价、 收盘价 Open、 High、 Low、 close, 流露第 i+1 根 K 线烛炬的开盘价、 最高价、 最低价、 收盘价 以此类推。。。。。。 留心: 这些是数组, 用的是方括号。 二、 预订义变量 买入价、 卖出价是及时价值, MT4 用预订义变量 Ask 和 Bid 流露, 数值类型为 double 双精度 尚有少许预订义变量, 如: Bars 流露图外中的烛炬数, 类型为 int 整数型 Digits 流露现在货泉对的小数位, 类型为 int 整数型, 无日元币对为 4, 有日元币对为 2, 黄金石油等日常也为 2 Point 流露现在货泉对的点值, 类型为双精度 double 型, 无日元币对为 0.0001, 有日元币对为0.01。 与 Digits 正好相反。 三、 目标函数 1、 价值、 成交量、 时期 它们都有三个参数: 货泉对名、 K 线周期、 地位序号 开盘价: Open(symbol,timeframe,shift) 双精度 double 型 收盘价: close(symbol,timeframe,shift) 双精度 double 型 最高价: ahigh(symbol,timeframe,shift) 双精度 double 型 最低价: Low(symbol,timeframe,shift) 双精度 double 型 成交量: i Volume(symbol,timeframe,shift) 双精度 double 型 所属时期: i Time(symbol,timeframe,shift) 日期时期 Damietta 型 K 线 分钟图(PERIOD_M1)、 5 分钟图(PERIOD_M5)、 15 分钟图(PERIOD_M15)、 30分钟图(PERIOD_M30)、 1 小时图(PERIOD_H1)、 4 小时图(PERIOD_H4)、 日线)、 周线)、周线)、 月线) 例: Open(USDJPY,PERIOD_H1,0) 流露美元兑日 元 1 小时图最新 K 线烛炬的开盘价 close(EURUSD,PERIOD_H4,2) 流露欧元兑美元 4 小时图第 3 根 K 线烛炬的收盘价 close(GBPUSD,PERIOD_H1,i) 流露英磅兑美元 1 小时图第 i+1 根 K 线烛炬的收盘价 ahigh(NULL,0,0) 既不指定商品,也不指定 K 线周期,用正在谁便是谁,用正在哪便是哪 2、 搬动均匀值。 双精度 double 型 AMA(symbol, timeframe, period, ma_shift, ma_method, applied_price, shift) 参数共 7 个, 分歧为: 商品名称、 K 线周期、 均线周期、 均线偏移、 均匀形式、 价值品种、 地位 均线 天均线 均线偏移: 均线地位全体操纵搬动的地位偏移量 均匀形式: 容易搬动均匀(MODE_SMA)、 指数搬动均匀(MODE_EMA)、 光滑搬动均匀线 (MODE_SMMA)、 线性加权搬动均匀线(MODE_LWMA) 价值品种: 收盘价(PRICE_CLOSE)、 开盘价(PRICE_OPEN)、 最高价(PRICE_HIGH)、 最...

FXCG 相关资讯

外汇天眼:MT4指标:包络
黄金投资的高效工具皇御
金荣中国是黑平台吗?
外汇MT4 MT5 官网源码 仿
小视科技2022年服贸会首
选择MT4平台搭建商有小技
MetaTrader 4 做什么?
国内MT4交易软件十大正规
福汇外汇交易平台与AS
6月13日汇通财经早知道