Встроенные функции тех. анализа в Pine Script на примере стратегии «Прорыв канала»

Рассмотрим пару новых функций и пример работы с отсутствующими значениями.

Стратегия «Прорыв канала» формирует сигнал на вход, когда обновлены значения максимума или минимума каналов (upBound и downBound), построенных на основании предыдущих баров (значение length).

Стратегии понемногу усложняются. Попытайтесь прочитать код и понять, что там происходит. Пояснения внизу помогут. Вопрос можно задать в комментариях.

Код стратегии «Прорыв канала»

//@version=5
strategy("ChannelBreakOutStrategy", overlay=true)
length = input.int(title="Length", minval=1, maxval=1000, defval=5)
upBound = ta.highest(high, length)
downBound = ta.lowest(low, length)1
if (not na(close[length]))2
	strategy.entry("ChBrkLE", strategy.long, stop=upBound + syminfo.mintick, comment="ChBrkLE")3
strategy.entry("ChBrkSE", strategy.short, stop=downBound - syminfo.mintick, comment="ChBrkSE")
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)
  1. upBound и downBound определяются через встроенные функции ta.highest и ta.lowest, которые высчитывают максимальное и минимальное значение из нескольких баров (задано lenght). Все встроенные функции начинаются с «ta» (технический анализ). ↩︎
  2. Ключевое слово na означает отсутствующие значения, а not na значит, что они не берутся в расчет . Условия входа выполняются только при наличии значений для вычисления максимума из закрытых баров. ↩︎
  3. Условия входа в лонг со стопом за максимум плюс один минимальный тик (syminfo.mintick). Аналогично для шорта. ↩︎
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: