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

mt4正版画图系列2这是MT4编程开发实战系列的第

2025-12-27 17:55MT4平台下载 人已围观

简介mt4正版画图系列2这是MT4编程开发实战系列的第2站 版权申明:本文档由用户供给并上传,收益归属实质供给方,若实质存正在侵权,请举办举报或认领 1、前线编程开荒实战系列-绘图系...

  mt4正版画图系列2这是MT4编程开发实战系列的第2站版权申明:本文档由用户供给并上传,收益归属实质供给方,若实质存正在侵权,请举办举报或认领

  1、前线编程开荒实战系列-绘图系列1:怎样画直线编程开荒实战系列的第一站,咱们先来研习一下怎样正在MT4图外进取行根基的绘图操作。正在开头起头之前,最先讲一个很根基也很苛重的观念:正在MT4体例中,图外的对象是从右到左的,举例说:正在一个纪录有方今图外每根K线场所的数组中,第一个数值示意的是图外最右边、也便是方今的K线的数值!绘图最根基的操作是画直线。下面的两个例子将演示怎样正在图外上画一条直线。最先正在MetaEditor编辑器中创筑一个客户目标文献,名字可能任性,我这里就把它定名为Lesson1_DrawLine。然后正在个中的start()函数中增添下面的代码:

  2、25.jpg (5.87 KB)2008-2-21 09:53增添完毕后,按F5编译代码,然后正在MT4中翻开任性一张图外,把编译好的目标Lesson1_DrawLine增添到图外上,咱们可能看到图外上仍然画出了一条横线:clip_image002.jpg (5.32 KB)2008-2-21 02:30现正在来讲明一下上面的代码。上面的代码运用了ObjectCreate这个函数。ObjectCreate是一个万分苛重的函数,正在后面的绘图教程中会众次运用到这个函数。正在上面的例子中,ObjectCreate函数有5个参数,第1个”Hline”是对你要画的横线、这个名字是可能任性的;第2个OBJ_HLINE是MT4体例默认的一个变量,示意横线,意旨是告诉体例你打定画一条横线,示意正在主窗口举办绘图的操作,这里一时过错这个参数作具体的申明,后面我会特意用一个专题来将绘图窗口的常识;第4个参数也是0,这个代外的是横坐标(X轴),第5个参数是Bid,这个是MT4体例默认的一个变量,兴味是方今的卖出价。这里中心说一下最终两个参数:正在MT4中,图外的横坐标(X轴)代外功夫,纵坐标(Y轴)代外代价,正在上面的例子中,ObjectCreate函数的最终两个参数0和Bid就折柳代外X轴坐标和Y轴坐标,兴味是正在Y轴为方今卖出代价的地方画一条横线、无尽长,X坐标没蓄志义,因而这里就设成0了)。懂得了这点,再画条竖线就很方便了。只须把X轴坐标设为你念要的数值即可,比方:我念正在方今的K线 09:55clip_image001.gif (3.04 KB)2008-2-21 02:31Time数组是MT4体例默认的一个数组,数组中每个数值对应该前图外上每根K线所处的功夫。同样,由于直线是无尽的,Y轴坐标此时也落空了意旨,咱们就把它设为0好了。正在本节的最终,我添补申明一下目标文献的各个构成片面:当你创筑了一个目标文献后,会发掘体例

  5、仍然自愿天生了init()、deinit()和start()这3个函数。Init函数是正在初始化的功夫挪用的,也便是增添到图外的同时会履行一次,之后就不会再履行了;deinit函数是正在闭塞图外或删除目标的同时履行一次,紧要影响是把该目标筑制出来的东西删除掉;start函数是主函数,每次代价变更的功夫,城市履行一次这个函数。绘图系列2这是MT4编程开荒实战系列的第2站,正在上一节中,咱们研习了怎样应用ObjectCreate函数正在图外上画直线。正在这一节中,咱们将一连用ObjectCreate函数正在图外上画出更众的图形。有功夫咱们念对某些功夫段的图形用卵形标识出来,下面咱们沿道来竣工云云的一个目标。

  7、了一个卵形:讲明一下ObjectCreate函数中的各个参数,第1个是图形的名字,可能任性写(健忘了就回来看看第一节);第2个是MT4体例默认的一个常量,兴味是告诉MT4咱们要画一个椭圆;第3个0是示意咱们要正在主窗口进取行绘图;第4个是坐标点1的x坐标,方便起睹,我这里写了Time0,代外起始是方今功夫(还记得MT4图外的对象是从右到左的吗?);第5个参数是坐标点1的y坐标,为方便起睹,这里我写了Bid,示意方今的卖出价;第6个是坐标点2的x坐标,Time10示意正在方今图外上从方今功夫往左第10根K线的y坐标,Ask示意方今的买入价。椭圆仍然画出来了,颜色宛如不足刺眼

  8、,那咱们该当怎样点窜已画出来的图形的颜色呢?用ObjectSet函数。比方我现正在念把椭圆的颜色改为赤色,可能正在ObjectCreate函数下面增添云云一句:81.jpg (9.64 KB)2008-2-21 10:39编译后把目标从头增添到图外上,可能看到椭圆仍然变为赤色了:46.jpg (2.23 KB)2008-2-21 10:39ObjectSet的第一个参数是图形的名字,兴味是告诉MT4我将要对”ellipse”这个图形举办点窜;OBJPROP_COLOR这个参数是MT4默认的体例常量,示意Object的颜色属性,正在后面咱们将

  9、会看到,Object还会有许众种种各样的属性,这些属人命名的法规都是OBJ_XXX云云的,只须把这个常量更改为咱们念要点窜的属性就行了;第3个参数Red是MT4默认的体例常量,示意赤色,正在MQL讲话中,种种颜色都可能直接用它们的英文名称来示意,万分利便。椭圆的颜色仍然点窜好了,然而巨细宛如还不如意,咱们再把它改大一点,正在前面代码的根蒂上再增添一句:12.jpg (12.71 KB)2008-2-21 10:46编译运转后从头增添到图外上,咱们发掘椭圆变大了:84.jpg (2.14 KB)2008-2-21 10:46OBJ_SCAL

  10、E示意对图形举办缩放,1是缩放的数值,越小椭圆就越大,的确成绩可能己方点窜看看。下面,我念用一个矩形来代替上面咱们画出来的椭圆,该怎样做呢?很方便,只须用OBJ_RECTANGLE代庖OBJ_ELLIPSE就行了。下面咱们沿道起头做。最先新创筑一个目标文献,定名为Lesson2_DrawShape_2,正在start函数列入如下语句: 40.jpg (9.37 KB)2008-2-21 10:49编译后运转,然后正在MT4中新筑一张图外,把Lesson2_DrawShape_2目标增添到图外上,可能看到咱们仍然正在图外上画了一个矩形:9

  11、04468.jpg (2.99 KB)2008-2-21 10:49讲明一下上面的代码:咱们用OBJ_RECTANGLE代庖了前面的OBJ_ELLIPSE,兴味是告诉MT4咱们将要正在图外上画一个矩形;Time0和Time10折柳是坐标点1的x轴坐标和坐标点2的x轴坐标,这个咱们正在前面都讲过了,闭节是iHigh和iLow这两个函数,iHigh和iLow都是MT4自带的体例函数,iHigh的兴味是获取指定周期的最高代价,iHigh函数内部有3个参数:Symbol()函数评释用方今图外上的泉币、1440示意天图、0示意取当天的最高价。这里做个添补,正在MT4编程中,示意功夫周期有两种本领:一是直接用数

  12、字示意,MT4中的功夫单元是分钟,因而你要指定哪个功夫周期,就直接填众少分钟行了,正在上面的例子中,由于1天是1440分钟,因而直接填1440就行了,若是要取1小时图的最高值就填60,30分钟图就填30,这样类推;二是用MT4默认的体例变量,像上面的语句,咱们也可能云云写:15.jpg (9.88 KB)2008-2-21 10:49编译出来的目标是雷同的,PERIOD_D1是MT4默认的体例变量,示意周期为天,若是1小时图便是PERIOD_H1,30分钟图便是PERIOD_M30,这样类推。同理,iLow便是取指定周期的最低价;最终一个参数是0,这里示意取最天图最

  13、右边的K线的最高价和最低价,即当天的最高价和最低价,若是改为1,上面的例子便是取昨天的最高价和最低价了(还记得MT4图外的对象是由右往左吧?)。同样,咱们可能用ObjectSet函数把上面画出来的矩形变为赤色:75.jpg (12.89 KB)2008-2-21 10:49现正在,咱们把目标Lesson2_DrawShape_2从图外上删除掉,发掘仍然画出来的矩形并没有从图外上删除,为什么呢?正在MT4中,仍然画出来的图形默认是不会随目标沿道被删除的,这时咱们就要用到deinit和ObjectDelete函数了。前面说过,deinit函数是正在目标被删除的功夫挪用的,主

  14、要用来做极少算帐性的办事,ObjectDelete函数是删除一个指定的图形对象,以是,咱们可能正在deinit函数中列入如下代码:15.jpg (6.05 KB)2008-2-21 10:49ObjectDelete函数中的参数示意告诉MT4咱们要删除哪个图形。绘图系列3:怎样创筑符号及文字这是MT4编程开荒实战系列的第3站。正在前面两节中,咱们仍然学会了怎样应用ObjectCreate函数来画直线、椭圆和矩形。但这些都是很根基的图形,咱们往往能看到极少MT4目标正在图外上画出了种种各样的符号,万分趣味!那么这些符号是怎样画出来的呢?谜底照旧ObjectCreate函数

  15、!由此望睹ObjectCreate函数正在MT4绘图编程中是何等的苛重了吧,就如制物主普通制造出种种巧妙的图形!下面,咱们沿道来研习一下,怎样用ObjectCreate函数制造出更众的图形。最先创筑一个目标文献,定名为Lesson3_DrawSymbol_1,然后正在start函数中输入如下代码:03.jpg (5.03 KB)2008-2-21 14:46编译后增添到图外,会发掘咱们已正在图外上画了一个向上的箭头:25.jpg (1.13 KB)2008-2-21 14:46畴前面两节的研习中,咱们明了”arrow”是图形的名字,OBJ_

  16、ARROW是告诉MT4咱们要画一个箭头,Time0是x轴坐标,Low0是示意方今K线的最低价。这里对Low和iLow()做一个讲明。Low是一个数组,内部蓄积了方今周期图外上每根K线的最低价,细心了:仅蓄积了方今周期的!若是念获取其它周期的图外上的某根K线的最低价,就要用到iLow()函数了。同理,High和iHigh()也是云云辨别的,云云讲明,该当很显现了吧?若是我念让箭头指向下方,该如何做呢?现正在,就开头了本节最精巧的片面了!正在方才的代码后面增添如下一句:00.jpg (7.58 KB)2008-2-21 14:46编译后,会发掘图外上的箭头仍然指向下方了。

  17、添补一下,学到这里咱们可能发掘一个法则:创筑一个图形,用ObjectCreate,点窜一个图形,用ObjectSet。就这么方便!正在上面的例子中,最闭节的是ObjectSet的第三个参数:242。咱们把242改成67,然后再编译,看看图体现正在的图形是什么?是一个大拇指向上的手势。改成68,再编译看看,是一个大拇指向下的手势。看到这里,信任大众都明了如何回事了吧,没错!只须更改这个参数,就能画出种种咱们念要的符号了。我曾正在前线编程文档,大众可能下载来查看一下,内部有个图形符号代码外,只须将第3个参数改成代码外内部的数值,就可能画出相应的符号了。下面咱们来做个趣味的试验:把MT

  18、4内部的种种符号都拉出来校阅一遍!最先新筑一个目标文献,定名为Lesson3_DrawSymbol_2,然后正在start函数中输入如下的代码:96.jpg (17.45 KB)2008-2-21 14:46编译后把Lesson3_DrawSymbol_2目标增添到图外上,看到了什么?没错,完全MT4赞成的图形符号都跑出来了!43.jpg (29.64 KB)2008-2-21 14:46正在上面的代码中,我用了一个轮回,从方今K线根K线,正在每根K线的最低价场所画一个符号。为什么是257呢?你可能把这个数字改大一点,会发掘之后

  19、完全的图形符号都是雷同的了,这申明MT4赞成的图形符号便是到257为止了。学完了前面的例子后,我信任许众挚友都能正在图外上大意画出己方念要的种种图形和符号了,那么倘若念正在图外上列入极少文字呢?这个题目是初学MT4编程的挚友往往提出的一个题目,谜底照旧用ObjectCreate和ObjectSet这对配合得天衣无缝的函数来竣工!正在MT4图外上增添文字,有两种本领,一种是用Comment函数,污点是只可正在图外的左上角增添,且不行对文字的种种特点调理,如巨细、颜色等;其它一种便是咱们下面将要学到的本领,用ObjectCreate函数来创筑。ObjectCreate函数可能创筑两品种型的文字,一种是OB

  21、与水准线度的角度显示,该怎样做呢?正在上面的代码后面增添一句:28.jpg (12.25 KB)2008-2-21 14:48从头编译后成绩如下:71.jpg (2.2 KB)2008-2-21 14:48应用ObjectSet函数来调理显示文字的角度属性:OBJPROP_ANGLE,30示意30度。既然仍然有OBJ_TEXT了,为什么MT4中还要再众一个OBJ_LABEL呢?闭节便是两者的坐标性子差异。OBJ_TEXT的坐标是功夫和代价,而OBJ_LABEL的坐标是以方今可视区域的相对场所举动坐标。当你转移图外的功夫,会发掘用O

  22、BJ_TEXT创筑的文字的场所会跟着图外的转移而蜕变,但用OBJ_LABEL创筑的文字则永远褂讪,除非你更改了屏幕折柳率它才会蜕变,当你念创筑极少永远显示正在某个固定场所的文字时,用OBJ_LABEL;若是念正在某个固定的代价或功夫场所显示文字,用OBJ_TEXT。因为精神所限,我就不再演示OBJ_LABEL的运用本领了,大众可能参照助助文档来运用,记住坐标的性子差异就行了。绘图系列4:怎样画弧线节咱们折柳研习了直线、椭圆和矩形、文字及符号的创筑本领,这回咱们要研习一下怎样正在图外上创筑弧线中仍然自带了许众弧线类型的目标,如种种差异的均线、带等等,但往往有些挚友还必要创筑极少己方独有的弧线,体例自带的目标仍然无法餍足需求,这时咱们就必要通过MT4编程来开荒己方的弧线目标了。 下面咱们沿道通过实例来研习怎样画弧线。假设我现正在念把图外上每根K线的中心片面(即最高价与最低价之和的均值)用一条弧线衔接起来。最先创筑一个新的目标文献,定名为Lesson4_DrawCurve_1。正在目标文献的开头片面,增添如下语句:90.jpg (8.16 KB)2008-2-25 13:19赤色框内片面为咱们增添的语句。然后正在init函数内增添如下语句:96.jpg (7.71 KB)2008-

  24、2-25 13:19正在start函数内增添如下语句:28.jpg (19.81 KB)2008-2-25 13:19编译后,将Lesson4_DrawCurve_1目标增添到图外上,会看到咱们已创筑了一条赤色的弧线,将图外上每根K线的中心片面衔接了起来:71.jpg (10.32 KB)2008-2-25 13:20下面来讲明一下上面代码的兴味。最先咱们正在目标文献的开头片面插入了3条语句,前面两条折柳是:#property indicator_buffer 1的兴味是本目标将运用一个目标缓存(最众只可有8个目标,编码是从0至7);#p

  25、roperty indicator_color Red的兴味是创筑的目标将用赤色显示。#property的兴味是给目标文献增添一个编译参数(注:因为这些东西涉及到圭外开荒中对照专业的片面了,本教程的要旨是“适用为主”,因而我将不会对极少过分专业的片面举办深切商讨,只需明了该当云云做就行了。有乐趣的挚友可能私自聊J)。倘若你念创筑两条弧线,则可能写成:#property indicator_buffer 2;倘若念调动弧线的颜色,则可能把Red数值改为其它颜色,如Yellow、Green等。 正在增添了两个编译参数后,咱们还创筑了一个double类型的数组ExtMapBuffer,这个数组的影响是

  26、蓄积每根K线中心片面的数值,绘图的功夫就凭据这个数组内部的数值来画。 正在init()函数中,咱们用到了SetIndexStyle和SetIndexBuffer这两个MT4中的体例函数。SetIndexStyle的兴味是扶植咱们要画的图形的类型,SetIndexStyle中的第一个参数0,示意咱们要对第一个目标的样式举办扶植,正在MT4中,最众只可扶植8个目标,编码是从0开头至7了结;第二个参数DRAW_LINE是MT4默认的体例变量,兴味是告诉MT4咱们将要正在图外上画线。若是咱们现正在念正在每根K线的中心片面画个箭头,该怎样做呢?用DRAW_ARROW调换DRAW_LINE就行了,调换后的成绩如下:

  27、03.jpg (9.94 KB)2008-2-25 13:22方才咱们画出来的弧线是一条连结的弧线,若是我念画一条虚线该怎样做呢?给SetIndexStyle弥补一个参数就行了,现正在咱们把SetIndexStyle函数改写为如下云云:15.jpg (3.6 KB)2008-2-25 13:22编译后从头增添到图外上,会发掘现正在的弧线同理,若是用STYLE_DOT调换STYLE_DASH,就可能画出一条由点构成的弧线、类型大众可能通过查找编程文档取得。 现正在,倘若咱们感触弧线太细了,念加粗该如何做呢?这时就必要给SetIndexStyle函数弥补第4个参数了:40.jpg (3.87 KB)2008-2-25 13:23SetIndexStyle的第4个参数4,兴味是把弧线)。最终,倘若念把方才画的线更改一下颜色,可能用到SetIndexStyle的第5个参数,像下面这句:84.jpg (4.6 KB)2008-2-25 13:23最终一个参数Blue的兴味是把弧线的颜色改为蓝色。怎样创筑警报正在前面几节,咱们研习了

  29、MT4编程开荒中绘图方面的极少根蒂常识,这回咱们来研习一下怎样正在MT4编程中使用报警效力。 大众都明了,外汇墟市是24小时不间断的,而人的精神是有限的,那么,正在憩息的功夫若是价位达到了己方的主意价位,这功夫该如何办呢?谜底是应用MT4的警报效力。正在MT4平台上怎样扶植警报这里就不详述了,的确可参考助助文档,这里说一下怎样通过编程来竣工。 最先,咱们来竣工一个最方便的目标:今世价达到指订价位时,举办报警。新创筑一个目标文献,定名为:Lesson5_Alert_1。正在圭外头部列入如下一句:15.jpg (4.42 KB)2008-2-26 10:25个中赤色片面为咱们

  30、增添的语句。Extern的兴味是Price为一个外部变量,可能正在目标运转时代动态举办点窜。然后正在start函数中列入如下语句:28.jpg (8.57 KB)2008-2-26 10:25编译后运转,然后把Lesson5_Alert_1目标增添到图外上,并扶植好Price变量,当方今的卖出价等于设定的Price代价时,则会弹出如下的报警窗口:62.jpg (12.63 KB)2008-2-26 10:25Alert函数的兴味是当餍足if内设定的要求时,弹出一个警报窗口,把Alert函数内设定的实质显示出来,同时会发出警报声。若是我把L

  31、esson5_Alert_1目标同时增添到许众个泉币对上,那么当目标弹出报警窗口时,我如何才干明了是哪个泉币对正在报警呢?这时就务必为报警实质添上泉币对的名称了。现正在咱们把方才的语句改写如下:15.jpg (4.46 KB)2008-2-26 10:25从头编译并增添到图外上,当方今卖出代价等于Price指定的代价时,将会弹出如下的报警窗口:34.jpg (15.26 KB)2008-2-26 10:25可能看到报警窗口内仍然显示出是哪个泉币对正在报警了,这都是Symbol()函数的功烈,Symbol()函数的影响是取得方今目标所正在图外的泉币对的名称。与Alert函数相像的尚有MessageBox函数,有乐趣的挚友可能己方查看助助文档。现正在设念一下,假宛若样是EURUSD泉币对,同时翻开了5分钟图、30分钟图、1小时图,并正在每张图上都增添了Lesson5_Alert_1目标,那么,目标报警时间驰名称还亏欠够了,这时可把语句改写如下:03.jpg (6.16 KB)2008-2-26 10:27此时,当卖出价达到指订价位后,弹出的报警窗口如下图所示:68.jpg (21.41 KB)2008-2-26 10:27Period函数的影响是获取目标所正在图外的功夫周期。

  1. 本站完全资源如无迥殊申明,都必要当地电脑安置OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文献请下载最新的WinRAR软件解压。

  2. 本站的文档不包蕴任何第三方供给的附件图纸等,若是必要附件,请相干上传者。文献的完全权利归上传用户完全。

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

  5. 人人文库网仅供给消息存储空间,仅对用户上传实质的体现式样做偏护管束,对用户上传分享的文档实质自己不做任何点窜或编辑,并不行对任何下载实质担任。

  7. 本站不确保下载资源真实凿性、太平性和完善性, 同时也不继承用户因运用这些下载资源对己方和他人酿成任何步地的妨害或失掉。

Tags: mt4官方网站  mt4代理商  fxpro黄金返佣 

广告位
    广告位
    广告位

站点信息

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