如何使用python计算Heiken Chaiken Osc

2024-09-19 23:30:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在计算股票市场的指标数据,我很难计算Heiken Chaiken Osc,因为谷歌称之为“Accdist”的变量是这样计算的

公式如下:

  1. 货币流乘数=[(收盘-低位)-(高位-收盘)]/(高位-低位)

  2. 货币流量=货币流量乘数x该期间的货币流量

  3. ADL=上一个ADL+本期资金流量

Python代码(使用Talib+Numpy+Pandas)

data["cmf"] = (((data["close"] - data["low"]) - (data["high"] - data["close"])) / (data["high"] - data["low"]))

data["cmfv"] = data["cmf"] * data["volume"]

data["accdist"] = data["accdist"].shift(periods=1) + data["cmfv"]

也尝试过用松树脚本,但也没有运气。任何帮助都将不胜感激

Money_multiplier = ((close-low) - (high - close)) / (high - low)
Money_volume = Money_multiplier * volume
ADL = ADL[1] + Money_volume

这是我试图模拟的pinescript代码,因为我的指示器正在工作,但需要转换为python(probelem是accdist变量)

osc = ema(accdist, 3) - ema(accdist, 10)

Tags: 代码closedata货币流量lowhighadl
1条回答
网友
1楼 · 发布于 2024-09-19 23:30:57

我遇到了同样的问题,下面是我使用python、numpy和pandas得到的结果

我使用的公式是: 货币流乘数=((收盘价-低值)-(高值-收盘价))/(高值-低值)

货币流量=货币流量乘数x该期间的货币流量

CMF=21天每日资金流量平均值/21天交易量平均值

在这里,我们阅读了基本外汇或股票数据文件:

import numpy as np
import pandas as pd

names = ['Date','Time','Open','High','Low','Close','Volume']
ask_series = pd.read_csv(ask_file,index_col=False,header=None,names=names))

ask_series["cmfm"] = (((ask_series["close"] - ask_series["low"]) - (ask_series["high"] - ask_series["close"])) / (ask_series["high"] - ask_series["low"]))
ask_series["cmfv"] = ask_series["cmfm"] * ask_series["volume"]
ask_series["cmf"] = ask_series['cmfv'].rolling(window=21).mean() / ask_series['volume'].rolling(window=21).mean() 

ask_series.tail()

相关问题 更多 >