Как стать автором
Обновить

Как я несколькими промптами создал торговый индикатор на Pinescript (TradingView)

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров12K

Я уже предпринимал попытки освоить Pinescript года 3-4 назад, когда только увидел всё многообразие торговых индикаторов в TradingView. И я точно помню своё ощущение бессилия, потому что толковых методичек я не нашел. А сегодня, через Ai-помощника смог сделать то что хотел - за несколько промптов, совершенно ничего не зная в языке и как эти индикаторы строятся ?. Согласитесь, очень странное впечатление, когда пишешь что-то, копируешь, вставляешь, и у тебя ещё и получается! Это ЭКСТАТИЧЕСКОЕ ощущение ?.

TradingView — веб‑сервис и социальная сеть для трейдеров, в основе которой лежит платформа технического анализа. Проект был запущен в сентябре 2011 года.

Спрашиваю, может ли она написать код на Pinescript. Программа ответила утвердительно.
Спрашиваю, может ли она написать код на Pinescript. Программа ответила утвердительно.

Вчера я захотел найти торговый индикатор EMA/SMA relative deviation. По крайней мере, именно так я предполагаю его название, именно так его бы назвал я. Но под таким названием скрывались другие индикаторы. Я хотел видеть индикатор, который считает в процентном отношении отклонение цены закрытия к значению экспоненциальной скользящей средней.

Во-первых, существующие индикаторы были уже наложены на график, а я хотел, чтобы график отображался отдельно.

Во-вторых, они брали за основу какой-то дополнительный инпут отклонения.

После первого промпта мой бесплатный gpt сразу выдал 8 строк кода. Я был уверен, что эта штука выдаст ошибку и вообще мне насоветовало какой-то фигни, но нет. Ошибки не возникло. При использовании кода на графике возникли дополнительные линии.

Первый промпт с идеей индикатора
Первый промпт с идеей индикатора

Это не тот эффект, который я ожидал увидеть. Я начал смотреть код, который скопировал.
Анализировать существующий код было значительно проще, чем придумывать свой. Я понял, что код берёт инпут какое-то значение девиации. И девиацию - отклонение считает в абсолютных значениях. abs(Close - EMA). В отличии от (CLOSE - EMA) / CLOSE .

Этот код я поменял вручную и пошёл советоваться с gpt обратно. Несколько промптов ушло на то, чтобы понять как вообще заставлять индикатор строить новый график. Несколько промптов ушло на отладку ошибок, потому что где-то было задвоение.

Но в итоге я получил индикатор, который хотел!

Вот как он выглядит:

//@version=4
study("Relative Deviation EMA", "RelativeDeviation EMA", overlay = false)
// Define the length for the EMA and the deviation
emaLength = input(14, title="EMA Length")
// Calculate the EMA and the deviation
ema = ema(close, emaLength)
deviation = (close - ema) / close * 100
// Plot the relative deviation on the new chart
plot(deviation, title="Relative Deviation", color=color.blue)
hline(0, "Zero Line", color=color.gray)

Можно проследить на истории от каких значений отклонения чаще всего случается движение или появляется сопротивление. На примере с акцией NVIDIA видно, что после достижения отклонения от EMA в 10% цена движется не быстрее, чем скорость движения EMA. Часто достижение этого значения предшествует развороту цены. Не Грааль конечно, простенький индикатор. Но без GPT, я бы разбирался в этом часами, а с GPT, я с 0 знаний сделал за 15 минут.

График NVIDIA с 2017 года. С индикаторами EMA(100), RelativeDeviation EMA(100)
График NVIDIA с 2017 года. С индикаторами EMA(100), RelativeDeviation EMA(100)

tg:KISS/LOVE/ODD/SKI_GHOUL

Теги:
Хабы:
Всего голосов 4: ↑3 и ↓1+5
Комментарии5

Публикации

Работа

Data Scientist
42 вакансии

Ближайшие события