Нужен пример торгового представления Pinescript

Я новичок в использовании Pinescript от TradingView, и мне трудно найти простой для понимания пример скрипта. Я привык к Java/C++, а Pinescript сильно отличается. Я пытаюсь создать скрипт, который будет сканировать биржевую диаграмму и искать разрывы более 5%. Вот псевдокод того, что я пытаюсь создать:

if(разница между открытием текущего дня и закрытием предыдущего дня> 5%) { нарисуйте зеленый кружок или красный кружок, в зависимости от того, был гэп вверх или вниз}

Заранее спасибо!


person Nick Syiek    schedule 14.04.2018    source источник


Ответы (2)


Лучше всего будет ознакомиться с их руководством.

На этом языке есть несколько вариантов шансов, если у вас есть какой-либо опыт программирования, поэтому, вероятно, будет хорошей идеей прочитать все это (это не так уж много). Например.

  • open — цена открытия текущего бара, а open[1] — цена открытия предыдущего бара (поэтому следует читать как open[current_index-1])
  • вы не можете использовать вызовы plot внутри тел функций

что касается вашего вопроса (не проверено, но должно быть достаточно близко, чтобы дать правильное представление):

study(title='gap detector', overlay=true)

//plotshape(<condition>, <options>) // condition must be true to plot something

is_percentage_increase = if (close-close[1])/close[1] > 0.05
    true
plotshape(is_percentage_increase, style=shape.circle, color=green)
person ixje    schedule 17.04.2018

Скрипты Pine просты в использовании; Поначалу это было немного сложно понять. Как только вы начали его использовать, стало так полезно выработать стратегию логики.

В вашем случае вы также можете использовать условный оператор, чтобы обнаружить это. Это будет работать в версии 2. Версия 3 немного отличается

//version =2
study(title ="Experementing the code ",overlay =true ,shorttitle ="testing")  //overlay=false to get this down of the chart as seperate layout
plotchar( (close-close[1])/close[1] >0.05 ? 1:na ,char =' ',text ="plot\nTest",textcolor=red,size.huge)

Вместо условия if вы можете использовать оператор ?: для выполнения этой работы.

Пожалуйста, убедитесь, что plotchar(.....) находится в одной строке, а не в отдельной строке.

У Pine есть много интересных функций, которые помогли мне разработать собственную стратегию. Учебник действительно хорош.

Обратите внимание, что если вы не поместите char='' выше, будет напечатано STAR как символ по умолчанию. И в символе, даже если вы поместите char='testtest', он напечатает только t .

person Marx Babu    schedule 17.08.2018