【问题标题】:Pinescript check if MACD signal line above 0Pinescript 检查 MACD 信号线是否高于 0
【发布时间】:2022-12-10 12:10:51
【问题描述】:

我试图仅在 MACD 信号线 < 0 时发送买入信号,在 MACD 信号线 > 0 时发送卖出信号。我添加的条件似乎不起作用。

//@version=5
indicator(title="MACD crossover overlay with alert v5", overlay=true)
fastMA = input.int(title="Fast moving average",  defval = 12, minval = 7)
slowMA = input.int(title="Slow moving average",  defval = 26, minval = 7)
signalLength = input.int(9, minval=1)
MacdControl = input(true, title="MACD/Histogram Control")

[currMacd,_,_] = ta.macd(close[0], fastMA, slowMA, signalLength)
[prevMacd,_,_] = ta.macd(close[1], fastMA, slowMA, signalLength)
signal = ta.ema(currMacd, signalLength)

// === MACD ===
[macdLine, signalLine, histLine] = ta.macd(close, 12, 26, 9)
macdCondbear= MacdControl ? signalLine > 0 ? true : false : true
macdCondbull= MacdControl ? signalLine < 0 ? true : false : true


crossoverBear = ta.cross(currMacd, signal) and currMacd < signal ? math.avg(currMacd, signal) : na and macdCondbear
crossoverBull = ta.cross(currMacd, signal) and currMacd > signal ? math.avg(currMacd, signal) : na and macdCondbull

plotshape(crossoverBear, title='MACD-BEAR', style=shape.triangledown, text='', location=location.abovebar, color=color.red, textcolor=color.black, size=size.tiny) 
plotshape(crossoverBull, title='MACD-BULL', style=shape.triangleup, text='', location=location.belowbar, color=color.green, textcolor=color.black, size=size.tiny) 

alertcondition(crossoverBear, "MACD Bear", "MACD Bearish Crossover")
alertcondition(crossoverBull, "MACD Bull", "MACD Bullish Crossover")

【问题讨论】:

    标签: pine-script pinescript-v5


    【解决方案1】:

    您在代码中的条件比您描述的要多一点。

    你可以简单地做:

    crossoverBear = ta.crossover(signalLine, 0)
    crossoverBull = ta.crossunder(signalLine, 0)
    
    plotshape(crossoverBear, title='MACD-BEAR', style=shape.triangledown, text='', location=location.abovebar, color=color.red, textcolor=color.black, size=size.tiny) 
    plotshape(crossoverBull, title='MACD-BULL', style=shape.triangleup, text='', location=location.belowbar, color=color.green, textcolor=color.black, size=size.tiny) 
    
    alertcondition(crossoverBear, "MACD Bear", "MACD Bearish Crossover")
    alertcondition(crossoverBull, "MACD Bull", "MACD Bullish Crossover")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-02
      • 2020-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-10
      相关资源
      最近更新 更多