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»), я мог просто выключить и включить его? Это нормальный ввод? или я должен делать отступы в коде?

Нет, вам нужно изменить код и добавить разрешающий / запрещающий ввод для всего скрипта, который вы копируете.

Другие вопросы по тегам