Как разработать RSI с несколькими таймфреймами в pinescript для TradingView - PullRequest
0 голосов
/ 29 апреля 2019

Я пытаюсь разработать RSI с несколькими таймфреймами, используя Pine-скрипт в торговом представлении, но у меня, похоже, есть проблема с более коротким RSI в более долгосрочной диаграмме.

Например, следующий код будет отображать 5-минутный RSI. Он будет отображать RSI соответствующим образом, если у меня установлен график на 5 минут. Но когда я выбираю больший таймфрейм (например, 1 час и т. Д.), Значение становится неверным.

study("Multi Time Frame RSI", "MTF RSI", overlay=false)
src = input(title="Source", type=source, defval=close)
_5min_rsi = security(tickerid, "5", rsi(src, 14))
plot(_5min_rsi, title="5min_RSI", color=purple, linewidth=1)

Я полагаю, что проблема связана с обработкой данных серии. По какой-то причине, когда я использую безопасность с «5» в качестве разрешения, его данные теряются на старших временных графиках, и он использует закрытие другой серии для этого времени. По крайней мере, это моя гипотеза. Я считаю, что я неправильно использую функцию «security» или, возможно, предоставляю неправильный ввод «src» для функции RSI.

Я также попытался переключить RSI и систему безопасности, чтобы посмотреть, смогу ли я получить данные 5-минутной серии и ввести их в свою функцию RSI, но это не работает лучше. Например.

_5min_rsi = rsi(security(tickerid, "5", src), 14)

По сути, мне нужно увидеть, что независимо от того, на каком таймфрейме я нахожусь в режиме торговли, я должен видеть, что 5-минутный RSI рассчитывается правильно. В текущем состоянии код будет работать только через 1 и 5 мин., Что явно недопустимо.

1 Ответ

0 голосов
/ 30 апреля 2019

Немного поиграв с функцией security(), я не думаю, что функция security() работает таким образом.

Если мы установим разрешение на "1" (то есть 1 минуту) и перейдем к графику 1D, мы получим только значения для последнего минутного бара на один дневной бар.

out = security("AAPL", "1", close)

Если мы установим их наоборот ("D" для разрешения и 1m график), все минутные бары будут идентичны - они получат свое значение от последнего дневного бара.

out = security("AAPL", "D", close)
...