大家好,我是ARMANI。为了帮助投资者,一有时间将EA编程的一些知识和精华尽可能的通过笔记让大家分段来学习。
因为文章是ARMANI自己编写,所以如恶意转发或抄袭,将追究到底。
延续第三课[国际变数和可设置参数]之后,接下来让ea在未来可以正常运作,不能不用到的代码功能就是实时读取图表报价走势,只有在报价及时的抓取后,才可以让ea中的交易信号产生作用,从而在指令下单和结单。所以取得图表数据是至关重要的一步。
进入主题
首先了解图表中报价的函数

#注意这里的[n]是指n根前的蜡烛棒
举个例子:
iclose(“EURUSD”,60,2) //这里的意思是eurusd H1 2前第2根K棒的结束价格

#如果将货币部分修改为null或者使用Symbol(),则自动匹配为打开图片货币对
#如果将分钟设置为0,则自动匹配目前打开周期图表分钟
结论:取得图表数据并不是单独列代码在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交易#
风险提示:以上内容仅代表作者或嘉宾的观点,不代表 FOLLOWME 的任何观点及立场,且不代表 FOLLOWME 同意其说法或描述,也不构成任何投资建议。对于访问者根据 FOLLOWME 社区提供的信息所做出的一切行为,除非另有明确的书面承诺文件,否则本社区不承担任何形式的责任。
FOLLOWME 交易社区网址: www.followme.asia
加载失败()