MT4中指标编程关键字速记含义

MQL4编程参考文档:点击打开链接http://www.myeatrade.com/zh/mql4-reference/


clrDodgerBlue:前面的clr是color之意,如clrSnow、clrDarkBlue等。clr小写,后面的每个词首字母大写。否则MetaEditor可能认不出。



positive:美: ['pɑzətɪv],adj.肯定;确信;积极乐观的;自信的n.正片;优点;优势;阳性结果(或反应)网络

negative :美: ['neɡətɪv] ,n.否定;底片;负片;拒绝v.否定;拒绝;否定…的真实性;证伪adj.


MQL4自定义指标编写相关函数(一)

http://www.myeatrade.com/zh/391/

本组函数用于设计和编写自定义指标。这些函数不能用在智能交易和脚本中。

----------------------------------------------------------------------------------------------------

 1、void IndicatorBuffers(int count)

为指标缓冲区分配内存,用于自定义指标计算。缓冲区的个数不能超过8个或者是小于在自定义缓冲区属性中所给出的值。
如果自定义指标要求额外的缓冲区用于统计,那么这个函数必须使用指定的总缓冲区数。
参数:
count - 分配缓冲区的总数。缓冲区数应该在 indicator_buffers常量值 和8之间。 

-------------------------------------------------------------------------------------------------------

SetIndexBuffer() – 设置指标缓冲区位置
2、void SetIndexBuffer(int index, double array[])
将自定义指标预定义的缓冲区绑定到全局数组。需要计算指标缓冲区的个数由 IndicatorBuffers() 函数设定并且不能超过8个。如果成功,返回TRUE,否则,将返回FALSE。如果想获得更详细的信息,可以调用 GetLastError() 函数。
参数:
index - 指标线。必须是 0 - 7 之间 ,index:美: ['ɪn.deks] 指标;索引;
array[] - 存储计算指标值的数组。

个人理解:IndexBuffer为指标缓冲区(index英文有指标的意思,但也有索引的意思,即第几个指标缓冲区),指标缓冲区的个数由 IndicatorBuffers() 函数设定并且不能超过8个。SetIndexBuffer:即将第几个自定义的指标缓冲区绑定到指定数组array[]。

---------------------------------------------------------------------------------------

3、SetIndexStyle() – 设置指标线样式
void SetIndexStyle(int index, int type, void style, void width, void clr)
为指定的指标线设置新类型、样式、宽度和颜色。
参数:
index - 指标线。必须在0至7之间。 
type - 形状样式,可以是 划线形状样式列表 中任意一个。 
style - 线型。可以应用一个像素的粗线,可以是 划线形状样式列表 其中一个。EMPTY值表示线型不变。
width - 线宽。有效值是1,2,3,4,5。EMPTY值表示线宽不变。
clr - 线的颜色。省略本参数表示颜色将保持不变

--------------------------------------------------------------------------------

4、

SetIndexLabel() – 设置指标线标签

void SetIndexLabel(int index, string text)

设置在数据窗口和快速提示中显示的指标线说明。

参数:

index - 指标线。必须在0至7之间。 
text - 标签文本。NULL表示指标值在数据窗口中不显示。

------------------------------------------------------------------------------------------------

SetIndexDrawBegin() – 设置指标线起始位置

void SetIndexDrawBegin(int index, int begin)

作用;
从有数据开始第一个BAR,后面第"begin"开始画起
就是从什么位置开始画出曲线。因为数据都有最开始的地方,在最早的地方画线是没意义的,所以才这样用。


设置开始绘制指标线的柱体(指标线从什么位置开始绘制)。指标线从左边绘制到右边,已给出的柱子左边的数组值不会显示在图表或数据窗口中。设置0作为默认值,所有数据将被绘出。

如SetIndexDrawBegin(0, 14),则是指从最左边的bar数,第14个bar开始绘制指标图。

个人理解:这里说的第几个bar,是从左向右。而MT4系统的当前bar编号为0,向左数紧邻当前bar的编号为1,。。。

参数:

index - 指标线。必须在0至7之间。 
begin - 开始绘制指标线的柱体编号。 


---------------------------------------------------------------------------

OnCalculate函数



----------------------------------------------------

ArraySetAsSeries() – 设置为序列化数组

bool ArraySetAsSeries(void array[], bool set)

设定数组的排列方向。如果设置参数值为TRUE,数组将按逆序排列,也就是说,数组元素下标为0的值是最后的值。如果其值为FALSE,表明数组是一个正常的排列顺序,此函数原样返回以前的数组。

参数:

array[] - 数值型数组。 
set - 数组索引顺序,true 或者 false。


  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值