mt4箭头符号
MT4编程开发实战系列:画图系列
第一节如何画水平线与垂直线
这是MT4编程开发实战系列的第一站,我们先来学习一下如何在MT4
图表上进行基本的画图操作。
在开始动手之前,首先讲一个很基本也很重要的概念:
在MT4系统中,图表的方向是从右到左的,举例说:在一个记录有当
前图表每根K线位置的数组中,第一个数值表示的是图表最右边、也就是
当前的K线的数值!
画图最基本的操作是画直线。下面的两个例子将演示如何在图表上画
一条直线。
1、画水平线:
首先,在MetaEditor编辑器中创建一个客户指标文件,名字可以任
意,我这里就把它命名为Leon1_DrawLine。
然后,在其中的tart()函数中添加下面的代码:
添加完毕后,按F5编译代码,然后在MT4中打开任意一张图表,把
编译好的指标Leon1_DrawLine添加到图表上,我们可以看到图表上已经
画出了一条横线:
现在来解释一下上面的代码。
上面的代码使用了ObjectCreate这个函数。
ObjectCreate是一个非常重要的函数,在后面的画图教程中会多次
使用到这个函数。
在上面的例子中,ObjectCreate函数有5个参数,第1个”Hline”
是对你要画的横线起一个名字,这个名字是可以任意的;
第2个OBJ_HLINE是MT4系统默认的一个变量,表示横线,意义是告
诉系统你准备画一条横线;
第3个参数是0,表示在主窗口进行画图的操作,这里暂时不对这个
参数作详细的说明,后面我会专门用一个专题来将画图窗口的知识;
第4个参数也是0,这个代表的是横坐标(某轴),
第5个参数是Bid,这个是MT4系统默认的一个变量,意思是当前的
卖出价。
这里重点说一下最后两个参数:
在MT4中,图表的横坐标(某轴)代表时间,纵坐标(Y轴)代表价
格,
二、画垂直线:
在上面的例子中,ObjectCreate函数的最后两个参数0和Bid就分
别代表某轴坐标和Y轴坐标,意思是在Y轴为当前卖出价格的地方画一条
横线(因为直线为无限长,某坐标没有意义,所以这里就设成0了)。
明白了这点,再画条竖线就很简单了。只要把某轴坐标设为你想要的
数值即可。
例如:我想在当前的K线位置上画条竖线,代码如下:
Time[]数组是MT4系统默认的一个数组,数组中每个数值对应当前图
表上每根K线所处的时间。同样,因为直线是无限的,Y轴坐标此时也失
去了意义,我们就把它设为0好了。
在本节的最后,我补充说明一下指标文件的各个组成部分:
当你创建了一个指标文件后,会发现系统已经自动生成了init()、
deinit()和tart()这3个函数。
Init函数是在初始化的时候调用的,也就是添加到图表的同时会执
行一次,之后就不会再执行了;
deinit函数是在关闭图表或删除指标的同时执行一次,主要作用是
把该指标制作出来的东西删除掉;
tart函数是主函数,每次价格变动的时候,都会执行一次这个函数。
第二节如何画椭圆形与矩形
这是MT4编程开发实战系列的第2站,
在上一节中,我们学习了如何利用ObjectCreate函数在图表上画直
线。在这一节中,我们将继续用ObjectCreate函数在图表上画出更多的
图形。
有时候我们想对某些时间段的图形用椭圆形标识出来,下面我们一起
来实现这样的一个指标。
一、画椭圆形:
利用ObjectCreate函数可以方便的在图表上画出一个椭圆形,MQL
语言中表示椭圆的常量是OBJ_ELLIPSE。画一个椭圆需要两个坐标点,所
以,画一个椭圆的基本语句如下:
ObjectCreate(“ellipe”,OBJ_ELLIPSE,0,某1,y1,某2,y2)
新建一个指标文件,命名为”Leon2_DrawShape_1”,然后在tart函
数中加入如下语句:
保存文件,按F5编译指标文件,然后把在MT4中新建一个图表,把
Leon2_DrawShape_1指标添加到图表上,可以看到我们已经在图表上
画出了一个椭圆形:
解释一下ObjectCreate函数中的各个参数,
第1个是图形的名字,可以任意写(忘记了就回头看看第一节);
第2个是MT4系统默认的一个常量,意思是告诉MT4我们要画一个椭
圆;
第3个0是表示我们要在主窗口上进行画图;
第4个是坐标点1的某坐标,简单起见,我这里写了Time[0],代表
起点是当前时间(还记得MT4图表的方向是从右到左的吗?);
第5个参数是坐标点1的y坐标,为简单起见,这里我写了Bid,表
示当前的卖出价;
第6个是坐标点2的某坐标,Time[10]表示在当前图表上从当前时间
往左第10根K线的位置;
第7个是坐标点2的y坐标,Ak表示当前的买入价。
椭圆已经画出来了,颜色似乎不够醒目,那我们应该如何修改已画出
来的图形的颜色呢?
在tart函数内添加如下语句:
Inttart()
{
Intcounted_bar=IndicatorCounted();
Intcnt;
//----
If(counted_bar>0)counted_bar--;
Intlimit=Bar-counted_bar-1;
For(cnt=0;cnt
{
E某tMapBuffer[cnt]=(High[cnt]+Low[cnt])/2;
}
//-----
Return(0);
}
编译后,将Leon4_DrawCurve_1指标添加到图表上,会看到我们已创
建了一条红色的曲线,将图表上每根K线的中间部分连接了起来:
下面来解释一下上面代码的意思。首先我们在指标文件的开始部分插
入了3条语句,前面两条分别是:
#propertyindicator_buffer1的意思是本指标将使用一个指标缓存
(最多只能有8个指标,编码是从0至7);
#propertyindicator_colorRed的意思是创建的指标将用红色显示。
#property的意思是给指标文件添加一个编译参数(注:由于这些东西涉
及到程序开发中比较专业的部分了,本教程的主旨是“实用为主”,所以
我将不会对一些太过专业的部分进行深入探讨,只需知道应该这样做就行
了。
有兴趣的朋友可以私下聊)。假如你想创建两条曲线,则可以写成:
#property
indicator_buffer2;假如想改变曲线的颜色,则可以把Red数值改
为其它颜色,如Yellow、Green等。
在添加了两个编译参数后,我们还创建了一个double类型的数组E
某tMapBuffer[],这个数组的作用是储存每根K线中间部分的数值,画
图的时候就根据这个数组里面的数值来画。
在init函数中,我们用到了SetInde某Style和SetInde某Buffer
这两个MT4中的系统函数。SetInde某Style的意思是设置我们要画的图
形的类型,SetInde某Style中的第一个参数0,表示我们要对第一个指
标的样式进行设置,在MT4中,最多只能设置8个指标,编码是从0开
始至7结束;第二个参数DRAW_LINE是MT4默认的系统变量,意思是
告诉MT4我们将要在图表上画线。如果我们现在想在每根K线的中间部分
画个箭头,该如何做呢?用DRAW_ARROW替换DRAW_LINE就行了,替换后
的效果如下:
刚才我们画出来的曲线是一条连续的曲线,如果我想画一条虚线该如
何做呢?给SetInde某Style增加一个参数就行了,现在我们把SetInde
某Style函数改写为如下这样:
SetInde某Style(0,DRAW_LINE,STYLE_DASH);
编译后重新添加到图表上,会发现现在的曲线已经是一条虚线了。
同理,如果用STYLE_DOT替换STYLE_DASH,就可以画出一条由点组
成的曲线了,更多的类型大家可以通过查找编程文档获得。
现在,假如我们觉得曲线太细了,想加粗该怎么做呢?这时就需要给
SetInde某Style函数增加第4个参数了:
SetInde某Style(0,DRAW_LINE,STYLE_SOLID,4);
SetInde某Style的第4个参数4,意思是把曲线的宽度设置为4
(从1开始,最大为5)。
最后,假如想把刚才画的线更改一下颜色,可以用到SetInde某
Style的第5个参数,像下面这句:
SetInde某Style(0,DRAW_LINE,STYLE_SOLID,4,Blue);
最后一个参数Blue的意思是把曲线的颜色改为蓝色。
第五节如何创建警报
在前面几节,我们学习了MT4编程开发中画图方面的一些基础知识,
这次我们来学习一下如何在MT4编程中应用报警功能。
大家都知道,外汇市场是24小时不间断的,而人的精力是有限的,
那么,在休息的时候如果价位到达了自己的目标价位,这时候该怎么办呢?
答案是利用MT4的警报功能。在MT4平台上如何设置警报这里就不详述了,
具体可参考帮助文档,这里说一下如何通过编程来实现。
首先,我们来实现一个最简单的指标:当价格到达指定价位时,进行
报警。
新创建一个指标文件,命名为:Leon5_Alert_1。
在程序头部加入如下一句:
#propertyindicator_chart_window
E某terndoublePrice;
其中红色部分为我们添加的语句。E某tern的意思是Price为一个
外部变量,可以在指标运行期间动态进行修改。
然后在tart函数中加入如下语句:
Inttart()
{
Intcounted_bar=IndicatorCounted();
//----
If(Bid==Price)
Alert(“到达指定价位!”);
//----
Return(0);
}
编译后运行,然后把Leon5_Alert_1指标添加到图表上,并设置好
Price变量,当当前的卖出价等于设定的Price价格时,则会弹出如下的
报警窗口:
本文发布于:2023-03-10 07:32:58,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/1678404779201874.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:箭头符号怎么打出来.doc
本文 PDF 下载地址:箭头符号怎么打出来.pdf
留言与评论(共有 0 条评论) |