Блог им. Nuplex

Moving average

Кто нибудь знает название индикаторов — среднее геометрическое или среднее гармоническое?
Скорее всего нет.

Тогда может кто напишет скрипт на подобии MA в traidingview

Скрипт:

study(title=«Moving Avarage Weighted», shorttitle=«WMA», overlay=true)
len = input(9, minval=1, title=«Length»)
src = input(close, title=«Source»)
out = wma(src, len)
plot(out, title=«WMA», color=blue)


Общие формулы средних
m = (a+b) /2
g = sqrt(a*b)
h = 2ab/(a+b) 

я наверное бестолковый, не понял ничего.
скрипты- то пишу, а о чем Вы спросили — не уразумел.
Но вижу, Вы серьезное что-то спрашиваете.
avatar

baron_samedi

vladimir doigt, Бывает, а то что спрашиваю это и разряда — автомобиль из города А в город Б выехал со скоростью 60 км/ч, а вернулся со скоростью 40 км/ч. Вопрос какая средняя скорость автомобиля?

avatar

Jkrsss

vladimir doigt, out = wma(src, len) — как переписать эту строчку чтобы было не moving average(среднее значение), а harmonic mean (гармоничное среднее). H = n/(sum(1/x+...))
avatar

Jkrsss

Там есть учебник Pine, таких табельных функций я не нашел, — это надо кастомную функцию написать, видимо. Постараюсь сегодня вечером посидеть, разобраться и сделать. Там есть встроенные функции и синтаксис  непривычен. 
Т е  - это не строчку переписать, а объявить функцию и ее вставить.
wma() — это готовая уже функция.

avatar

baron_samedi

vladimir doigt, ага с синтаксисом непривычным у меня проблема.
avatar

Jkrsss

корней вроде вообще нет....

//@version=1
study(«My_harm», «hrma», overlay=true, precision=6)
my_harm(price, length) =>
x = 1/price
for i = 1 to length-1
x := x + (1/price[i])
length/x
plot(my_harm(close,3))


вот накатал — но почему то ошибку пишет… и я не могу понять пока... может увидите что не так быстрее....

avatar

baron_samedi

 если вообще корней нет — то как-то считать в экселе и на график подгружать как массив, не знаю как обойти по другому…
avatar

baron_samedi

нашел таки и корень…
avatar

baron_samedi

vladimir doigt, hrma= n/(1/x1+1/x2+...1/xn)

Может я что то туплю.
avatar

Jkrsss

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

baron_samedi

vladimir doigt, ну если степень  x^n то корень (x1*x2*...*xn)^(1/n) так должно быть.
avatar

Jkrsss

//@version=2
study(«My hma»)
my_sma(price, length) =>
sum = 1/price
for i = 1 to length-1
sum := sum + 1/price[i]
length/sum
plot(my_sma(close,14))

avatar

baron_samedi

 этот работает. — там важны пробелы — 4пробела или табулятор в функции
avatar

baron_samedi

 проверьте этот.
avatar

baron_samedi

vladimir doigt, ок, вечером.
avatar

Jkrsss

 4 и 5 строчки одна табуляция, 6 и 7 2 табуляции.
avatar

baron_samedi

vladimir doigt, Обработка скрипта...Script could not be translated from: nullСкрипт 'Гармоническое' был сохранен

study(«My hma»)
my_sma(price, length) =>
sum = 1/price
    for i = 1 to length-1
    sum := sum + 1/price[i]
        length/sum
        plot(my_sma(close,14))

avatar

Jkrsss

Jkrsss, 
обязательно сверху версия Пайна - //@version=2
версия один цикла не поймет.
avatar

baron_samedi

//@version=2
study(«geometric»)
my_hma(price, length) =>
sum = price
for i = 1 to length-1
sum := sum *price[i]
pow(sum,(1/i))
plot(my_hma(close,14))

avatar

baron_samedi

 работает. только правильно вставить табуляции в начале строк
avatar

baron_samedi

 я проверил — все работает и чертит график — просто при копировании табуляции исчезли, а они играют роль
avatar

baron_samedi

 сейчас подумаю как послать лучше скрипт…
avatar

baron_samedi

 
avatar

baron_samedi

avatar

baron_samedi

 вот надо точно скопировать как на рисунке, потому что пробелы влияют!!!
там 4 пробела=табуляция, можно или таб или 4 пробела использовать, есть строки с двумя таб.
avatar

baron_samedi

 кривые изображены — т е все работает.
avatar

baron_samedi

 study(«harmonic», overlay=true) — так надо заменить чтобы в гл окне график был 
avatar

baron_samedi

Все делаю один в один, хоть 4 пробела, хоть один таб пишет null. Может где то надо еще включить — чтобы price понимала.
avatar

Jkrsss

Jkrsss, 
точно все работает, посмотрите на рисунках внизу код скрипта, а под графиком — то что я накодил.
Давайте емайл, попробую на мыло сбросить если так не вышло.
Или сверяясь точно воспроизведите, у меня работает.
А из-за пробелов (синтаксис) долго не мог допереть.
avatar

baron_samedi

 пришлите скрин скрипта у Вас.
avatar

baron_samedi

 а вообще -то я с другими мувами экспериментирую — может трейдинг вью и пригодится.
avatar

baron_samedi

vladimir doigt, tradingview хорош тем что можно посмотреть дах, сипи, ну и вообще американские акции. А так благодарю что помог, сам бы я, хоть и программирование знаю, но вот с нюансами, типо пока копирую из одного место в другой поменяется шифр букв, благо ты показал что все работает, а так сиди и блуди в трех соснах.
avatar

Jkrsss

Jkrsss, удобно — но потом задержку включили… а я по 15мин торговал, стало критично.
Но сейчас пригодится  — вот протестирую халла и юрека.
а так платить 200 баксов мне дорого…
avatar

baron_samedi

Если не копировать, а руками вбивать то работает.
avatar

Jkrsss


Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.

Залогиниться

Зарегистрироваться
....все тэги
Регистрация
UPDONW