如何显示某股票停牌期间的K线,且相应指标不做计算?

Discussion in 'AmiBroker' started by yanhai257, Feb 3, 2016.

  1. 关注这里很久了,苦于一直不能注册,看帖还要在淘宝买账号,还不能发帖,后来账号还被封了!:(今天终于能注册了,开心呀!:)
    因为在这里看到一位前辈的帖子关于amibroker,所以上个月入手了,学习之后有很多问题想问,苦于没人交流呀(英文水平太一般,写封信发个帖我要折腾半天)!后来找到了台湾的coco-in,但那里的语言环境看着有些别扭,还是喜欢这里。有种找到家的感觉;),废话少说,入正题。

    这个问题是因为我在用Foreign函数的时候,碰到一些复杂的局面。举一个例子,如下:

    见图001
    [​IMG]
    600521这只股票在5月22日这天停牌,直到6月9日复牌,所以这一段时间的K线没有,相应的我引用的“上证指数”也会缺少这段时间的K线(共12个交易日)。K线少了,相应的指标如MA,还是会根据这些K线来计算。如600521中的“上证指数”在5月21日和6月9日这两天的MA(close, 130)的指标是3422.87和3443.60,

    见图002
    [​IMG]
    而另外一只股票600523中的“上证指数”在5月21日和6月9日这两天的MA(close, 130)的指标是3428.07和3666.48。可以看到,这两组数据完全不一样,原因就在于某只股票停牌造成的K线缺失。因为我在做backtest时,buy的规则会用到Foreign函数,比如只有在“上证指数”的close > MA(close, 130)时,我才会有个股的买入动作,但因为数据的不一致,会有在不该买入的时候,却买入了。

    我有想过自己补齐那些停牌的数据,但问题是,相应的指标也会根据那些数据来重新计算。所以,amibroker有没有如下功能?
    1. 补齐停牌的数据,但相应的指标不做计算?
    2. 停牌期间的K线不显示,但相应的指标用原始数据来计算?
     
  2. 1. 仔细研究foreign的最后一个参数,看是否有帮助。
    2. 如果1不能解决, 可以尝试预先用AddToComposite函数把指数的指标存放到自定义指数中去(单独写一个公式,针对指数进行scan)。
     
  3. foreign的最后一个参数我尝试了,不管怎么改动,我用_trace跟踪的数据,没有任何变化;AddToComposite函数很好用,针对这个问题,很容易解决。谢谢oldwain!顺祝新年快乐!