我尝试编写一个指标,以红色、黄色或绿色显示每日柱线。
颜色应基于这些指标的状态: 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