Tradingview Pine-Script: добавление линии MACD в TDI - PullRequest
0 голосов
/ 02 марта 2020

Я пытался добавить строку MACD к TDI Goldminds, я сократил код и настроил его под свои настройки. Индикаторы как MACD, так и TDI работают нормально, однако, когда я добавляю обе линии MACD, они просто стоят на графике ровно.

Я полагаю, это потому, что они оба используют цену закрытия в качестве своего источника. Можно ли иметь оба индикатора вместе?

Мой текущий код:

study("TDI", shorttitle="test")

rsiPeriod = input(13, title = "RSI Period")
bandLength = input(34, title = "Band Length")
lengthtradesl = input(2, title = "Slow MA on RSI")
fast_ma = input(12, title = "MACD Fast MA")
slow_ma = input(26, title = "MACD Slow MA")


r = rsi(close, rsiPeriod)
ma = sma(r, bandLength)
offs = (1.6185 * stdev(r, bandLength))
up = ma + offs
dn = ma - offs
slowMA = sma(r, lengthtradesl)
macd = ema(close, fast_ma) - ema(close, slow_ma)

hline(25)
hline(75)

plot(up, "Upper Band", color = green, linewidth = 2)
plot(dn, "Lower Band", color = green, linewidth = 2)
plot(slowMA, "Slow MA", color=black, linewidth=2)
plot(macd, "MACD", color=#0094ff, linewidth=2)

1 Ответ

0 голосов
/ 02 марта 2020

Средняя линия TDI равна 50, а MACD равна нулю. Кроме того, MACD имеет большую амплитуду и не ограничен, поэтому обычно он уменьшает шкалу TDI, даже если вы добавили 50 к сигналу MACD, чтобы сделать его центральную линию 50 вместо 0.

Таким образом, два сигнала принципиально несовместим, и поскольку MACD не ограничен (его максимальные / минимальные значения не могут быть известны заранее), он не может быть должным образом нормализован в масштабе TDI. Один из несовершенных способов go - это описанная здесь функция normalize() .

...