以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  高级功能研发区  (http://www.weistock.com/bbs/list.asp?boardid=5)
----  请问二级代码中的 HHV,LLV 函数怎么用PY写  (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=171968)

--  作者:wxx212
--  发布时间:2019/9/8 10:54:48
--  请问二级代码中的 HHV,LLV 函数怎么用PY写
请问二级代码中的  HHV,LLV 函数怎么用PY写。我的意思是用PY写出HHV,LLV一样的计算规则。或者用哪个PY库里有这两个函数
谢谢

--  作者:yukizzc
--  发布时间:2019/9/8 20:26:02
--  

a = np.array([1,2,3,4,5])

b = a[-5:].max()

[此贴子已经被作者于2019/9/8 20:26:17编辑过]

--  作者:wxx212
--  发布时间:2019/9/9 10:34:11
--  
这是相当于5根K线的最高价,是吗?  我是想实现 ‘hhv(h,n)’这样的效果。其中n是参数
--  作者:wxx212
--  发布时间:2019/9/9 10:53:54
--  
TALIB这个库里我看到 if math_operator == \'指定的期间的最大值\':
        real = ta.MAX(close, timeperiod=30)
        axes[1].plot(real, \'r-\')
   这个不知道是不是,应该怎么用。
  望回复

--  作者:yukizzc
--  发布时间:2019/9/9 11:29:01
--  
hhv就是最近n跟的最高级
和我上面给你例子-5:最近5跟不是一个样吗

--  作者:wxx212
--  发布时间:2019/9/9 14:14:08
--  

a = np.array([1,2,3,4,5])            #这句是5根K线里循环对比,但是如果这个5是一个参数N(可变),这样写是不是就不对了?

b = a[-5:].max                            #这句是取最近5根的最大值,还是和上面一样如果是参数(可变),那要怎么写


--  作者:yukizzc
--  发布时间:2019/9/9 15:14:16
--  
就是对列表求最大值啊
你如果用过python,对列表求max应该不需要有疑问的

--  作者:yukizzc
--  发布时间:2019/9/9 15:14:54
--  
n= 5 
[-n:]
这样不就可以了吗,求最大值这种是非常非常容易的了,根本不需要去分装什么api

--  作者:wxx212
--  发布时间:2019/9/11 2:09:24
--  
import time
import os 
import csv
import numpy 
import talib as ta


#  在这个方法中编写任何的初始化逻辑。context对象将会在你的算法策略的任何方法之间做传递。--(必须实现)
def init(context):
    # 在context中保存全局变量
    #context.s1 = "rb00"   #螺纹钢连续月份
    context.s1 =context.run_info.base_book_id
    context.myvalues1=5
    # print("策略启动") #调试打印输出
    

#获取K线数据,并且计算高低价的加权平均线
def k_data(context):
    #获取K线数据
    HID_hight = history_bars(\'context.s1\',10000,\'1m\',\'hight\')#获取1分钟最高价
    HID_low = history_bars(\'context.s1\',10000,\'1m\',\'LOW\')#获取1分钟最低价
    HID_close = history_bars(\'context.s1\',10000,\'1m\',\'close\')#获取1分钟最低价
    HID_close = history_bars(\'context.s1\',10000,\'1m\',\'open\')#获取1分钟最低价
    #计算高低价的加权平均线
    
    ma00_h =numpy.arange([HID_hight])
    ma0_hight =ma00_h[context.myvalues1].max()#取一定周期内的最高值
   
    
    ma00_l =numpy.arange([HID_low])
    ma0_low =ma00_l[-context.myvalues1].min()

是不是这样?

--  作者:yukizzc
--  发布时间:2019/9/11 9:15:10
--  
a[-5:]
有个冒号的
这个是列表的基础使用