2024-06-09 04:30
Jkel

  变量名为“是否报警”6/9/2024中国有合法mt4吗版权注释:本文档由用户供应并上传,收益归属实质供应方,若实质保存侵权,请举行举报或认领

  1、目次MT4编程初学(一):MT4自界说目标的根本操作MT4编程初学(二):目标源码中的常用符号注释MT4编程初学(三):自界说变量MT4编程初学(四):自界说函数MT4编程初学(五):自界说数组MT4编程初学(六):市集数据取值 MT4编程初学(七):判决语句 MT4编程初学(八):轮回 MT4编程初学(九):MT4自界说目标的组织 MT4编程初学(十):画一条目标线编程初学(十一):MT4的报警MT4编程初学(一):MT4自界说目标的根本操作 MT4自界说目标的保全目次、目标编缉器与目标移用一、MT4自界说目标保保存C:Program FilesMetaTrader 4expertsi

  2、ndicators这个目次中,该目次中关键有二品种型的文献,一种是mq4文献,这是MT4自界说目标的源码文献,是一种高级谈话文献,可能人工编写点窜,呆板不行直接实施,但能正在MT4启动时主动编译为ex4可实施文献。另一种即是ex4文献,这是MT4自界说目标的可实施文献,由mq4文献编译取得。mq4文献必需编译为ex4文献才气被MT4实施。但ex4文献是呆板码文献,人工不成点窜其它另有一个文献是mqlcache.dat,它用来保全目次中的文献讯息,假如MT4无法主动编译,只消删除此文献即可管理题目mq4文献编译为ex4可实施文献有两种方式:1、MT4启动时,会主动把此目次中的mq4文献编译为ex4

  3、文献。2、用MQ谈话编辑器翻开mq4文献,点一下“编写”按钮,即可天生ex4文献二、下载保全mq4文献、ex4文献正在论坛上咱们通常看到有mq4文献、ex4文献可供下载,咱们只消把它们保全到C:Program FilesMetaTrader 4expertsindicators这个目次,也即是下面这个目次中,就可能了。假如下载的是ex4文献,那可能直接移用;假如是mq4文献,则需求重启动MT4,让体系主动编译天生ex4可实施文献。假如下载的是rar、zip等类型的压缩文献,还必需下载后解压到此目次才气运用。三、将源码保全为源码文献正在论坛上,咱们也通常能看到目标源码贴正在网页上,但没有mq4、ex4

  4、等文献可能下载,只可复造源码。此时需求咱们己方发端将源码保全为源码文献,那也不要紧,分外地纯洁,众点几下鼠标就搞定。1、翻开MQ谈话编辑器2、正在MQ谈话编辑器中新筑一个文献,文献名肯定要输,其余任意操作都不要紧。3、删除新文献内部的整个实质,成为一个空文献,4、接着咱们就可能将网页上源码复造粘贴进来试着点一下“编写”,假如左下角映现“0舛错,0申饬”,那注释源码没题目,编译通过了,凯旋天生了ex4可实施文献5、另有很厉重的一点,即是要把源码文献保全到确切的目次中保全后,再点一下编写。到此,源码保全达成。当然,咱们也另有另的举措:可能翻开一个原已保存的mq4文献,然后另存为你需求的文献名,再删除

  5、文献中的整个实质成为空文献,把网页上的源贴到文献中保全即可也可能正在记事本中新筑一个文献,把网页上的源码贴进记事本,然后取个文献名保全到上面提到的目次,只是文献后缀必需输入mq4,保全类型采选“于是文献”四、mt4圭臬移用自界说目标这分外纯洁MT4编程初学(二):目标源码中的常用符号注释 一、解释符:单行解释“/”、众行解释“/* */”圭臬不实施解释,解释实质仅供阅读或保存不消的语句正在MQ谈话编辑器中,解释实质以灰色显示二、分号“;”呈现一个语句停止三、逗号“,”呈现一个语句内部间隔,连续止语句。四、等于号“=”赋值语句,把等号后面的值赋给等号前的变量中五、加号“+”整数或小数,则呈现值相加;

  6、字符串,则呈现前后毗连。六、加加“+”呈现把符号前的变量值加1,比方:“i+;” 这本质上即是:“i=i+1;”的简写,呈现i的值加1七、加等于“+=”呈现把符号后的值加到符号前的变量中。比方“i+=2;”,本质上即是“i=i+2;”的简写,呈现i的值加2八、双等号“=”等于号。用于逻辑判决,双等号前后值相当,则返回逻辑值“真true”;双等号前后值不相当,则返回逻辑值“假false”九、叹号等号“!=”不等于号。用于逻辑判决,不等号前后值不相当,则返回逻辑值“真true”;不等号前后值相当,则返回逻辑值“假false”十、“&”逻辑符“而且”十一、“”逻辑符“或者”十二、大括号“”呈现函数

  7、体。内部为函数体语句。MT4编程初学(三):自界说变量 一、自界说变量正在运用前,必需先创筑(界说),设定变量的类型和名称。创筑时可同时赋值,也可能不赋值。名称可能运用中文字符。例:int mark; 创筑一个整型变量,变量名为“mark”。bool 是否报警=true; 创筑一个逻辑型变量,变量名为“是否报警”,同时,赋初值“true” 二、类型和类型界说词自界说变量的根本类型有:1、整形(int):即是整数,征求负整数2、双精度小数(double):可能纯洁地领悟为带小数位的数3、字符串型(string)。4、逻辑型(bool):其值不同为“true、false”,即“真、假”,也可能写成“

  8、1、0”(1线假)。类型界说词仅正在创筑变量时运用,后面运用变量时,就不行再加类型界说词了三、附加变量附加变量即是正在圭臬参加运用后,变量值承诺用户自正在更改的变量,大凡用作圭臬参数。大凡目标,比方MACD(12,26,9)参数输入即是通过附加变量实行,(12,26,9)不同为三个附加变量的默认值。界说附加变量只需正在变量界说语句前加“extern”例:extern int 周期=9; 创筑一个整型附加变量,变量名为“周期”,默认值为9,承诺用户正在圭臬外部点窜参数值MT4编程初学(四):自界说函数 自界说函数与数学函数正在性质上是相似的比方:数学函数ft(x,y)=3x+2y (x,y为正整数) 写

  9、成圭臬语句即是:int ft(int x,int y) int temp; temp=3*x+2*y; return(temp); 一、和自界说变量雷同,自界说函数正在运用前,也必需先设立,以界说其类型、名称、参数和运算语句。函数类型、名称、参数位于函数头部(参数间以逗号隔离),大括号中的是运算语句,也即是函数体局部。return语句为函数停止语句,return后面括号中的值为函数返回值,即函数运算结果。上例中,int为函数类型,呈现该函数的返回值(运算结果)是整数;(x,y)为参数,因为自界说变量运用之前都必需先创筑,于是要加上类型界说词intft为函数名,有了函数名,咱们就可能正在别处用ft(

  10、2,1)的表面来移用此函数;函数体局部有三句:第一句,界说一个整形变量temp第二句,策动temp的值第三句,函数停止,返回移用点,以temp的值行为本函数返回值。此函数也可能简写为:int ft(int x,int y) return(3*x+2*y);二、函数类型与类型符函数类型即是函数返回值(运算结果)的类型,与自界说变量类型差不众有整型(int)、双精度型(double)、字符串型(string)、逻辑型(bool)等,另有一种函数是以函数运转为目标,运转停止后不需求返回值也没有返回值的,则函数类型可能写成void(无值型)三、函数中假如界说了自界说变量,那么此变量仅正在本函数内部保存,

  11、函数运转停止时,自界说变量也就主动刊出。上例中,有x、y、temp三个自界说变量,正在函数运转时创筑,正在函数运转停止时主动没落,仅正在函数内部有用,与函数外部无闭。四、函数的移用函数移用分外纯洁,只消函数名确切、参数个数相似、类型雷同就能确切移用如咱们前面创筑了ft(x,y)函数,则别处咱们可能用ft(4,5)等样式来移用ft(x,y)函数求值。移用时,通报参数值给ft(x,y)函数(按按次把4传给x,把5传给y),返回结果22后不绝实施主圭臬。MT4编程初学(五):自界说数组 一、数组是一系列同类型变量的蚁合,可能同时存储众个数值。例:int aa4=4,3,2,1;这是一个数据名为aa、蕴涵了

  12、4个元素的整数型数组(即数组长度为4),可能同时存储4个数值。二、自界说数组也必需“先筑树,后运用”创筑(界说)时,必需设定类型和名称。创筑(界说)时,数组的元素个数也可能设定,也可能不设定命组中第一个元素的编号为0,第二个为1,以此类推。编号运用方括号括起来正在这上例中aa0的值为4、aa1的值为3、aa2的值为2、aa3的值为1创筑(界说)数组的同时,可能赋初值,也可能不赋初值。例:int bb; 创筑数组bb,不设定命组元素个数int cc8; 创筑数组cc,设定命组元素为8个,不赋初值int dd3=9,8,7; 创筑数组dd,设定命组元素为4个,并赋初值赋值后,dd0的值为9、dd1的

  13、值为8、dd2的值为7int ee9=0,1,2,3; 创筑数组ee,设定命组元素为9个,但只给前4个元素赋初值三、数组运用时的赋值数组的赋值必需指定显着的赋值对象,除了新筑数组时可能批量赋值外,数组元素必需一个一个赋值比方:dd2=1;这是对数组dd的第3个元素dd2(0是第1个,2呈现第3个)从头赋值为1正在这里,没有整数型变量界说符int,如此,数组dd原有三个值9,8,7就变为9,8,1四、数组的援用数组只是一系列变量的蚁合,于是每次只可运用数组中的一个元素。数组的援用必需指定显着的援用对象,一次只可援用一个。假如需求运用整列数组,则必需逐一运用。比方:数组aa4的值为4,3,2,1咱们

  14、用aa来援用数组aa中的值当i=0时,aai的值为4当i=1时,aai的值为3当i=2时,aai的值为2当i=3时,aai的值为1MT4编程初学(六):市集数据取值 一、预订义数组(MT4一经界说好的,可能直接运用)开盘价、最高价、最低价、收盘价、成交量等史籍数据,每根K线烛炬都各有一个,于是必需用数组来管理题目,MT4有几个预订义数组:开盘价Open、最高价High、最低价Low、收盘价close、成交量Volume、所属期间Time类型为双精度double型(即精准小数)这里有一个位子的题目,右边第一根K线烛炬(即最新的烛炬)的编号为0,第二根烛炬编号1,第三根烛炬编号2,也即是说从右向左

  15、倒着数过去。Open0、High0、Low0、Close0,呈现最新的开盘价、最高价、最低价、收盘价Open1、High1、Low1、close1,呈现第2根K线烛炬的开盘价、最高价、最低价、收盘价Open2、High2、Low2、close2,呈现第3根K线烛炬的开盘价、最高价、最低价、收盘价Open3、High3、Low3、close3,呈现第4根K线烛炬的开盘价、最高价、最低价、收盘价Open、High、Low、close,呈现第i+1根K线烛炬的开盘价、最高价、最低价、收盘价以此类推。戒备:这些是数组,用的是方括号。二、预订义变量买入价、卖出价是实物价格,MT4用预订义变量Ask和Bi

  16、d呈现,数值类型为double双精度另有少少预订义变量,如:Bars 呈现图外中的烛炬数,类型为int整数型Digits 呈现目下钱币对的小数位,类型为int整数型,无日元币对为4,有日元币对为2,黄金石油等大凡也为2Point 呈现目下钱币对的点值,类型为双精度double型,无日元币对为0.0001,有日元币对为0.01。与Digits正好相反。三、目标函数1、价钱、成交量、期间它们都有三个参数:钱币对名、K线周期、位子序号开盘价:iOpen(symbol,timeframe,shift) 双精度double型收盘价:iClose(symbol,timeframe,shift) 双精度do

  21、组名, 总数, 均匀周期, 均线偏移, 均匀形式, 位子)这也与iMA函数差不众,只是数据源变为数组从数组中不仅可能求得挪动均匀值,还可能求得RSI等目标值4、求自界说目标的值咱们通常己方编少少自界说目标,可用iCustom函数来博得自界说函数的值iCustom(商品名,K线周期,自界说目标名称,自界说目标参数1,参数2,参数3,自界说目标线编号,位子)假如自界说目标只要一根目标线,则自界说目标线。假如自界说目标有众根目标线,则第一条自界说目标线。比方:iCustom(NULL,0,mymacd,12,26,9,2,0) (12,26,9)为自界说指

  22、标mymacd的三个参数呈现:求目下图外中,自界说目标mymacd(12,26,9)的第3条目标线正在最新位子的值掷砖引玉,这里只是有代外性地列了几个函数,注意请查阅MT4编程手册MT4编程初学(七):判决语句 一、if语句if语句很常用,也较量纯洁。规矩:假如小括号中的条目筑设,则实施大括号中的语句;假如不筑设,则跳过大括号。比方:if(a=1) b=c+1; 咱们正在编写报警目标的期间,就通常用到这一语句:假如“价钱向上抵达指订价位”,则“报警”假如“MACD上穿”,则“报警”假如“均线金叉”,则“报警”。等等例:int mark=0;if( High1=1.0000 & mark!=1) A

  24、报过警,上、下穿都能报警;当mark=1时,注释一经上穿报过警了,不行再上穿报警了,但仍可下穿报警;当mark=2时,注释一经下穿报过警了,不行再下穿报警了,但仍可上穿报警。二、if . else语句规矩:假如小括号中的条目筑设,则实施if下大括号中的语句1;假如不筑设,则实施else下大括号中的语句2。if(条目) 语句1; else 语句2; 三、戒备事项1、只要语句后面才用到语句停止符“;” 条目、大、小括号后面都不消“;”2、语句用大括号括起来,但假如只要一行语句,则大括号可能省略 if(条目) 语句1;MT4编程初学(八):轮回 一幅K线图有几千上万条K线,每根K线又各有开收盘价、最

  25、上下价等数值,并且另有许众挪动均匀线、MACD、RSI等目标值。面临海量数据,咱们必需用轮回来实行数据的取值和赋值。一、while轮回while(条目) 语句1 语句2 。 规矩:当小括号中的条目筑设时,就实施大括号中的语句,实施完了再判决条目是否筑设,假如条目筑设就不绝实施大括号中的语句。只消条目筑设,圭臬就连续地运转大括号中的语句(轮回体),直到小括号中的条目不再筑设时停止轮回。它与if语句的区别是:if语句是当条目为真时运转一次;而while语句则是只消条目为真,轮回体语句就连续地运转,直到条目为假时停止轮回。例: extern int 速线; extern int 慢线、double buffer; int i=0; while(i1000) buffer= iMA(NULL,0,速线,MODE_EMA,PRICE_CLOSE,i) -iMA(NULL,0,慢线,MODE_EMA,PRICE_CLOSE,i); i+; 这里,轮回实施条目是i1000,轮回体中有两个语句,一句是把两条均线的差值赋给数组buffer,另一句“i+;”是每运转一次,i的值正在原有根蒂上扩充1。如此,跟着轮回的接续运转,i的值慢慢扩充,轮回1000次后,i的值也就从0变为1000,此时“i1000”就不再筑设,轮回停止。如此,数组buffer中也就有了1000个值。二、for循

  28、面;轮回实施按次与while轮回相似:第一步、先实施小括号中的第1句:int i=0;(此语句用来界说初始变量,正在轮回中仅实施一次,可能为没有任何外达式的空操作符“;”)第二步、再判决小括号中的第2句是否筑设:i1000;假如不筑设,则轮回停止;假如筑设,则轮回不绝运转,实施第三步第三步、按按次实施大括号中的语句第四步、实施小括号中的第1句:i+ (此语句即:每实施一次,i的值扩充1)然后回到第二步不绝实施轮回。再填补一点:假如轮回体中(大括号中)只要一行语句,大括号可能省略MT4编程初学(九):MT4自界说目标的组织 MT4自界说目标大凡由四个局部组成:(1)文献头部(2)参数、变量和数组的

  30、indicator_width1 1第1根目标线、#property indicator_level1 0.00正在0.00值位子横划1条虚线二、参数、变量和数组的界说全体性的参数、变量、数组正在此界说,限造变量可正在start()函数中界说三、初始化函数init()init()正在自界说目标加载时运转一次。初始化函数的功效是“扶植”。假如自界说目标需求划线,则必定用到此函数四、主函数start()当数据有转变时,start()就被触发。数据转变一次,start()就运转一次。自界说目标的编程关键寄托此函数举行。start()函数的效用主假如取值和给目标线赋值,报警也正在此函数内建议。另

  31、外,另有一个反初始化函数deinit()deinit()正在自界说卸载时运转一次,可用以去除目标加载时init()所做的初始化操作。MT4编程初学(十):画一条目标线 要画目标线,只消正在圭臬中写明以下几点就可能了:第一、显着目标线地点窗口,是主图照旧副图第二、要筑树数组,用以保全目标线正在各个位子的值。第三、要筑树目标线与数组的对应联系,哪个数组对应哪条目标线第四、要显着目标线的线型,是弧线照旧柱线或者是箭头第五、假如目标线是箭头,还要注释是哪种箭头第六、给数组赋值 此中:第一、二条写正在文献头部中,第三、四、五条写正在init()函数中(init函数仅正在目标加载时运转一次)第六条写正在start()函

  32、数中(start函数正在数据策动转变时运转,转变一次运转一次)下面以MACD为例注释咱们大白,MACD目标由二条弧线和一组红绿柱线构成。(下图一)此中:白线是二根均线的差;紫线是白线的挪动均匀线;红绿柱线则是白线和紫线的差,白线上穿紫线,映现红柱,下穿则映现绿柱。咱们从纯洁入手,先去除紫线和红绿柱线,仅保存此中的那根白线,来看白线是怎么画出来的。下面是全盘语句:#property indicator_separate_window#property indicator_color1 White#property indicator_level1 0extern int FMA=12;extern

  35、线线型为不断弧线); 函数停止语句 int start()目标触发函数。与init函数区别,该函数正在稀有据蜕化时被触发,假如数据被接续更新,则该函数将接续实施。start也是体系默认的函数名,但运用时也还是需求举行创设,于是也要加界说符int int limit=Bars-IndicatorCounted(); 自界说一个变量limit,并赋值 Bars是图外中的柱数 IndicatorCounted()缓存中的柱数,即是一经策动过的有值的柱数 如此limit的值即是未经策动的柱数,如此就可能起到优化圭臬的效用。 for(int i=0; ilimit; i+) 轮回语句。

  37、property indicator_chart_window此句是把圭臬放正在主图,当然这此例中放正在副图也雷同extern int 界说一个外部参数变量,整数型,承诺外部值点窜int 界说一个整数型变量int start() 界说触发函数if() 判决iHigh() 最高价格函数iLow() 最低价格函数iMA() 挪动均匀线值函数Alert() 报警函数Symbol() 商品名称函数& 逻辑运算符“而且”!= 逻辑运算符“不等于”MODE_SMA 纯洁挪动均匀形式PRICE_CLOSE 以收盘价策动再说一下自界说变量mark的效用:mark的初值是0,当上穿报警时给mark赋值1,当下穿报警时给mark赋值2。如此当mark的值为1时,注释一经对上穿报过警了,就不行再次对上穿报警;当mark的值为2时,注释一经对下穿报过警了,就不行再次对下穿报警。如此就起到了撤消反复报警的效用。

  1. 本站整个资源如无出格注释,都需求当地电脑装配OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文献请下载最新的WinRAR软件解压。

  2. 本站的文档不蕴涵任何第三方供应的附件图纸等,假如需求附件,请干系上传者。文献的整个权利归上传用户整个。

  3. 本站RAR压缩包中若带图纸,网页实质内部会有图纸预览,若没有图纸预览就没有图纸。

  5. 人人文库网仅供应讯息存储空间,仅对用户上传实质的呈现方法做保卫执掌,对用户上传分享的文档实质自身不做任何点窜或编辑,并不行对任何下载实质有劲。

  7. 本站不保障下载资源的无误性、太平性和完善性, 同时也不负责用户因运用这些下载资源对己方和他人形成任何表面的欺负或亏损。

FXCG 相关资讯

会相对以稳健保守的方案
mt4下载软件它必须隐藏在
下面就来介绍一下详细的
美元指数在投资者?期货
mt4外汇模拟账户这是保障
即投资者开设期货账户和
郑州日产汽车有限公司研
mt4是骗局吗您能够希望付
嘉盛都可以第一时间协助
mt4账户注册华信证券可以