talib.MAVP
计算可变周期移动平均线(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)返回值
| 类型 | 描述 |
数值数组 | 与输入等长的指标值数组,开头数据不足的部分为 |
参数
| 名称 | 类型 | 必填 | 描述 |
inReal | 数值数组 | 是 | 要计算均线的数据。 |
inPeriods | 数值数组 | 是 | 每根K线使用的周期,长度必须与 |
optInMinPeriod | number | 否 | 最小周期。默认 |
optInMaxPeriod | number | 否 | 最大周期。默认 |
optInMAType | number | 否 | 均线类型,取值见 |
参考
备注
对应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数组。