Блог им. PelleasNN

Нужна помощь с созданием индикатора в Pine


Хочу создать индикатор по такой формуле:

Spread = (Close (market1, n)/Close (market2, n))*100

Will-Spread = EMA (5, Spread) – EMA (20, Spread)


Market1 и Market2  — это инструменты (индексы, акции и пр.). Не пойму, как их объявить в виде переменных. В справочнике операторов и в руководстве на сайте TradingView не нашел информации.
Как это сделать для квика с помощью LUA, более или менее понятно, но мне нужно именно в TradingView.

★1
6 комментариев
s1 = security(«SPY», «D», close)
s2 = security(«QQQ», «D», close)
ru.tradingview.com/study-script-reference/#fun_security
Сергей, спасибо! Плохо я смотрел…
avatar
Сергей, подскажите ещё, пожалуйста. Как делать дальше? Я так далек от программирования...  Он не хочет считать это выражение  -  spread = s2 / s1 * 100

//@version=3
study(«Мой скрипт»)
s1 = security(«SPY», «D», close) // 1 Day
s2 = security(«QQQ», «D», close) // 1 Day
spread = s2 / s1 * 100
will_spread = ema(spread, close, 5) — ema(spread, close, 20)
plot (will_spread)
avatar
ema(source, length)
will_spread = ema(spread, s1 close, 5) — ema(spread, s2 close, 20)
в вашем варианте close берется от инструмента который сейчас на графике :)  т.е. вы считаете macd от текущего инструмента
------------------
или можно прямо в security() непосредственно выражение подставлять
например, s1=security("AAPL", "240", ema(close,5))<br />тогда close в expression, т.е. в ema() будет браться от "AAPL"<br /><br />
Сергей, со скользящими теперь получилось.  Но он почему-то на 100 не умножает:
spread = s2 / s1 * 100
В чем тут дело?

avatar
Плюшевый медвежонок, 
ну вы хоть основы почитайте, не поленитесь...
Операторы языка — приоритеты.
Так s2 / s1 * 100  ИЛИ так 100 * s2 / s1
Разницу улавливаете?

И с параметрами функций разберитесь
ema(source, length) -->  ema(spread, close, 5)

теги блога Свинг-трейдер

....все тэги



UPDONW
Новый дизайн