OPEN-SOURCE SCRIPT

Trendlines with Breaks Strategy [AlexGoldHunter]

Strategy Overview
This strategy, named "Trendlines with Breaks Strategy [AlexGoldHunter]", is designed to identify and trade trendline breakouts. It uses pivot highs and lows to detect significant levels and calculates slopes to plot trendlines. The strategy places buy and sell orders based on these trendlines and triggers alerts for potential breakouts.

Inputs and Parameters
Swing Detection Lookback (length): Defines the number of bars to look back for identifying pivot highs and lows.

Slope Multiplier (mult): Adjusts the steepness of the trendlines.

Slope Calculation Method (calcMethod): Determines how the slope is calculated (Atr, Stdev, or Linreg).

Backpainting (backpaint): Toggles the display of elements in the past, providing real-time information when disabled.

Style Settings
Up Trendline Color (upCss): Color for upward trendlines (default: teal).

Down Trendline Color (dnCss): Color for downward trendlines (default: red).

Show Extended Lines (showExt): Option to show extended trendlines.

Calculations
Pivot High (ph) and Pivot Low (pl): Identifies significant highs and lows based on the lookback period.

Slope Calculation: Determines the slope of trendlines using the selected calculation method.

Trendline Calculation: Updates the positions of the upper and lower trendlines based on the pivot points and slopes.

Plotting
Upper and Lower Trendlines: Plots the calculated trendlines on the chart.

Breakout Labels: Adds labels "alex_buy_now" for upward trendline breaks and "alex_sell_now" for downward trendline breaks.

Strategy Conditions
Buy Condition:

Triggers a buy order when the price breaks above the downward trendline.

Sell Condition:

Triggers a sell order when the price breaks below the upward trendline.

Alerts
Upward Breakout Alert: Notifies when the price breaks above the downward trendline.

Downward Breakout Alert: Notifies when the price breaks below the upward trendline.

Example Code Explanation

//version=5
strategy("Trendlines with Breaks Strategy [AlexGoldHunter]", overlay=true)

// Input parameters
length = input.int(14, title="Swing Detection Lookback")
mult = input.float(1.0, title="Slope", minval=0, step=0.1)
calcMethod = input.string('Atr', title="Slope Calculation Method", options=['Atr','Stdev','Linreg'])
backpaint = input(true, tooltip='Backpainting offset displayed elements in the past. Disable backpainting to see real-time information returned by the indicator.')

// Style settings
upCss = input.color(color.teal, title="Up Trendline Color", group="Style")
dnCss = input.color(color.red, title="Down Trendline Color", group="Style")
showExt = input(true, title="Show Extended Lines")

// Calculations
var upper = 0.0
var lower = 0.0
var slope_ph = 0.0
var slope_pl = 0.0

var offset = backpaint ? length : 0

n = bar_index
src = close

ph = ta.pivothigh(length, length)
pl = ta.pivotlow(length, length)

// Slope Calculation Method
slope = switch calcMethod
'Atr' => ta.atr(length) / length * mult
'Stdev' => ta.stdev(src, length) / length * mult
'Linreg' => math.abs(ta.sma(src * n, length) - ta.sma(src, length) * ta.sma(n, length)) / ta.variance(n, length) / 2 * mult

// Get slopes and calculate trendlines
slope_ph := ph ? slope : slope_ph
slope_pl := pl ? slope : slope_pl

upper := ph ? ph : upper - slope_ph
lower := pl ? pl : lower + slope_pl

var upos = 0
var dnos = 0
upos := ph ? 0 : close > upper - slope_ph * length ? 1 : upos
dnos := pl ? 0 : close < lower + slope_pl * length ? 1 : dnos

// Extended Lines
var uptl = line.new(na, na, na, na, color=upCss, style=line.style_dashed, extend=extend.right)
var dntl = line.new(na, na, na, na, color=dnCss, style=line.style_dashed, extend=extend.right)

if ph and showExt
uptl.set_xy1(n - offset, backpaint ? ph : upper - slope_ph * length)
uptl.set_xy2(n - offset + 1, backpaint ? ph - slope : upper - slope_ph * (length + 1))

if pl and showExt
dntl.set_xy1(n - offset, backpaint ? pl : lower + slope_pl * length)
dntl.set_xy2(n - offset + 1, backpaint ? pl + slope : lower + slope_pl * (length + 1))

// Plots
plot(backpaint ? upper : upper - slope_ph * length, title="Upper", color=ph ? na : upCss, offset=-offset)
plot(backpaint ? lower : lower + slope_pl * length, title="Lower", color=pl ? na : dnCss, offset=-offset)

// Breakouts
plotshape(upos > upos[1] ? low : na, title="Upper Break",
style=shape.labelup, location=location.absolute, color=upCss, text="alex_buy_now", textcolor=color.white, size=size.tiny)
plotshape(dnos > dnos[1] ? high : na, title="Lower Break",
style=shape.labeldown, location=location.absolute, color=dnCss, text="alex_sell_now", textcolor=color.white, size=size.tiny)

// Strategy: Buy and Sell conditions
if (upos > upos[1])
strategy.entry("Buy", strategy.long)
if (dnos > dnos[1])
strategy.entry("Sell", strategy.short)

// Alerts
alertcondition(upos > upos[1], title="Upward Breakout", message="Price broke the down-trendline upward")
alertcondition(dnos > dnos[1], title="Downward Breakout", message="Price broke the up-trendline downward")


-------------------------------------------

This script effectively integrates the trendline detection, breakout identification, and automated trading into a single strategy, making it a powerful tool for technical traders on TradingView. If you have any questions or need further clarification, feel free to ask!

Follow Alexgoldhunter for more strategic ideas and minds

Trend Analysis

오픈 소스 스크립트

진정한 TradingView 정신에 따라, 이 스크립트의 저자는 트레이더들이 이해하고 검증할 수 있도록 오픈 소스로 공개했습니다. 저자에게 박수를 보냅니다! 이 코드는 무료로 사용할 수 있지만, 출판물에서 이 코드를 재사용하는 것은 하우스 룰에 의해 관리됩니다. 님은 즐겨찾기로 이 스크립트를 차트에서 쓸 수 있습니다.

차트에 이 스크립트를 사용하시겠습니까?


Alex Gold Hunter

Free Signals & analysis
Join for Free

tinyurl.com/ClassicFreeSignals

bit.ly/4fQGd0G

bit.ly/3ODlUI4
또한 다음에서도:

면책사항