Я пытаюсь написать сосновый скрипт с двумя индикаторами, один из которых наложен на график (EMA), а другой сам по себе? (Stoch) Кажется, я не могу найти никакой информации о том, как их разделить (визуально), но держать их в пределах 1 соснового скрипта. , т.е. иметь возможность принимать торговые решения на их основе.
pine скрипт с двумя индикаторами один накладывается на график, а другой сам по себе?
Ответы (3)
К сожалению, предыдущий ответ Люка верен. Каждый скрипт может либо создавать графики, которые накладываются на ценовой график по умолчанию, либо отображаются на другой панели, но не одновременно. Но есть обходной путь.
Предположим, вы сделали нетривиальные вычисления в своем скрипте и хотите поместить их в другую панель. Например. следующий код:
//@version=4
study(title="Stochastic", shorttitle="Stoch", format=format.price, precision=2)
periodK = input(14, title="K", minval=1)
periodD = input(3, title="D", minval=1)
smoothK = input(3, title="Smooth", minval=1)
k = sma(stoch(close, high, low, periodK), smoothK)
d = sma(k, periodD)
plot(k, title="%K", color=color.blue)
plot(d, title="%D", color=color.orange)
h0 = hline(80)
h1 = hline(20)
fill(h0, h1, color=color.purple, transp=75)
// This next plot would work best in a separate pane
someNonTrivialCalculatedSeries = close
plot(ema(someNonTrivialCalculatedSeries, 25), title="Exporting Plot")
Поскольку они имеют разный масштаб, один из них, скорее всего, сломает шкалу другого индикатора. Итак, вы хотите показать Stoch
в другой сосне, тогда как ema()
следует наложить на основную диаграмму. Для этого следует сделать следующие шаги:
Отключите в исследовании дополнительный график, чтобы вернуть масштаб в нормальное состояние:
Применяем к графику следующий скрипт:
//@version=4 study("NonOverlayIndicator", overlay=true) src = input(defval=close, type=input.source) plot(src)
Выберите во втором скрипте исходный код требуемого сюжета из первого скрипта:
И вуаля — вы получили участки в разных соснах:
Но если вы хотите разделить участки, потому что у вас есть ограничения на количество исследований, которые вы разрешили подать (например, 3 для бесплатной учетной записи) - это вам не поможет.
Это невозможно сделать. Скрипт запускается либо в режиме overlay=true
на графике, в котором если он не может направлять графики в другое место или в отдельную панель, когда overlay=false
(по умолчанию).
Когда скрипт работает на панели, он может изменять цвет столбцов диаграммы с помощью barcolor(), но это единственный способ изменить диаграмму.
Можно масштабировать сигналы таким образом, чтобы несколько ограниченных (например, от 0 до 100, от -1 до +1) сигналов, сгенерированных одним сценарием, отображались один поверх другого, но обычно это невозможно в режиме наложения, так как вертикальный масштаб меняется. с полосами на графике. Единственный способ для скрипта наложения работать с собственной шкалой — это использовать Без шкалы, но это предотвращает построение графиков индикатора относительно цены и, следовательно, баров графика.
Хороший обходной путь от Майкла. К сожалению, похоже, это работает только для передачи данных для одного графика. Я хотел бы передать данные для 3 разных графиков на график цен на акции. Если я попробую это, то для input.source я смогу выбрать только стандартные источники: open, high, low, close.... Я не могу выбрать данные из других индикаторов. Если я уберу графики 2 и 3, все будет работать так, как описал Майкл. У кого-нибудь есть обходной путь для обходного пути ..? ;-)