首页 > 解决方案 > 如何根据 pine 脚本中的 bool 输入禁用一些移动平均线?

问题描述

我使用了六个移动平均线。但我想在使用日线图时禁用 7 和 20,在使用周线图时禁用 200 和 300。因此,我采用布尔输入“每日 MA”和“每周 MA”。

我被困在这里,不知道从这里做什么。我是否使用 if 语句?

// Moving Averages
exponential = input(false, title="Exponential MA")
dailyma = input(true, title="Daily MA")
weeklyma = input(true, title="Weekly MA")

ma7 = exponential ? ema(src, 7) : sma(src, 7)
ma20 = exponential ? ema(src, 20) : sma(src, 20)
ma50 = exponential ? ema(src, 50) : sma(src, 50)
ma128 = exponential ? ema(src, 128) : sma(src, 128)
ma200 = exponential ? ema(src, 200) : sma(src, 200)
ma300 = exponential ? ema(src, 300) : sma(src, 300)

plot( ma7, color=orange, style=line, title="MA7", linewidth=1)
plot( ma20, color=black, style=line, title="MA20", linewidth=1)
plot( ma50, color=fuchsia, style=line, title="MA50", linewidth=1)
plot( ma128, color=purple, style=line, title="MA128", linewidth=1)
plot( ma200, color=black, style=line, title="MA200", linewidth=1)
plot( ma300, color=green, style=line, title="MA300", linewidth=1)

标签: pine-scripttrading

解决方案


您可以使用条件颜色隐藏它。

plot( ma7, color=timeframe.isdaily ? na : orange, style=line, title="MA7", linewidth=1)
plot( ma20, color=timeframe.isdaily ? na : black, style=line, title="MA20", linewidth=1)

plot( ma200, color=timeframe.isweekly ? na : black, style=line, title="MA200", linewidth=1)
plot( ma300, color=timeframe.isweekly ? na : green, style=line, title="MA300", linewidth=1)

编辑:将布尔输入添加到条件

plot( ma7, color=timeframe.isdaily and dailyma ? na : orange, style=line, title="MA7", linewidth=1)
plot( ma20, color=timeframe.isdaily and dailyma ? na : black, style=line, title="MA20", linewidth=1)

plot( ma200, color=timeframe.isweekly and weeklyma ? na : black, style=line, title="MA200", linewidth=1)
plot( ma300, color=timeframe.isweekly and weeklyma ? na : green, style=line, title="MA300", linewidth=1)

编辑:版本=4

plot( ma7, color=timeframe.isdaily and dailyma ? na : color.orange, title="MA7")
plot( ma20, color=timeframe.isdaily and dailyma ? na : color.black, title="MA20")

plot( ma200, color=timeframe.isweekly and weeklyma ? na : color.black, title="MA200")
plot( ma300, color=timeframe.isweekly and weeklyma ? na : color.green, title="MA300")

推荐阅读