请问二级代码中的 HHV,LLV 函数怎么用PY写。我的意思是用PY写出HHV,LLV一样的计算规则。或者用哪个PY库里有这两个函数
谢谢
a = np.array([1,2,3,4,5])
b = a[-5:].max()
[此贴子已经被作者于2019/9/8 20:26:17编辑过]
这是相当于5根K线的最高价,是吗? 我是想实现 ‘hhv(h,n)’这样的效果。其中n是参数
TALIB这个库里我看到
if math_operator == '指定的期间的最大值': real = ta.MAX(close, timeperiod=30)
axes[1].plot(real, 'r-')
这个不知道是不是,应该怎么用。
望回复
a = np.array([1,2,3,4,5]) #这句是5根K线里循环对比,但是如果这个5是一个参数N(可变),这样写是不是就不对了?
b = a[-5:].max #这句是取最近5根的最大值,还是和上面一样如果是参数(可变),那要怎么写
就是对列表求最大值啊
你如果用过python,对列表求max应该不需要有疑问的
n= 5
[-n:]
这样不就可以了吗,求最大值这种是非常非常容易的了,根本不需要去分装什么api
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()
是不是这样?