对于一些单一品种、单一周期交易的ea来说,为了编写的方便,通常交易品种都是默认为当前图表货币、而周期也通常是默认为当前图表周期。这类ea程序在编写的时候,是不限定交易货币对及交易图表周期的。比如将它放到欧元兑美元EURUSD的30分钟图表上,它交易的货币对就是欧元兑美元,获取均线的数值也就是当前欧元兑美元的30分钟图表。
这种类型的ea很多,使用起来也很简单,拉到什么图表就交易什么。如果你将它加载到两个不同的货币对图表,它也就交易两个货币对。如果编写程序严谨的话,在订单的管理上都是只管理默认图表货币对的话,那么这两个图表、两个货币对的交易就会正常运行,不会互相干扰。
而有的时候,有些人可能会想,将它加载到同一货币对的两个不同周期的图表上,它交易会有冲突吗?比如,分别加载到欧元兑美元EURUSD的四小时和日线图表上,能正常交易吗?
对于单一品种、单一周期交易的ea来说,如果它程序所有的交易处理都是以默认图表执行,而且ea也带有订单识别码参数,那么就可以尝试设置不同的订单识别码参数来加载到不同的周期交易。
其原理就是不同的周期使用不同的订单识别码,然后ea在不同的周期获取对应的数据进行开仓,因为订单识别码的不同,所以不同周期的单子也由其图表上的ea进行管理。
当然,这只是一种简单的多周期交易思路,并不通用,具体情况还是要看EA里面是否采用通用的简单的方法。如果EA里面有限定时间周期参数,那么还是要根据其参数走的。
判断一个没有源码的EA是否能正常执行多周期交易,最简单的方法,就是弄个模拟盘,然后把它分别加载到不同的周期图表上,并记录分析它所开的单子。
而如果是自行开发ea,又考虑到多周期交易的问题,那就完全可以在开发程序时,直接将多周期交易写入程序,使用时根据需要开启某几个周期来交易即可。
就拿最简单的外汇双均线交叉EA来说,如果想同时监测多个周期的均线,只要发生交叉,都开仓交易。那么在编写程序时,可以将周期作为选择变量,一套程序根据选择的周期执行不同的变量循环即可。