Tradingview
February 1, 2023

Pine Script (TradingView) и ChatGPT

Видел уже в интернете, что ChatGPT выдает код на Python. Но по Питону в сети большое количество примеров кода, а если проверить не самый популярный язык Pine Script (TradingView.com)?

Джуниор будущего

На прямой вопрос о том, что умеет ли он кодить на Pine Script:

Да, я владею языком программирования Pine Script, используемым в платформе TradingView для создания пользовательских технических индикаторов и автоматических торговых стратегий.

Неплохо, после пары пробных индикаторов, задал задачу: написать код индикатора который рисует линии на ценах открытия максимум и минимум с начала торговой сессии

study("Opening High Low Lines")

// Define the length of the trend line
length = input(title="Length", type=integer, defval=100)

// Calculate the maximum opening price
highOpening = highest(open, length)

// Calculate the minimum opening price
lowOpening = lowest(open, length)

// Plot the maximum opening price
plot(highOpening, color=green, linewidth=2, title="High Opening")

// Plot the minimum opening price
plot(lowOpening, color=red, linewidth=2, title="Low Opening")

// Draw the lines
highOpeningLine = security(syminfo.tickerid, "D", highOpening, lookahead=barmerge.lookahead_on)
lowOpeningLine = security(syminfo.tickerid, "D", lowOpening, lookahead=barmerge.lookahead_on)

plot(highOpeningLine, color=green, linewidth=2, style=circles, title="High Opening Line")
plot(lowOpeningLine, color=red, linewidth=2, style=circles, title="Low Opening Line")

С ходу скрипт не запускается, хоть и сохраняется без ошибок. Давайте разберемся. ChatGPT не указывает версии языка Pine Script, такое было допустимо в третьей версии. Оператор study так-же говорит о 3 или 4 версии. Синтаксис написания значений аргументов type, color и style говорит о 3 версии, но в ней нет оператора syminfo.tickerid, это из 4 версии. Получается смесь кода в двух вариантах синтаксиса.

Меняем значения type, color и style в соответствии с 4 версией, добавляем в study аргумент overlay=true (что бы индикатор был поверх графика) и скрипт заработал! Хрень конечно, но надо лучше формулировать свои желания.

Сам индикатор и получившийся код можно посмотреть на TradingView.

Если к запросу добавить "на версии 5", то ChatGPT напишет скрипт на чистой 4 версии, в которой надо только изменить version с 5 на 4. Как-то так.

В целом, очень неплохо. Тяжело сформулировать в тексте весь индикатор, если он сложнее двух машек. Но вполне можно использовать для написания отдельных блоков. Ну или совершенствовать текстовое описание индикатора.

Сеньор будущего