您现在的位置是:主页 > MT4平台下载 >

MT4编程入门教程

2022-11-23 14:29MT4平台下载 人已围观

简介MT4编程入门教程 MT4 编程初学教程 MT4 编程初学教程目次 MT4 编程初学 1: MT4 自界说目标的根基操作 MT4 编程初学 2: 目标源码中的常用符号外明 MT4 编程初学 3: 自 界说变量 MT4 编程初...

  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)、 最...

Tags: 模拟账户 

广告位
    广告位
    广告位

标签云

站点信息

  • 文章统计9034篇文章
  • 标签管理标签云
  • 微信公众号:扫描二维码,关注我们