掘金社区

请教一个问题Pinned highlighted

量化小白白 发表在策略研究 2019-01-24 16:45:20

策略研究
476
3
0

大家好,因为最近才接触Python编程,之前没有基础,现在有一个问题请教一下大家。
如果当K线收盘【此K称之为 K1】突破20日均线,
比如说在5分钟周期吧(其实周期无所谓),
当后面的价格突破K1高点,才开仓。
请问,这个K1的高点怎么处理。怎么确定呢?
下面是我写的,但是我感觉这个是有问题的,因为是最新的BAR数据。不是之前确立的那根K线的价格。麻烦大家帮忙写一下怎么记录K1的值。

on_bar(context,bars):
bar = bars[0]
print (bars[0].bob)
symbol = bar['symbol']
recent_data = context.data(symbol=symbol,frequency='300s',count=context.period,fields='colse,high,low')
close =recent_data['close'].values[-1]
high = recent_data['high'].values[-1]
low = recent_data['low'].values[-1]

怎么确定K1 这根K线的最高值呢?望指点指点,怎么写

评论: 3
  • context.high = max(recent_data['high'].values)
    把当前K线的最高价存入全局变量中

    2019-01-28 16:27:13
  • @evergreen 谢谢

    2019-02-14 10:50:06
  • @evergreen 我到现在还没有搞定这个,一直查资料 但是没有这个类似的。
    比如说30分钟周期的K线上穿了20均线,此K线的高点,作为后面突破这个高点价格及开仓。如果我用max(recent_data['high'].values),测试了这个高点值 是count里面最面最高的。不是满足这个上穿条件的。而且也有可能是此K线的后面好几根才满足突破这个要求,所以我用high[-1],这个就不对了,因为BAR推送就变换了价格。还望帮忙解决写个实例,谢谢了。

    2019-02-28 20:46:59
相关阅读
  • 问题反馈history提取数据有问题?
  • Looks like your connection to 掘金量化社区 - 量化交易者的策略交流学习社区 was lost, please wait while we try to reconnect.