VeighNa量化社区
你的开源社区量化交易平台
Hello_World's Avatar
Member
离线
5 帖子
声望: 0

VN神经蛙 wrote:

单凭文字描述不太确定你的意思,方便贴一下策略吗
抱歉,几天没看,下面是trading view的一段代码,想在vnpy中实现,thx

zigzag() =>
_isUp = close >= open
_isDown = close <= open
_direction = _isUp[1] and _isDown ? -1 : _isDown[1] and _isUp ? 1 : nz(_direction[1])
_zigzag = _isUp[1] and _isDown and _direction[1] != -1 ? highest(2) : _isDown[1] and _isUp and _direction[1] != 1 ? lowest(2) : na

_ticker = useHA ? heikenashi(tickerid) : tickerid
sz = useAltTF ? (change(time(tf)) != 0 ? security(_ticker, tf, zigzag()) : na) : zigzag()

plot(sz, title='zigzag', color=black, linewidth=2)

// ||--- Pattern Recognition:

x = valuewhen(sz, sz, 4)
a = valuewhen(sz, sz, 3)
b = valuewhen(sz, sz, 2)
c = valuewhen(sz, sz, 1)
d = valuewhen(sz, sz, 0)

xab = (abs(b-a)/abs(x-a))
xad = (abs(a-d)/abs(x-a))
abc = (abs(b-c)/abs(a-b))
bcd = (abs(c-d)/abs(b-c))

VN神经蛙 wrote:

可以参考一下示例策略boll_channel_strategy的on_15min_bar函数中具体的实现逻辑。
另外直接使用自带的ArrayManager调取bar的数据信息即可,无需自己写函数。
thx,我是想测一个策略,右侧交易。等一个形态走完后确认信号,然后想获取这个形态中bar的数据信息

想实现的目的就是想获得过滤条件满足时,bar的数据信息。

找到一个func,如下:
def valuewhen(condition, source, occurrence):
return pd.Series(source) \
.reindex(pd.Series(condition[condition]).index) \
.shift(-occurrence) \
.reindex(pd.Series(source).index) \
.ffill()

但是算的过程中获得的总是Nan。

大佬们有没有func改进的建议或者有没有别的方法

xiaohe wrote:

talib.SMA(你的array, n)
thx

想要实现的是两个均线相减后的结果算sma。

目前两个均线和均线相减后的数据类型都是'numpy.ndarray',总是报错:AttributeError: 'numpy.ndarray' object has no attribute 'sma'。想问下怎么样解决?或者说怎么样实现我的目的

© 2015-2022 微信 18391752892
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】