TAMomentum
TA.PPO() - 价格振荡百分比
价格振荡百分比 (Percentage Price Oscillator)
MACD的百分比形式,便于跨资产比较。
语法
python
TA.PPO(data, fastperiod=12, slowperiod=26, matype=0)参数
| 参数名 | 类型 | 必选 | 默认值 | 说明 |
|---|---|---|---|---|
| data | any | 否 | - | 价格数据数组 |
| fastperiod | any | 否 | - | 快线周期,默认12 |
| slowperiod | any | 否 | - | 慢线周期,默认26 |
| matype | any | 否 | - | 移动平均类型,默认0 (EMA) |
返回值
返回PPO值数组(百分比)。
计算方法
plaintext
PPO = ((EMA12 - EMA26) / EMA26) × 100PPO是MACD的百分比形式。
信号解读
- PPO > 0: 短期均线在长期均线之上
- PPO < 0: 短期均线在长期均线之下
- PPO 上穿0: 金叉信号
- PPO 下穿0: 死叉信号
基础示例
python
def main():
while True:
records = exchange.GetRecords()
if len(records) < 50:
Sleep(1000)
continue
closes = [r['Close'] for r in records]
ppo = TA.PPO(closes, 12, 26, 0)
Log(f"PPO: {ppo[-1]:.3f}%")
if ppo[-1] > 0 and ppo[-2] <= 0:
Log("✅ PPO金叉,买入")
elif ppo[-1] < 0 and ppo[-2] >= 0:
Log("❌ PPO死叉,卖出")
Sleep(60000)PPO vs MACD
- PPO是百分比,可跨资产比较
- MACD是绝对值,更直观
- 信号基本相同