PineScript - Добавление ввода к графикам включения / выключения
Впервые в PineScript.
Я добавил этот скрипт индикаторов (https://www.tradingview.com/script/a0vTLaS6-Double-Top-Bottom-Ultimate-OS/) в свою исходную стратегию, поэтому я могу добавить новые условия для strategy.close / entry, но проблема в том, что мои предыдущие графики и некоторые кнопки теперь больше не работают. Я думаю, что новый скрипт, который я вставил (копировать / вставить), перекрывает предыдущую стратегию, поэтому предыдущие графики не работают. В этом случае я думаю, что лучший вариант - создать Input.bool для полей, показанных ниже.
Я придумал это:
xyz = input(title="XYZ", type=input.bool, defval=false)
Но я не знаю, как мне соотнести этот ввод с соответствующей строкой. Я думаю, что строка 172 - это соответствующий код для этих ящиков:
labelText = (doubleTop? "Double Top" : "Double Bottom") + (DisplayRiskPerReward ? " RR - "+tostring(riskPerReward) : "")
Также, на случай, если я хочу добавить (скопировать / вставить) новые скрипты в свою стратегию. Есть ли способ создать в моем индикаторе кнопку для всего индикатора? Например, имя моего индикатора «XYZ», и я хочу добавить «ABC» внутри «XYZ». Есть ли способ установить кнопку для «ABC», чтобы, когда я использую общий индикатор («XYZ»), я мог просто выключить и включить его? Это нормальный ввод? или я должен делать отступы в коде?
1 ответ
Итак, если вы хотите иметь вход для включения / отключения этой метки «Double Bottom RR», вы можете иметь для этого входную переменную и использовать условие if, чтобы решить, следует ли вам строить график или нет.
Создайте ввод:bool plotLabel = input(true)
Затем измените строку 172, в которой график обрабатывается, как показано ниже (обратите внимание на отступ):
var label baseLabel = na
if (plotLabel == true)
labelText = (doubleTop? "Double Top" : "Double Bottom") + (DisplayRiskPerReward ? " RR - "+tostring(riskPerReward) : "")
baseLabel := label.new(x=index, y=value, text=labelText, yloc=doubleTop?yloc.abovebar:yloc.belowbar,
color=doubleTop?bearishColor:bullishColor,
style=doubleTop?label.style_label_down:label.style_label_up,
textcolor=textColor, size=size.normal)
Итак, чтобы построить эту метку, ввод plotLabel должен быть
true
.
Кроме того, на случай, если я хочу добавить (скопировать / вставить) новые скрипты в свою стратегию. Есть ли способ создать в моем индикаторе кнопку для всего индикатора? Например, имя моего индикатора «XYZ», и я хочу добавить «ABC» внутри «XYZ». Есть ли способ установить кнопку для «ABC», чтобы, когда я использую общий индикатор («XYZ»), я мог просто выключить и включить его? Это нормальный ввод? или я должен делать отступы в коде?
Нет, вам нужно изменить код и добавить разрешающий / запрещающий ввод для всего скрипта, который вы копируете.