首页 > 解决方案 > 获取不同时间帧的 MACD 值

问题描述

如何从不同的时间范围内实时获取 Macd 线和信号线的值。例如,我在 4HR 图表上,我想从 1 小时时间范围内获取 Macd 线和信号线的值。

我知道如何获得两条线的价值,只是我无法解决或从其他时间范围内找到价值。[macdLine, signalLine, histLine] = macd(close, 12, 26, 9)

标签: pine-script

解决方案


您可以使用security函数访问更高的时间范围数据,但尝试访问低于图表时间范围的数据会导致结果不可靠,因为 TV 不支持柱内数据。

您还可以在函数调用中包含元组security

来自每日图表的每日 MACD、信号和直方图数据。

[macdLineD, signalLineD, histLineD] = security(syminfo.tickerid, "D", [macdLine, signalLine, histLine])

Security功能可能导致重绘,查看这篇文章如何避免这个问题 - https://www.tradingview.com/script/cyPWY96u-How-to-avoid-repainting-when-using-security-PineCoders-FAQ/

非重绘版本使用前一个分辨率值并将前瞻参数设置为 true:

[macdLineD, signalLineD, histLineD] = security(syminfo.tickerid, "D", [macdLine[1], signalLine[1], histLine[1]], lookahead = true)

推荐阅读