如何根据公式Close * 0.31 / 10 + Close的计算结果绘制水平线
实现示例参考
公式先化简避免计算错误
原Excel公式可合并为更简单的形式,减少运算出错概率:Close * 0.31 / 10 + Close = 1.031 * Close
你之前遇到的线条位置不匹配问题,大多是因为代码里写错运算优先级、或者取错了收盘价的计算周期。
Python 实现示例(pandas + matplotlib 场景)
import pandas as pd import matplotlib.pyplot as plt # 示例K线数据,可替换为你自己读取Excel/CSV的逻辑 data = { "date": ["2024-01-01", "2024-01-02", "2024-01-03", "2024-01-04", "2024-01-05"], "close": [100, 105, 102, 108, 110] } df = pd.DataFrame(data) # 计算指标值 df["target_line"] = df["close"] * 1.031 # 绘制收盘价+动态指标线 plt.figure(figsize=(10,6)) plt.plot(df["date"], df["close"], label="收盘价", color="blue") plt.plot(df["date"], df["target_line"], label="1.031*Close 指标线", color="red", linestyle="--") # 如果要绘制固定某一日计算结果的全局水平线,比如取2024-01-01的计算值,取消注释下方代码即可 # fixed_value = df[df["date"] == "2024-01-01"]["target_line"].iloc[0] # plt.axhline(y=fixed_value, color="green", linestyle="-", label=f"固定水平线:{fixed_value:.2f}") plt.legend() plt.xticks(rotation=45) plt.tight_layout() plt.show()
交易软件指标公式示例(通达信/东方财富通用场景)
直接在指标编辑器中输入以下代码即可生效:
目标值:=C*1.031; PARTLINE(C>0,目标值),COLORRED,LINETHICK2; // 如果要画昨日计算的固定水平线,取消注释下方代码即可 // 昨日目标值:REF(目标值,1),COLORGREEN,DOTLINE;
内容的提问来源于stack exchange,提问作者baders
相关产品推荐
相关产品推荐

