【发布时间】:2021-02-10 00:43:05
【问题描述】:
我做了一个简单的 MACD 指标,当 MACD 历史线超过或低于 0 时,它会放置一个标签。问题是它只在最近发生的 2 次放置标签(一个用于短期,一个用于长期)... 而不是每次它以前也发生过。即我在图表上有一个符号...我将指标放在...它将显示最近的“立即销售”标签(当最近的卖出条件发生时)和“立即购买”标签的标签最近的买入条件发生了......但它不会显示之前买入或卖出条件为真的所有时间的标签。我附上了图片,你可以看到。正如您在图像中看到的......它仅显示最近条件为真的标签......但正如您所看到的, histLine(彩色条)在 0 线的上方和下方交叉了很多次,但是没有为那些显示标签。如果你能给我一些关于如何解决这个问题的指导 - 将不胜感激。其他指标会在每次发生时显示……当前、最近和过去——所有时间范围内……这就是我想做的。
代码如下:
//@version=4
study("mwgMACD")
src = input(title="Source", type=input.source, defval=ohlc4) [macdLine, signalLine, histLine] = macd(src, 12, 26, 5)
col_grow_above = #26A69A
col_grow_below = #FFCDD2
col_fall_above = #B2DFDB
col_fall_below = #EF5350
col_macd = #0094ff
col_signal = #ff6a00
//plot(macdLine, color=color.green)
//plot(signalLine, color=color.red)
//plot(histLine, color=color.white, style=plot.style_histogram)
plot(histLine, title="Histogram", style=plot.style_columns, color=(histLine>=0 ? (histLine[1] < histLine ? col_grow_above : col_fall_above) : (histLine[1] < histLine ? col_grow_below : col_fall_below) ), transp=0 )
ShowCross = input(title="Show Cross", type=input.bool, defval=true)
conditionBuy1 = histLine[1] < 0 and histLine > 0
//conditionBuy2 = histLine crossed over 0
conditionSell2 = histLine[1] > 0 and histLine < 0
if ShowCross and crossover(histLine, 0)
var label1 = label.new(bar_index, na, text="BUY NOW")
label.set_x(label1, 0)
label.set_xloc(label1, time, xloc.bar_time)
label.set_color(label1, color.green)
label.set_size(label1, size.small)
label.set_textcolor(label1,color.white)
if ShowCross and crossunder(histLine, 0)
var label2 = label.new(bar_index, na, text="SELL NOW")
label.set_x(label2, 0)
label.set_xloc(label2, time, xloc.bar_time)
label.set_color(label2, color.red)
label.set_size(label2, size.small)
label.set_textcolor(label2,color.white)
这是一张图片,您可以看到我在说什么:https://i.stack.imgur.com/Gx224.png
【问题讨论】:
标签: pine-script