我们可以在deinit函数中加入如下代码:mt4入口一是直接用数字吐露,MT4中的时分单元是分钟,因而你要指定哪个时分周期,就直接填众少分钟行了,正在上面的例子中,由于1天是1440分钟,因而直接填1440就行了,假使要取1小时图的最高值就填60,30分钟图就填30,云云类推;
创筑一个图形,用ObjectCreate,窜改一个图形,用ObjectSet。就这么粗略!
正在上面的例子中,最合头的是ObjectSet的第三个参数:242。咱们把242改成67,然后再编译,看看图浮现正在的图形是什么?是一个大拇指向上的手势。改成68,再编译看看,是一个大拇指向下的手势。看到这里,信赖公共都清晰若何回事了吧,没错!只消更改这个参数,就能画出各式咱们念要的符号了。我曾正在前方编程文档,公共能够下载来查看一下,内中有个图形符号代码外,只消将第3个参数改成代码外内中的数值,就能够画出相应的符号了。下面咱们来做个风趣的测验:把MT4内中的各式符号都拉出来阅兵一遍!
正在上面的例子中,ObjectCreate函数的最终两个参数0和Bid就分手代外X轴坐标和Y轴坐标,意义是正在Y轴为眼前卖出代价的地方画一条横线(由于直线为无穷长,X坐标没蓄谋义,因而这里就设成0了)。
新筑一个目标文献,定名为”Lesson2_DrawShape_ 1”,然后正在start函数中列入如下语句:
保管文献,按F5编译目标文献,然后把正在MT4中新筑一个图外,把Lesson2_DrawShape_1目标增加到图外上,能够看到咱们曾经正在图外上画出了一个卵形:
第3个参数Red是MT4默认的体例常量,吐露赤色,正在MQL发言中,各式颜色都能够直接用它们的英文名称来吐露,分外便利。
椭圆的颜色曾经窜改好了,然则巨细类似还不疾意,咱们再把它改大一点,正在前面代码的根源上再增加一句:
OBJ_SCALE吐露对图形举行缩放,1是缩放的数值,越小椭圆就越大,完全功效能够本身窜改看看。
第3个参数是0,吐露正在主窗口举行绘图的操作,这里且自过错这个参数作详尽的诠释,后面我会特意用一个专题来将绘图窗口的学问;
第5个参数是Bid,这个是MT4体例默认的一个变量,意义是眼前的卖出价。
小心了:仅贮存了眼前周期的!假使念获取其它周期的图外上的某根K线的最低价,就要用到iLow函数了。同理,High[]和iHigh()也是云云划分的,云云阐明,应当很理会了吧?
学完了前面的例子后,我信赖许众同伴都能正在图外上粗心画出本身念要的各式图形和符号了,那么要是念正在图外上列入少少文字呢?这个题目是初学MT4编程的同伴常常提出的一个题目,谜底依旧用ObjectCreate和ObjectSet这对配合得天衣无缝的函数来告竣!
正在MT4图外上增加文字,有两种要领,一种是用Comment函数,纰谬是只可正在图外的左上角增加,且不行对文字的各式特色安排,如巨细、颜色等;其它一种即是咱们下面将要学到的要领,用ObjectCreate函数来创筑。ObjectCreate函数能够创筑两品种型的文字,一种是OBJ_TEXT,一种是OBJ_LABEL。这两品种型的区别:OBJ_TEXT是以时分和代价动作坐标的,且能够成立显示角度;OBJ_LABEL是以眼前图外可视区域的相对处所动作坐标的,且不行安排显示角度。下面咱们用例子来加深认识。
ObjectCreate是一个分外要紧的函数,正在后面的绘图教程中会众次应用到这个函数。
正在上面的例子中,ObjectCreate函数有5个参数,第1个”Hline”是对你要画的横线起一个名字,这个名字是能够苟且的;
第2个OBJ_HLINE是MT4体例默认的一个变量,吐露横线,事理是告诉体例你打算画一条横线;
昔时面两节的练习中,咱们清晰”arrow”是图形的名字,OBJ_ARROW是告诉MT4咱们要画一个箭头,Time[0]是x轴坐标,Low[0]是吐露眼前K线的最低价。
这里对Low[]和iLow()做一个阐明。Low[]是一个数组,内中贮存了眼前周期图外上每根K线的最低价,
第4个是坐标点1的x坐标,粗略起睹,我这里写了Time[0],代外开始是眼前时分(还记得MT4图外的偏向是从右到左的吗?);
ObjectSet的第一个参数是图形的名字,意义是告诉MT4我将要对”ellipse”这个图形举行窜改;
OBJPROP_COLOR这个参数是MT4默认的体例常量,吐露Object的颜色属性,正在后面咱们将会看到,Object还会有许众各式各样的属性,这些属人命名的轨则都是OBJ_XXX云云的,只消把这个常量更改为咱们念要窜改的属性就行了;
谜底依旧ObjectCreate函数!由此看睹ObjectCreate函数正在MT4绘图编程中是何等的要紧了吧,就如造物主普通发现出各式奇妙的图形!
下面,咱们沿路来练习一下,怎样用ObjectCreate函数发现出更众的图形。
起首创筑一个目标文献,定名为Lesson3_DrawSymbol_1,然后正在start函数中输入如下代码:
编译出来的目标是一律的,PERIOD_D1是MT4默认的体例变量,吐露周期为天,假使1小时图即是PERIOD_H1,30分钟图即是PERIOD_M30,云云类推。
同理,iLow即是取指定周期的最低价;最终一个参数是0,这里吐露取最天图最右边的K线的最高价和最低价,即当天的最高价和最低价;假使改为1,上面的例子即是取昨天的最高价和最低价了(还记得MT4图外的偏向是由右往左吧?)。
起首新筑一个目标文献,定名为Lesson3_DrawSymbol_2,然后正在start函数中输入如下的代码:
编译后把Lesson3_DrawSymbol_2目标增加到图外上,看到了什么?没错,总共MT4帮帮的图形符号都跑出来了!
正在上面的代码中,我用了一个轮回,从眼前K线根K线,正在每根K线的最低价处所画一个符号。为什么是257呢?你能够把这个数字改大一点,会觉察之后总共的图形符号都是一律的了,这诠释MT4帮帮的图形符号即是到257为止了。
第5个参数是坐标点1的y坐标,为粗略起睹,这里我写了Bid,吐露眼前的卖出价;
第6个是坐标点2的x坐标,Time[10]吐露正在眼前图外上从眼前时分往左第10根K线的y坐标,Ask吐露眼前的买入价。
椭圆曾经画出来了,颜色类似不敷精通,那咱们应当怎样窜改已画出来的图形的颜色呢?
用ObjectSet函数。比方我方今念把椭圆的颜色改为赤色,能够正在ObjectCreate函数下面增加云云一句:
阐明一下上面的代码:咱们用OBJ_RECTANGLE替代了前面的OBJ_ELLIPSE,意义是告诉MT4咱们将要正在图外上画一个矩形;
Time[0]和Time[10]分手是坐标点1的x轴坐标和坐标点2的x轴坐标,这个咱们正在前面都讲过了,合头是iHigh和iLow这两个函数.
iHigh和iLow都是MT4自带的体例函数,iHigh的意义是获取指定周期的最高代价,
前面说过,deinit函数是正在目标被删除的时期挪用的,要紧用来做少少清算性的作事,ObjectDelete函数是删除一个指定的图形对象,所以,咱们能够正在deinit函数中列入如下代码:
这是MT4编程开采实战系列的第3站。正在前面两节中,咱们曾经学会了怎样运用ObjectCreate函数来画直线、椭圆和矩形。但这些都是很根本的图形,咱们常常能看到少少MT4目标正在图外上画出了各式各样的符号,分外风趣!
正在上一节中,咱们练习了怎样运用ObjectCreate函数正在图外上画直线。正在这一节中,咱们将持续用ObjectCreate函数正在图外上画出更众的图形。
有时期咱们念对某些时分段的图形用卵形标识出来,下面咱们沿路来告竣云云的一个目标。
运用ObjectCreate函数能够便利的正在图外上画出一个卵形,MQL发言中吐露椭圆的常量是OBJ_ELLIPSE。画一个椭圆必要两个坐标点,因而,画一个椭圆的根本语句如下:
编译后运转,然后正在MT4中新筑一张图外,把Lesson2_DrawShape_2目标增加到图外上,能够看到咱们曾经正在图外上画了一个矩形:
第一节怎样画秤谌线编程开采实战系列的第一站,咱们先来练习一下怎样正在MT4图外上举行根本的绘图操作。
正在MT4体例中,图外的偏向是从右到左的,举例说:正在一个记实有眼前图外每根K线处所的数组中,第一个数值吐露的是图外最右边、也即是眼前的K线的数值!
Init函数是正在初始化的时期挪用的,也即是增加到图外的同时会履行一次,之后就不会再履行了;
deinit函数是正在合上图外或删除目标的同时履行一次,要紧功用是把该目标造造出来的东西删除掉;
方今,咱们把目标Lesson2_DrawShape_2从图外上删除掉,觉察曾经画出来的矩形并没有从图外上删除,为什么呢?
正在MT4中,曾经画出来的图形默认是不会随目标沿路被删除的,这时咱们就要用到deinit和ObjectDelete函数了。
Time[]数组是MT4体例默认的一个数组,数组中每个数值对应眼前图外上每根K线所处的时分。同样,由于直线是无穷的,Y轴坐标此时也遗失了事理,咱们就把它设为0好了。
当你创筑了一个目标文献后,会觉察体例曾经主动天生了init()、deinit()和start()这3个函数。
绘图最根本的操作是画直线。下面的两个例子将演示怎样正在图外上画一条直线、画秤谌线:
起首,正在MetaEditor编辑器中创筑一个客户目标文献,名字能够苟且,我这里就把它定名为Lesson1_DrawLine。
增加完毕后,按F5编译代码,然后正在MT4中掀开苟且一张图外,把编译好的目标Lesson1_DrawLine增加到图外上,咱们能够看到图外上曾经画出了一条横线:
转载请注明出处:MT4平台下载
本文标题网址:我们可以在deinit函数中加入如下代码:mt4入口