首页 > 解决方案 > 条件为真时如何仅显示第一条

问题描述

我是编码新手,我想知道如何编写代码以在条件为真时仅显示结果的第一个 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)

非常感谢

标签: pine-script

解决方案


尝试这样的事情:

//@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)

推荐阅读