fengwo模块是Python量化的麦语言扩展,他跟其它Python麦语言扩展比较有以下特点:
1、所有函数使用C/C++编写,运行速度快
2、所有基础函数如MA/EMA/SMA/SLOPE等的周期值均可以使用序列输入,不限于常量
3、支持SAR、BOLL-M(布林线传统版)等交易软件加密的指标
4、支持RSRS、股票相对高低点(GetLPoint/GetHPoint)等实用函数
5、支持WINNER、COST和通达信公式dll的绑定调用等其它麦语言模块普遍不支持的函数
6、所有函数,包括WINNER【根据价格求获利比例】、COST【根据获利比例反推价格】均突破了Python全局线程锁(GIL)的限制,可以使用在多线程环境中提高效率
7、在64位的Python中也可以用时32位的通达信公式dll(通达信公式dll只有32位的,没有64位的)
1.支持Windows及Linux系统,Python版本>=3.4,暂不支持MAC等,不支持Python2
2. 需要VC2015运行库支持(一般系统上已经安装好了),在导入模块是提示
ImportError: DLL load failed: 找不到指定的模块。
则必须安装VC2015运行库,VC运行库可以在https://fengwo.run/news/3.html下载
3、安装方法:
pip install fengwo
import fengwo as fw
模块在引入后默认显示一条消息,要取消消息可在模块引入后立即运行showMsg(False)即可取消消息显示
import fengwo as fw;fw.showMsg(False)
本模块所使用的序列值,可以是list数组,也可以是numpy数组,只要是可迭代对象即可,但数组或可迭代的内容都采用数字,文字和其它Python对象无法处理
本模块所用的常量也必须是数字,大部分都需要处理整形int,个别函数常量也可以使用浮点型float,具体使用可以查询函数说明。
STD - 标准差函数
函数原型:
def STD(S:Iterable,SN:Union[Iterable[int],int])->Optional[np.ndarray]
#简洁表示
def STD(S,SN)
返回Numpy数组:估算标准差
BACKSET - 向前赋值函数
函数原型:
def BACKSET(S:Iterable,N:Union[Iterable[int],int])->Optional[np.ndarray]
#简洁表示
def BACKSET(S,N)
属于未来函数,将当前位置到若干周期前的数据设为1.
用法:
BACKSET(S,N),若X非0,则将当前位置到N周期前的数值设为1.
例如:
BACKSET(CLOSE>OPEN,2)若收阳则将该周期及前一周期数值设为1,否则为0
REF - 引用若干周期前的数据
函数原型:
def REF(S:Iterable,SN:Union[Iterable[int],int])->Optional[np.ndarray]
#简洁表示
def REF(S,SN)
用法:
REF(X,A),引用A周期前的X值.A可以是变量.
例如:
REF(CLOSE,BARSCOUNT©-1)表示第二根K线的收盘价.
INTPART - 取整行数
函数原型:
def INTPART(S:Iterable)->Optional[np.ndarray]
#简洁表示
def INTPART(S)
用法:
INTPART(A)返回沿A绝对值减小方向最接近的整数
例如:
INTPART(12.3)求得12,INTPART(-3.5)求得-3
EMA - 返回指数移动平均
函数原型:
def EMA(S:Iterable,SN:Union[Iterable[int],int])->Optional[np.ndarray]
#简洁表示
def EMA(S,SN)
用法:
EMA(X,N):X的N日指数移动平均.算法:Y=(X2+Y’(N-1))/(N+1)
EMA(X,N)相当于SMA(X,N+1,2),N支持变量
SMA - 返回移动平均
函数原型:
def SMA(S:Iterable,N:Union[Iterable[int],int],M:int=1)->Optional[np.ndarray]
#简洁表示
def SMA(S,SN)
用法:
SMA(X,N,M):X的N日移动平均,M为权重,如Y=(XM+Y’(N-M))/N
SLOPE - 返回线性回归斜率
函数原型:
def SLOPE(S:Iterable,SN:Union[Iterable[int],int])->Optional[np.ndarray]
#简洁表示
def SLOPE(S,SN)
HHV - 求最高值
函数原型:
def HHV(S:Iterable,SN:Union[Iterable[int],int])->Optional[np.ndarray]
#简洁表示
def HHV(S,SN)
用法:
HHV(X,N),求N周期内X最高值,N=0则从第一个有效值开始.
例如:
HHV(HIGH,30)表示求30日最高价
LLV - 求最低值
函数原型:
def LLV(S:Iterable,SN:Union[Iterable[int],int])->Optional[np.ndarray]
#简洁表示
def LLV(S,SN)
用法:
LLV(X,N),求N周期内X最高值,N=0则从第一个有效值开始.
例如:
LLV(LOW,30)表示求30日最低价
MA - 简单移动平均
函数原型:
def MA(S:Iterable,SN:Union[Iterable[int],int])->Optional[np.ndarray]
#简洁表示
def MA(S,SN)
返回简单移动平均
用法:
MA(X,N):X的N日简单移动平均,算法(X1+X2+X3+…+Xn)/N,N支持变量
AVEDEV - 返回平均绝对偏差
函数原型:
def AVEDEV(S:Iterable,SN:Union[Iterable[int],int])->Optional[np.ndarray]
#简洁表示
def AVEDEV(S,SN)
求总和.
**SUM -求和函数 **
函数原型:
def SUM(S:Iterable,SN)->Optional[np.ndarray]
#简洁表示
def SUM(S,SN)
用法:
SUM(X,N),统计N周期中X的总和,N=0则从第一个有效值开始.
例如:
SUM(VOL,0)表示统计从上市第一天以来的成交量总和
BARSLAST - 上一次条件成立到当前的周期数.
函数原型:
def BARSLAST(S:Iterable)->Optional[np.ndarray]
#简洁表示
def BARSLAST(S)
用法:
BARSLAST(X):上一次X不为0到现在的周期数
例如:
BARSLAST(CLOSE/REF(CLOSE,1)>=1.1)表示上一个涨停板到当前的周期数
BARSCOUNT - 有效数据周期数.
函数原型:
def BARSCOUNT(S:Iterable)->Optional[np.ndarray]
#简洁表示
def BARSCOUNT(S)
用法:
BARSCOUNT(X)第一个有效数据到当前的间隔周期数
注意:判断范围为指标或条件选股计算时公式使用的数据,如果给画线指标的数据少(比如没有按下箭头取更多K线)或给条件选股给的数据少,这个有效值也可能少
BETWEEN - 介于
函数原型:
def BETWEEN(S1:Iterable,S2:Iterable,S3:Iterable)->Optional[np.ndarray]
#简洁表示
def BETWEEN(S1,S2,S3)
用法:
BETWEEN(A,B,C)表示A处于B和C之间时返回1(B<=A<=C或C<=A<=B),否则返回0
例如:
BETWEEN(CLOSE,MA(CLOSE,10),MA(CLOSE,5))表示收盘价介于5日均线和10日均线之间
COUNT - 统计满足条件的周期数.
函数原型:
def COUNT(S:Iterable,SN:Union[Iterable[int],int])->Optional[np.ndarray]
#简洁表示
def COUNT(S,SN)
用法:
COUNT(X,N),统计N周期中满足X条件的周期数,若N<=0则从第一个有效值开始.
例如:
COUNT(CLOSE>OPEN,20)表示统计20周期内收阳的周期数
WMA -返回加权移动平均
函数原型:
def WMA(S:Iterable,SN:Union[Iterable[int],int])->Optional[np.ndarray]
#简洁表示
def WMA(S,SN)
用法:
WMA(X,N):X的N日加权移动平均.算法:Yn=(1X1+2X2+…+n*Xn)/(1+2+…+n)
BARSLASTCOUNT - 统计连续满足条件的周期数
函数原型:
def BARSLASTCOUNT(S:Iterable)->Optional[np.ndarray]
#简洁表示
def BARSLASTCOUNT(S)
用法:
BARSLASTCOUNT(X),统计连续满足X条件的周期数.
例如:
BARSLASTCOUNT(CLOSE>OPEN)表示统计连续收阳的周期数
FILTER - 过滤连续出现的信号.
函数原型:
def FILTER(S:Iterable,SN)->Optional[np.ndarray]
#简洁表示
def FILTER(S,SN)
用法:
FILTER(X,N):X满足条件后,将其后N周期内的数据置为0,N为常量.
例如:
FILTER(CLOSE>OPEN,5)查找阳线,5天内再次出现的阳线不被记录在内
EXIST - 是否存在
函数原型:
def EXIST(S:Iterable,N:int)->Optional[np.ndarray]
#简洁表示
def EXIST(S,N)
例如:
EXIST(CLOSE>OPEN,10),表示10日内存在着阳线
DIFF - 单周期差异指标
函数原型:
def DIFF(S:Iterable)->Optional[np.ndarray]
#简洁表示
def DIFF(S)
返回前一个值减后一个值的数值
VALUEWHEN - 条件取值
函数原型:
def VALUEWHEN(COND:Iterable,S:Iterable)->Optional[np.ndarray]:
#简洁表示
def VALUEWHEN(COND,S)
当COND条件成立时,取X的当前值,否则取VALUEWHEN的上个值.
CROSS - 两条线交叉
函数原型:
def CROSS(S1:Iterable,S2:Iterable)->Optional[np.ndarray]
#简洁表示
def CROSS(S1,S2)
用法:
CROSS(A,B)表示当A从下方向上穿过B时返回1,否则返回0
例如:
CROSS(MA(CLOSE,5),MA(CLOSE,10))表示5日均线与10日均线交金叉
LONGCROSS - 两条线维持一定周期后交叉
函数原型:
def LONGCROSS(S1:Iterable,S2:Iterable,N:Union[Iterable[int],int])->Optional[np.ndarray]
简洁表示:
def LONGCROSS(S1,S2,N)
用法:LONGCROSS(A,B,N)表示A在N周期内都小于B,本周期从下方向上穿过B时返回1,否则返回0
DMA - 求动态移动平均
函数原型:
def DMA(S:Iterable,SN:Union[int,Iterable[int]])->Optional[np.ndarray]:
#简洁表示
def DMA(S,SN)
用法:
DMA(X,A),求X的动态移动平均.
算法:Y=A*X+(1-A)*Y’,其中Y’表示上一周期Y值,A必须大于0且小于1.A支持变量.
例如:
DMA(CLOSE,VOL/CAPITAL)表示求以换手率作平滑因子的平均价
BARSSINCEN - N个周期内第一个条件成立到当前的周期数.
函数原型:
def BARSSINCEN(S:Iterable,N:int)->Optional[np.ndarray]
#简洁表示
def BARSSINCEN(S,N)
用法: BARSSINCEN(S,N):N周期内第一次S不为0到现在的周期数,N为常量
例如: BARSSINCE(HIGH>10,10)表示10个周期内股价超过10元时到当前的周期数
LAST - 持续存在
函数原型:
def LAST(S:Iterable,A:int,B:int)->Optional[np.ndarray]:
#简洁表示
def LAST(S,A,B)
LAST(X,A,B):持续存在
例如:
LAST(CLOSE>OPEN,10,5)
表示从前10日到前5日内一直阳线
若A为0,表示从第一天开始,B为0,表示到最后日止
CONST - 获取常量序列
函数原型:
def CONST(S:Iterable)->Optional[np.ndarray]
#简洁表示
def CONST(S)
返回序列S最后的值组成常量序列
LLVBARS - 求上一低点到当前的周期数
函数原型:
def LLVBARS(S:Iterable,N:int)->Optional[np.ndarray]
#简洁表示
def LLVBARS(S,N)
用法: LLVBARS(S,N):求N周期内X最低值到当前周期数,N=0表示从第一个有效值开始统计
HHVBARS - 求上一高点到当前的周期数
函数原型:
def HHVBARS(S:Iterable,N:int)->Optional[np.ndarray]:
#简洁表示
def HHVBARS(S,N)
用法: HHVBARS(S,N):求N周期内X最高值到当前周期数,N=0表示从第一个有效值开始统计
EVERY - 一直存在
函数原型:
def EVERY(S:Iterable,SN:Union[int,Iterable[int]])->Optional[np.ndarray]
#简洁表示:
def EVERY(S,SN)
例如:
EVERY(CLOSE>OPEN,N)
表示N日内一直阳线(N应大于0,小于总周期数,N支持变量)
FORCAST - 线性回归预测
函数原型:
def FORCAST(S:Iterable,SN:Union[Iterable[int],int])->Optional[np.ndarray]
#简洁表示
def FORCAST(S,SN)
返回S的线性回归预测值,SN支持变量
ATAN - 反正切
函数原型:
def ATAN(S)->Union[np.ndarray,float]
#简洁表示
def ATAN(S)
返回S的反正切值
ACOS - 反余弦
函数原型:
def ACOS(S)->Union[np.ndarray,float]
#简洁表示
def ACOS(S)
返回S的反余弦值
ASIN - 反正弦
函数原型:
def ASIN(S)->Union[np.ndarray,float]
#简洁表示
def ASIN(S)
返回S的反正弦值
TAN - 正切
函数原型:
def TAN(S)->Union[np.ndarray,float]
#简洁表示
def TAN(S)
返回S的正切值
COS - 余弦
函数原型:
def COS(S)->Union[np.ndarray,float]
#简洁表示
def COS(S)
返回S的余弦值
SIN - 正弦
函数原型:
def SIN(S)->Union[np.ndarray,float]
#简洁表示
def SIN(S)
返回S的正弦值
RD - 四舍五入取值
函数原型:
def RD(SN,D:int=3)->Union[np.ndarray,float,int]
#简洁表示
def RD(SN,D)
对SN四舍五入取D位小数
RET - 取末尾值
函数原型:
def RET(S:Iterable,N:int=1)
#简洁表示:
def RET(S,N)
返回序列倒数第N个值,默认返回最后一个
ABS - 求绝对值
函数原型:
def ABS(S)
用法: ABS(X)返回X的绝对值
例如: ABS(-34)返回34
MAX - 求最大值
函数原型:
def MAX(S1,S2)
用法: MAX(A,B)返回A和B中的较大值
例如: MAX(CLOSE-OPEN,0)表示若收盘价大于开盘价返回它们的差值,否则返回0
MAX - 求最小值
函数原型:
def MIN(S1,S2)
用法: MIN(A,B)返回A和B中的较大值
例如: MIN(CLOSE,OPEN)返回开盘价和收盘价中的较小值
IF - 根据条件求不同的值
函数原型:
def IF(S,A,B)->np.ndarray:
#简洁表示
def IF(S,A,B)
用法: IF(X,A,B)若X不为0则返回A,否则返回B
例如: IF(CLOSE>OPEN,HIGH,LOW)表示该周期收阳则返回最高值,否则返回最低值
SUMBARS - 向前累加到指定值到现在的周期数
函数原型:
def SUMBARS(S:Iterable,SN)->Optional[np.ndarray]
#简洁表示
def SUMBARS(S,SN)
用法:
SUMBARS(X,A):将X向前累加直到大于等于A,返回这个区间的周期数,若所有的数据都累加后还不能达到A,则返回此时前面的总周期数.
例如:SUMBARS(VOL,流通股数)求完全换手到现在的周期数
ATR -均幅指标,又叫真实波幅:取一定时间周期内的股价波动幅度的移动平均值
函数原型:
def ATR(CLOSE:Iterable,HIGH:Iterable,LOW:Iterable,N:int=20)->Optional[Tuple[np.ndarray,np.ndarray]]
#简洁表示
def ATR(CLOSE,HIGH,LOW,N=20)
返回(ATR,ATRMA)元组,ATR即真实波幅,ATRMA即真实波幅的N周期平均值
BOLL - 布林带
函数原型
def BOLL(CLOSE:Iterable,N:int=20)->Optional[Tuple[np.ndarray,np.ndarray,np.ndarray]]
#简洁表示
def BOLL(CLOSE,N=20)
返回布林带上、中、下三个轨道的元组
CCI - 商品路径指标
函数原型:
def CCI(CLOSE:Iterable,HIGH:Iterable,LOW:Iterable,N:int=14)->Optional[np.ndarray]
#简洁表示
def CCI(CLOSE,HIGH,LOW,N=14)
返回CCI的值
KDJ - 随机指标
函数原型:
def KDJ(CLOSE:Iterable,HIGH:Iterable,LOW:Iterable,N:int=9,M1:int=3,M2:int=3)->Optional[Tuple[np.ndarray,np.ndarray,np.ndarray]]
#简洁表示
def KDJ(CLOSE,HIGH,LOW,N=9,M1=3,M2=3)
返回(K,D,J)三个序列的元组
MACD - 平滑异同平均线
函数原型:
def MACD(CLOSE:Iterable,SHORT:int=12,LONG:int=26,MID:int=9,bit:int=2)->Optional[Tuple[np.ndarray,np.ndarray,np.ndarray]]
#简洁表示
def MACD(CLOSE,SHORT=12,LONG=26,MID=9,bit=2)
依次返回(DIF,DEA,MACD)元组
WR- 威廉指标
函数原型:
def WR(CLOSE:Iterable,HIGH:Iterable,LOW:Iterable,N:int=10,N1:int=6)->Optional[Tuple[np.ndarray,np.ndarray]]
#简洁表示
def WR(CLOSE,HIGH,LOW,N=10,N1=6)
返回(WR1,WR2)元组,WR1、WR2即N和N1周期的威廉指标数值
MFI - 资金流量指标
函数原型:
def MFI(CLOSE:Iterable,HIGH:Iterable,LOW:Iterable,VOL:Iterable,N:int=14)->Optional[np.ndarray]
#简洁表示
def MFI(CLOSE,HIGH,LOW,VOL,N=14)
返回值:MFI数值
TRIX - 三重指数平滑平均线
函数原型:
def TRIX(CLOSE:Iterable,N:int=12,M:int=9)->Optional[np.ndarray]
#简洁表示
def TRIX(CLOSE,N=12,M=9)
返回值:(TRIX,MATRIX)元组,MATRIX为TRIX的N日平均
BIAS - 乖离率指标
函数原型
def BIAS(CLOSE:Iterable,N1:int=6,N2:int=12,N3:int=24)->Optional[Tuple[np.ndarray,np.ndarray,np.ndarray]]
#简洁表示:
def BIAS(CLOSE,N1=6,N2=12,N3=24)
返回:(BIAS1,BIAS2,BIAS)元组,即N1,N2,N3三个周期计算的乖离率
BIAS_QL - 乖离率指标(传统版)
函数原型:
def BIAS_QL(CLOSE:Iterable,N:int=6,M:int=6)->Optional[Tuple[np.ndarray,np.ndarray]]
#简洁表示:
def BIAS_QL(CLOSE,N=6,M=6)
返回:(BIAS,MABIAS)元组,MABIAS是乖离率BIAS的M日周期简单平均
BBI多空均线指标
函数原型:
def BBI(CLOSE:Iterable,M1:int=3,M2:int=6,M3:int=12,M4:int=24)->Optional[np.ndarray]
#简洁表示
def BBI(CLOSE,M1=3,M2=6,M3=12,M4=24)
返回M1-M4周期的BBI多空均线数值
VR - 威廉指标
函数原型:
def VR(CLOSE:Iterable,VOL:Iterable,N:int=26,M:int=6)->Optional[Tuple[np.ndarray,np.ndarray]]
#简洁表示
def VR(CLOSE,VOL,N=26,M=6)
返回值:(VR,MAVR)元组,MAVR为VR的M日均值
RSI - 相对强弱指标
函数原型:
def RSI(CLOSE:Iterable,N1:int=6,N2:int=12,N3:int=24)->Optional[Tuple[np.ndarray,np.ndarray,np.ndarray]]:
#简洁表示
def RSI(CLOSE,N1=6,N2=12,N3=24)
返回值:(RSI1,RSI2,RSI3)元组,即根据收盘价计算的3个周期的RSI值
KTN - 肯特纳交易通道指标
函数原型:
def KTN(CLOSE:Iterable,HIGH:Iterable,LOW:Iterable,N:int=20,M:int=10)->Optional[Tuple[np.ndarray,np.ndarray,np.ndarray]]
#简洁表示:
def KTN(CLOSE,HIGH,LOW,N=20,M=10)
返回值:(UPPER,MID,LOWER)元组,即通道的上中下三轨
TAQ - 唐安奇通道
函数原型:
def TAQ(HIGH:Iterable,LOW:Iterable,N:int=20)->Optional[Tuple[np.ndarray,np.ndarray,np.ndarray]]
#简洁表示:
def TAQ(HIGH,LOW,N=20)
返回值:(UP,MID,DOWN)元组,即通道的上中下三轨
BRAR - 情绪指标
函数原型:
def BRAR(OPEN:Iterable,CLOSE:Iterable,HIGH:Iterable,LOW:Iterable,N:int=26)->Optional[Tuple[np.ndarray,np.ndarray]]
#简洁表示
def BRAR(OPEN,CLOSE,HIGH,LOW,N=26)
返回:(BR,AR)元组
EMV - 简易波动指标
函数原型:
def EMV(HIGH:Iterable,LOW:Iterable,VOL:Iterable,N:int=14,M:int=9)->Optional[Tuple[np.ndarray,np.ndarray]]
#简洁表示
def EMV(HIGH,LOW,VOL,N=14,M=9)
返回值:(EMV,MAEMV)元组,MAEMV为EMV的M日均值
OBV - 能量潮指标
函数原型:
def OBV(CLOSE:Iterable,VOL:Iterable,N:int=30)->Optional[Tuple[np.ndarray,np.ndarray]]
#简洁表示
def OBV(CLOSE,VOL,N=30)
返回值:(OBV,MAOBV)元组,MAOBV为OBV的N日均值
DPO - 区间震荡线
函数原型:
def DPO(CLOSE:Iterable,N:int=20,M:int=6)->Optional[Tuple[np.ndarray,np.ndarray]]
#简洁表示
def DPO(CLOSE,N=20,M=6)
返回值:(DPO,MADPO)元组,MADPO为DPO的M日均值
MTM - 动量线指标
函数原型:
def MTM(CLOSE:Iterable,N:int=12,M:int=6)->Optional[Tuple[np.ndarray,np.ndarray]]
#简洁表示
def MTM(CLOSE,N=12,M=6)
返回值:(MTM,MTMMA)元组,MTMMA为MTM的M日均值
DMA - 平均差指标
函数原型:
def DMA(CLOSE:Iterable,N1:int=10,N2:int=50,M:int=10)->Optional[Tuple[np.ndarray,np.ndarray]]
#简洁表示
def DMA(CLOSE,N1=10,N2=50,M=10)
返回值:(DIF,DIFMA)元组,DIFMA为DIF的M日均值
DFMA - 平均差指标
同DMA指标
DMI - 趋向指标
函数原型:
def DMI(CLOSE:Iterable,HIGH:Iterable,LOW:Iterable,N:int=14,M:int=6)->Optional[Tuple[np.ndarray,np.ndarray,np.ndarray,np.ndarray]]
#简洁表示
def DMI(CLOSE,HIGH,LOW,N=14,M=6)
返回:(PDI,MDX,ADX,ADXR)元组
ROC 变动率指标
函数原型:
def ROC(CLOSE:Iterable,N:int=12,M:int=6)->Optional[Tuple[np.ndarray,np.ndarray]]
#简洁表示
def ROC(CLOSE,N=12,M=6)
返回值:(ROC,MAROC)元组,MAROC为ROC的M日均值’
MASS - 梅斯线指标
函数原型:
def MASS(HIGH:Iterable,LOW:Iterable,N1:int=9,N2:int=25,M:int=6)->Optional[Tuple[np.ndarray,np.ndarray]]
#简洁表示
def MASS(HIGH,LOW,N1=9,N2=25,M=6)
返回值:(MASS,MAMASS)元组,MAMASS为MASS的M日均值
EXPMA - 指数平均线指标
函数原型:
def EXPMA(CLOSE:Iterable,M1:int=12,M2:int=50)->Optional[Tuple[np.ndarray,np.ndarray]]
#简洁表示
def EXPMA(CLOSE,M1=12,M2=50)
返回值:(EXP1,EXP2)元组,即收盘价的M1,M2日指数移动平均’
PSY - 心理线指标
函数原型:
def PSY(CLOSE:Iterable,N:int=12,M:int=6)->Optional[Tuple[np.ndarray,np.ndarray]]
#简洁表示
def PSY(CLOSE,N=12,M=6)
返回值:(PSY,PSYMA)元组,PSYMA为PSY的M日均值
ASI - 震动升降指标
函数原型:
def ASI(OPEN:Iterable,CLOSE:Iterable,HIGH:Iterable,LOW:Iterable,N:int=6)->Optional[Tuple[np.ndarray,np.ndarray]]
#简洁表示
def ASI(OPEN,CLOSE,HIGH,LOW,N=6)
返回值:(ASI,ASIMA)元组,ASIMA为ASI的N日均值
BOLL_M - 布林带(传统版) *通达信加密函数
函数原型:
def BOLL_M(CLOSE:Iterable,N:int=20)->Optional[Tuple[np.ndarray,np.ndarray,np.ndarray]]
#简洁表示
def BOLL_M(CLOSE,N=20)
返回布林带上、中、下三个轨道的元组
WINNER - 盈利盘比例函数 *通达信加密函数
函数原型:
def WINNER(HIGH:Iterable,LOW:Iterable,VOL:Iterable,Turnrate:Iterable,price,avg:Union[Iterable,str]='hlavg')->Optional[np.ndarray]
#简洁表示
def WINNER(HIGH,LOW,VOL,Turnrate,price,avg='hlavg')
说明:
COST - 成本函数 依据获利盘比例找价格 *通达信加密函数
函数原型:
def COST(HIGH:Iterable,LOW:Iterable,VOL:Iterable,Turnrate:Iterable,winpercent:Iterable,radio:float=0.01,avg:Union[Iterable,str]='hlavg')->Optional[np.ndarray]
#简洁表示
def COST(HIGH,LOW,VOL,Turnrate,winpercent,radio=0.01,avg='hlavg')
计算某盈利比例对应的股价
getHPoint - 指示当前位置是否是一组数据的高点
函数原型:
def getHPoint(S:Iterable,N:int)->Optional[np.ndarray]
#简洁表示
def getHPoint(S,N)
返回值为dtype=bool_的数组,True位置即为相对高点位置
getLPoint - 指示当前位置是否是一组数据的低点
函数原型:
def getLPoint(S:Iterable,N:int)->Optional[np.ndarray]
#简洁表示:
def getLPoint(S:Iterable,N:int)
返回值为dtype=bool_的数组,True位置即为相对低点位置
getHLine - 获取一组数据高点的拟合直线
函数原型:
def getHLine(S:Iterable,N:int)->Optional[Tuple[np.ndarray,float,float]]
#简洁表示
def getHLine(S,N)
返回值:(DATA,R2,SLOPE)元组
DATA-拟合后的高点序列,绘图的话是一条直线
R2-高点拟合的r-square数值[取值范围0-1,数值越大说明数据拟合度越好]
SLOPE-拟合后直线的斜率,为正则标识数据越来越大,为负则表示数据越来越小
getLLine - 获取一组数据低点的拟合直线
函数原型:
def getLLine(S:Iterable,N:int)->Optional[Tuple[np.ndarray,float,float]]
#简洁表示
def getLLine(S,N)
返回值:(DATA,R2,SLOPE)元组
DATA-拟合后的低点序列,绘图的话是一条直线
R2-高点拟合的r-square数值[取值范围0-1,数值越大说明数据拟合度越好]
SLOPE-拟合后直线的斜率,为正则标识数据越来越大,为负则表示数据越来越小
getBestHLine - 获取一组数据在N取值为N1到N2之间的高点最佳拟合直线
函数原型:
def getBestHLine(S:Iterable,N1:int,N2:int)->Optional[Tuple[np.ndarray,float,float,int]]
#简洁表示
def getBestHLine(S,N1,N2)
返回值:(DATA,R2,SLOPE,N)元组
DATA-最佳拟合后的高点序列,绘图的话是一条直线
R2-高点拟合后的最佳r-square数值[即函数getHLine(S,N)的N值取N1-N2之间所有整数时计算的R2最大值]
SLOPE-最佳拟合后直线的斜率,为正则标识数据越来越大,为负则表示数据越来越小
N-最佳拟合时的N值
getBestLLine - 获取一组数据在N取值为N1到N2之间的低点最佳拟合直线
函数原型:
def getBestLLine(S:Iterable,N1:int,N2:int)->Optional[Tuple[np.ndarray,float,float,int]]
#简洁表示
def getBestLLine(S,N1,N2)
返回值:(DATA,R2,SLOPE,N)元组
DATA-最佳拟合后的低点序列,绘图的话是一条直线
R2-低点拟合后的最佳r-square数值[即函数getHLine(S,N)的N值取N1-N2之间所有整数时计算的R2最大值]
SLOPE-最佳拟合后直线的斜率,为正则标识数据越来越大,为负则表示数据越来越小
N-最佳拟合时的N值
RSRS - 阻力相对支撑强度指标 炒股软件一般无此指标
函数原型:
def RSRS(HIGH:Iterable,LOW:Iterable,N:int=18,M:int=600)->Optional[np.ndarray]
#简洁表示
def RSRS(HIGH,LOW,N=18,M=600)
N,M-周期常量 M默认值值为600,注意输入数据的数量
返回值:计算的RSRS数值,一般在RSRS>0.7时买入,RSRS小于-0.7时卖出’
SAR - 抛物线指标 通达信、同花顺等软件上是加密指标
函数原型:
def SAR(HIGH:Iterable,LOW:Iterable,start:int=4,stepstart:int=2,step:int=2,maxstep:int=20)->Optional[np.ndarray]
#函数原型
def SAR(HIGH,LOW,start=4,stepstart=2,step=2,maxstep=20)
输入参数:
start:起始统计周期
stepstart:加速因子参数
step:加速因子增量
maxstep:反向临界参数
返回值:SAR值,SAR大于收盘价代表下跌趋势,SAR小于收盘价代表上涨趋势
*通达信dll为32为dll文件,但是使用本模块,在64位的Python上亦可正常调用
binddll - 绑定dll文件
函数原型:
def binddll(no:int,dllpath:str)->Optional[bool]
#简洁表示
def binddll(no,dllpath)
输入参数:
no-要绑定dll文件的函数取值[取值范围:1-10]
dllpath-要绑定dll文件的路径
成功返回True,失败直接抛出异常
TDXDLL(1-10) - 调用指定号码的通达信dll文件
函数原型:
def TDXDLL1(funcno:int,ina:Iterable,inb,inc)->Optional[np.ndarray]
def TDXDLL2(funcno:int,ina:Iterable,inb,inc)->Optional[np.ndarray]
def TDXDLL3(funcno:int,ina:Iterable,inb,inc)->Optional[np.ndarray]
def TDXDLL4(funcno:int,ina:Iterable,inb,inc)->Optional[np.ndarray]
def TDXDLL5(funcno:int,ina:Iterable,inb,inc)->Optional[np.ndarray]
def TDXDLL6(funcno:int,ina:Iterable,inb,inc)->Optional[np.ndarray]
def TDXDLL7(funcno:int,ina:Iterable,inb,inc)->Optional[np.ndarray]
def TDXDLL8(funcno:int,ina:Iterable,inb,inc)->Optional[np.ndarray]
def TDXDLL9(funcno:int,ina:Iterable,inb,inc)->Optional[np.ndarray]
def TDXDLL10(funcno:int,ina:Iterable,inb,inc)->Optional[np.ndarray]
#简洁表示:
def TDXDLL1(funcno,ina,inb,inc)
def TDXDLL2(funcno,ina,inb,inc)
def TDXDLL3(funcno,ina,inb,inc)
def TDXDLL4(funcno,ina,inb,inc)
def TDXDLL5(funcno,ina,inb,inc)
def TDXDLL6(funcno,ina,inb,inc)
def TDXDLL7(funcno,ina,inb,inc)
def TDXDLL8(funcno,ina,inb,inc)
def TDXDLL9(funcno,ina,inb,inc)
def TDXDLL10(funcno,ina,inb,inc)
输入参数:ina,inb,inc为输入的3个参数,其中ina必须为序列值
返回值为计算结果的序列