11评论

2收藏

EA调用指标的经验---仅调用一次指标获得多种信号

avatar w09a5b3v | 4482 人阅读 | 11 人评论 | 2011-10-23

转自自己的博客:macy01.blogcn.com
  
      在进行EA和指标编程的时候,往往会遇到如下这个问题:一个Bar结束的时候进行信号分析才比较准确!这个问题会衍生出来几个子问题、以及多种解决的方法,值得我们去思考。例如一些选择包括:
      1、在指标中设置一个全局静态变量,在start()函数中判断当天tick对应的开仓时间Time[0]是否等于上个tick的开仓时间,如果相等,则说明bar没有结束,如果不等,则正好为新的bar创建的瞬间,此时就可以对过去的信号进行采样和分析了。
      2、同样的方法,在EA中也可以采取上述的方法来实现。
      那么怎么做比较好呢?个人认为在指标中来做会比较好,这样指标的信号是准确的,即使没有EA也可以单独使用。
  
  --------------------------------------------------------------------------------
  static int stcLastTime;  //用于判断是否为新Bar
  int start()
  {
    bool newBar = false;
    if(stcLastTime!=Time[0])
    {
      newBar=true;
      stcLastTime=Time[0];
    }
   
    if(false==newBar)
      return(0);
   
    指标实际处理代码这里忽略
  --------------------------------------------------------------------------------
  
      另外一个问题是,如果一个指标有4个buffer,分别用来表示空单开仓信号、空单平仓信号、多单开仓信号、多单平仓信号。那么在EA中需要调用4次这个指标,为了简化代码以及调用关系,最好在指标中增加一个EABuffer,这个EABuffer有5个返回值,其中4个分别表示信号,一个为EMPTY_VALUE,这样EA只调用一次指标,通过返回值来做判断信号的作用。同时为了解决指标脱离EA也可以单独使用的问题,可以保留原有的4个Buffer,用来指标画图使用,这样就很好的解决了EA和指标之间的关系的问题。
""
还没有人打赏,支持一下

评论|共 11 个

心魔

发表于 2012-11-21 23:00:05 | 显示全部楼层

长时间没来看了 ~~  

wh34

发表于 2012-11-21 23:00:05 | 显示全部楼层

你好 , 写过很多ea了, 请看我用户名, 加后可提供博客看看我的ea介绍

杨子

发表于 2012-11-21 23:00:05 | 显示全部楼层

这样的贴子,不顶说不过去啊  

早妖的夏天

发表于 2012-11-21 23:00:05 | 显示全部楼层

围观来了哦  

myecr

发表于 2012-11-21 23:00:05 | 显示全部楼层

EA真的不靠谱..。

.  

看我眼神忧郁不

发表于 2014-12-17 23:10:34 | 显示全部楼层

研究研究

搞笑版猪

发表于 2015-3-11 07:39:15 | 显示全部楼层

没有使用说明书

csh25949125

发表于 2015-3-14 02:33:52 | 显示全部楼层

看看,看看。谢谢。你要发,我也要发。

yichi22

发表于 2015-3-14 15:18:51 | 显示全部楼层

亏损中……………………

12下一页
您需要登录后才可以回帖 登录 | 注册 微信登录

EA之家评论守则