输入/搜索内容
内置函数
Global
Log
Market
Trade
Account
Futures
Exchange
IO
Network
Storage
Threads
TA
Talib
均线与通道
talib.ACCBANDS
talib.BBANDS
talib.DEMA
talib.EMA
talib.HT_TRENDLINE
talib.KAMA
talib.MA
talib.MAMA
talib.MAVP
talib.MIDPOINT
talib.MIDPRICE
talib.SAR
talib.SAREXT
talib.SMA
talib.T3
talib.TEMA
talib.TRIMA
talib.WMA
动量指标
成交量指标
波动率指标
周期指标
价格变换
统计函数
数学变换
数学运算
K线形态识别
OS
结构体
内置变量与常量
通用约定
交易所

计算可变周期移动平均线(Moving Average with Variable Period)。

talib.MAVP(inReal, inPeriods)
talib.MAVP(inReal, inPeriods, optInMinPeriod)
talib.MAVP(inReal, inPeriods, optInMinPeriod, optInMaxPeriod)
talib.MAVP(inReal, inPeriods, optInMinPeriod, optInMaxPeriod, optInMAType)

示例

阳线用10、阴线用20作为周期,计算可变周期均线。

javascript
function main() { var records = exchange.GetRecords() if (!records) return var closes = records.map(function(r) { return r.Close }) // 每根K线的周期:阳线用10,阴线用20(仅作示例) var periods = records.map(function(r) { return r.Close > r.Open ? 10 : 20 }) var ret = talib.MAVP(closes, periods, 10, 20) Log(ret) }
python
import talib import numpy as np def main(): records = exchange.GetRecords() if not records: return # 每根K线的周期:阳线用10,阴线用20(仅作示例) periods = np.array([10.0 if r["Close"] > r["Open"] else 20.0 for r in records]) ret = talib.MAVP(records.Close, periods, 10, 20) Log(ret)

返回值

类型描述

数值数组

与输入等长的指标值数组,开头数据不足的部分为NaN。

参数

名称类型必填描述

inReal

数值数组

是

要计算均线的数据。

inPeriods

数值数组

是

每根K线使用的周期,长度必须与inReal相同;超出[optInMinPeriod, optInMaxPeriod]的值按边界计算。

optInMinPeriod

number

否

最小周期。默认 2。

optInMaxPeriod

number

否

最大周期。默认 30。

optInMAType

number

否

均线类型,取值见Talib的MAType表。默认 0(SMA)。

参考

备注

对应TA-Lib:MAVP(Array(inReal),Array(inPeriods),Min Period = 2,Max Period = 30,MA Type = 0) = Array(outReal)。

第i个值是inReal截至第i个元素、周期为inPeriods[i]的移动平均;开头optInMaxPeriod - 1个值为NaN(与inPeriods的实际取值无关)。

两个输入都必须是数值数组:JavaScript中先用map从K线中取出字段,传入K线数组时两个输入都会取同一份K线的收盘价,结果没有意义;两个数组长度不同会报错。Python中两个输入都要是float64类型的numpy数组。