Note

ARMANI-MT4EA自动交易制作 第四课 如果在ea中让代码取得图表报价?

· Views 733

大家好,我是ARMANI。为了帮助投资者,一有时间将EA编程的一些知识和精华尽可能的通过笔记让大家分段来学习。

因为文章是ARMANI自己编写,所以如恶意转发或抄袭,将追究到底。


延续第三课[国际变数和可设置参数]之后,接下来让ea在未来可以正常运作,不能不用到的代码功能就是实时读取图表报价走势,只有在报价及时的抓取后,才可以让ea中的交易信号产生作用,从而在指令下单和结单。所以取得图表数据是至关重要的一步。


进入主题

首先了解图表中报价的函数

ARMANI-MT4EA自动交易制作 第四课 如果在ea中让代码取得图表报价?


#注意这里的[n]是指n根前的蜡烛棒

举个例子:

 iclose(“EURUSD”,60,2)  //这里的意思是eurusd H1 2前第2根K棒的结束价格



ARMANI-MT4EA自动交易制作 第四课 如果在ea中让代码取得图表报价?


#如果将货币部分修改为null或者使用Symbol(),则自动匹配为打开图片货币对

#如果将分钟设置为0,则自动匹配目前打开周期图表分钟


结论:取得图表数据并不是单独列代码在ea中取得,而是在其他的一些下单指令中,或者指标指令中,添加以上时间代码的函数,从而让主指令自动匹配指定的时间周期进行该功能的读取报价。


指标函数代码列表:

ARMANI-MT4EA自动交易制作 第四课 如果在ea中让代码取得图表报价?


综上,假设我们要做到在同一周期内,移动平均线指标一小时线和半小时线交叉时候进行下单,(因为模拟,故不考虑下什么方向的订单也不考虑指标向上或向下)。只用来演示时间周期的函数必须放在某个主函数内部进行实现。


我们先宣言移动平均线的指标为实数double (因为对应的报价为小数值)

double ma1,ma2; //这里用实数宣言ma1和ma2


ma1 = iMA(NULL, 60, MAperiod, MODE_SMA, PRICE_CLOSE, 0)  //null刚才说过了,60就是一小时图表,MODE_SMA是之前视频中说过的标准移动指标,PRICE_CLOSE就是结束价格,最后的一个0就是当前K棒的意思。这里的意思就是读取移动平均线一小时图表的当前值。


ma2 = iMA(NULL, 30, MAperiod, MODE_SMA, PRICE_CLOSE, 0)  //同样,这里不同的是时间30,也就意味着我们要读取的是半小时的值。


开始制作下单的信号:

if(ma1 == ma2)  //当ma1和ma2相同时,也就意味着交叉,是我们下单的条件

{

 OrderSend....  //关于正式下单未来的课程再详细解说

}


下一节课:关于订单管理的函数

See u!

#EA交易#

Disclaimer: The content above represents only the views of the author or guest. It does not represent any views or positions of FOLLOWME and does not mean that FOLLOWME agrees with its statement or description, nor does it constitute any investment advice. For all actions taken by visitors based on information provided by the FOLLOWME community, the community does not assume any form of liability unless otherwise expressly promised in writing.

FOLLOWME Trading Community Website: https://www.followme.com

If you like, reward to support.
avatar

Hot

No comment on record. Start new comment.