这是我的第一篇文章,所以它来了。我最近选择了pine脚本语言,并发现大部分都是直观的。然而,在过去的一周里,我被困在一个概念上,我看不出其他代码是如何实现我想要做的事情的。话虽如此,这个概念本身非常简单,我不明白为什么它不能工作。从本质上讲,我希望设置一个实时警报,以指示在历史栏上发生了基于当前条件的事情。问题的概念是,当我看到一把锤子时,检查前一根柱子是否为红色。那就什么都不做。如果锤子关闭后的下一个条呈绿色,则这是一个合法的锤子信号。然后回去涂上锤子上的蜡烛。
我正在使用基本的锤子脚本
Ham = input(title="Hammer", type=input.bool, defval=true)
bodySize = abs (open - close)
HlowerShadow = abs (low - open)
HupperShadow = abs (high - close)
Hammer = (HlowerShadow > bodySize * 2) and (low <= (lowest(low,10))) and (HlowerShadow > HupperShadow * 2) and (close <= open[1])
plotcandle (open,high,low,close, color=lookbackAlert ? #76FF7A : Hammer ? #1E90FF : na, bordercolor=na, wickcolor=na)在锤击前检查钢筋没有问题(prevbar = close1 < open1)
但是,根据当前的数据,有没有办法只“重绘”历史上的一根蜡烛呢?非常感谢任何帮助或想法
发布于 2021-05-06 23:18:49
这将绘制两个标记,一个过去在确认的锤子上,另一个在检测到您的条件时。在实时中,它只会在实时条的关闭处打印这些标记,以避免重新绘制。
注意我们是如何使用history-referencing operator来引用变量的过去值来定义confirmedHammer条件的:
//@version=4
study("", "", true)
Ham = input(title="Hammer", type=input.bool, defval=true)
bodySize = abs (open - close)
HlowerShadow = abs (low - open)
HupperShadow = abs (high - close)
Hammer = (HlowerShadow > bodySize * 2) and (low <= (lowest(low,10))) and (HlowerShadow > HupperShadow * 2) and (close <= open[1])
barUp = close > open
barDn = close < open
confirmedHammer = barstate.isconfirmed and barDn[2] and Hammer[1] and barUp
// Plot confirmed location of hammer in the past.
plotchar(confirmedHammer, "confirmedHammer", "▲", location.belowbar, size = size.tiny, offset = -1)
// Plot when the confirmed hammer is detected.
plotchar(confirmedHammer, "confirmedHammer", "•", location.belowbar, size = size.tiny)

https://stackoverflow.com/questions/67413275
复制相似问题