我是刚刚开始接触vnpy的小白,有些问题还没捋顺,希望老师不要嫌我麻烦哈。
atr_array = am.atr(self.atr_length, array=True)
self.atr_value = atr_array[-1]
self.atr_ma = atr_array[-self.atr_ma_length:].mean()
过滤趋势的一个条件是 波动率大于前10个单位波动率的均值 if self.atr_value > self.atr_ma: , 各个指标的计算代码如上↑。
那么,如果需要用到成交量过滤的话,写法是否可以和上面的类似呢? ↓
volume_array = am.volume(self.volume_length, array=True)
self.volume_value = volume_array[-1]
self.volume_ma = volume_array[-self.volume_ma_length:].mean()
现在有一个疑问是,成交量的写法中好像只有一个(self),没有需要填入的参数,那么成交量是怎么计算出来的呢?
@property
def volume(self):
"""
Get trading volume time series.
"""
return self.volume_array
那么假设交易逻辑中的一个条件是:当根K线的成交量 >= 前10根K线成交量均值 (就是类似于self.atr_value > self.atr_ma 这种),请问这个代码应该怎么写呢?
还有一个问题是关于K线实体部分的写法, “ K线的实体部分占总波动的50%以上(算上跳空的情况) ” 。在文华8中的写法是 ABS( C-O) / (MAX (REF(C,1),H)-MIN(REF(C,1),L)) >= 0.5。那么请问一下,在vnpy中,我的这种写法是对的吗?
self.abs( c-o) / max(bar.close_price[-2],bar.high_price) - min(bar.close_price[-2],bar.low_price)。
这种K线实体部分占总波动百分比的过滤条件应该怎样写呢?