编码 Collarbar 指标

问题描述 投票:0回答:0

我尝试编写一个指标,以红色、黄色或绿色显示每日柱线。

颜色应基于这些指标的状态: MACD 在 0 线上方为正,否则为负 RSI 在 50 以上为正,否则为负 5EMA 的 5/21 EMA 交叉点高于 21 EMA 被认为是积极的,否则是消极的。

这个 COLLAR 指示器应该有颜色:

绿色,如果所有三个指标(MACD、RSI、5/21 EMA 交叉)都被评为积极 如果三个指标之一被评为负面,则为黄色 如果两个或所有三个指标都被评为负面

,则为红色

我尝试了下一个代码:

    This source code is subject to the terms of the Mozilla Public 
    License 2.0 at https://mozilla.org/MPL/2.0/
    // © joh195

    //@version=4
    strategy("Color Indicator", overlay=true)

    // MACD
    macd_fast = input(title="MACD Fast", type=input.integer, defval=12, 
    minval=1)
    macd_slow = input(title="MACD Slow", type=input.integer, defval=26, 
    minval=1)
    macd_signal = input(title="MACD Signal", type=input.integer, 
    defval=9, minval=1)
    [macd_line, signal_line, _] = macd(close, macd_fast, macd_slow, 
    macd_signal)
    macd_above_zero = macd_line > signal_line

    // RSI
    rsi_length = input(title="RSI Length", type=input.integer, 
    defval=14, minval=1)
    rsi = rsi(close, rsi_length)
    rsi_above_50 = rsi > 50

    // 5/21 EMA Crossing
    ema5 = ema(close, 5)
    ema21 = ema(close, 21)
    ema5_above_ema21 = ema5 > ema21

    // Color Indicator
    if macd_above_zero and rsi_above_50 and ema5_above_ema21
    bgcolor(color.green)
    else if (macd_above_zero and rsi_above_50) or (macd_above_zero and 
    ema5_above_ema21) or (rsi_above_50 and ema5_above_ema21)
    bgcolor(color.yellow)
    else
    bgcolor(color.red)

编译后我收到这条消息: 17:07:09 错误在 10:49 未声明的标识符“输入” 17:07:09 13:31 出错找不到函数或函数引用'macd'



  [1]: https://i.stack.imgur.com/dDXm9.png



function encoding colorbar
© www.soinside.com 2019 - 2024. All rights reserved.