pine-script - 条件为真时如何仅显示第一条
问题描述
我是编码新手,我想知道如何编写代码以在条件为真时仅显示结果的第一个 BAR。现在,当条件为 True 时,我的代码会显示每个条形图。
条件:如果 ema(5) > ema(10) 并且 RSI > 50 则显示标签“买入”否则卖出
//@version=4
study("EMA", overlay=true)
ema5= ema(close, 5)
ema10 = ema(close,10)
rsi = rsi(close, 14)
plot(ema5, color=color.green)
plot(ema10, color=color.red)
if ema5 > ema10 and rsi > 50
label.new(bar_index, na, "buy", color=color.green, textcolor=color.white, style=label.style_labelup, yloc=yloc.belowbar)
if ema5 < ema10 and rsi < 50
label.new(bar_index, na, "sell", color=color.red, textcolor=color.white, style=label.style_labeldown, yloc=yloc.abovebar)
非常感谢
解决方案
尝试这样的事情:
//@version=4
study("EMA", overlay=true)
ema5= ema(close, 5)
ema10 = ema(close,10)
rsi = rsi(close, 14)
var label buy = na
if ema5 > ema10 and rsi > 50 and buy == na
buy := label.new(bar_index, na, "buy", color=color.green, textcolor=color.white, style=label.style_labelup, yloc=yloc.belowbar)
var label sell = na
if ema5 < ema10 and rsi < 50 and sell == na
sell := label.new(bar_index, na, "sell", color=color.red, textcolor=color.white, style=label.style_labeldown, yloc=yloc.abovebar)