HalfTrend everget Tading view

Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
    Posts
  • #173496 quote
    Jacques Haasbroek
    Participant
    New

    //@version=4
    // Copyright (c) 2021-present, Alex Orekhov (everget)
    study(“HalfTrend”, overlay=true)

    amplitude = input(title=”Amplitude”, defval=2)
    channelDeviation = input(title=”Channel Deviation”, defval=2)
    showArrows = input(title=”Show Arrows”, defval=true)
    showChannels = input(title=”Show Channels”, defval=true)

    var int trend = 0
    var int nextTrend = 0
    var float maxLowPrice = nz(low[1], low)
    var float minHighPrice = nz(high[1], high)

    var float up = 0.0
    var float down = 0.0
    float atrHigh = 0.0
    float atrLow = 0.0
    float arrowUp = na
    float arrowDown = na

    atr2 = atr(100) / 2
    dev = channelDeviation * atr2

    highPrice = high[abs(highestbars(amplitude))]
    lowPrice = low[abs(lowestbars(amplitude))]
    highma = sma(high, amplitude)
    lowma = sma(low, amplitude)

    if nextTrend == 1
    maxLowPrice := max(lowPrice, maxLowPrice)

    if highma < maxLowPrice and close < nz(low[1], low) trend := 1 nextTrend := 0 minHighPrice := highPrice else minHighPrice := min(highPrice, minHighPrice) if lowma > minHighPrice and close > nz(high[1], high)
    trend := 0
    nextTrend := 1
    maxLowPrice := lowPrice

    if trend == 0
    if not na(trend[1]) and trend[1] != 0
    up := na(down[1]) ? down : down[1]
    arrowUp := up – atr2
    else
    up := na(up[1]) ? maxLowPrice : max(maxLowPrice, up[1])
    atrHigh := up + dev
    atrLow := up – dev
    else
    if not na(trend[1]) and trend[1] != 1
    down := na(up[1]) ? up : up[1]
    arrowDown := down + atr2
    else
    down := na(down[1]) ? minHighPrice : min(minHighPrice, down[1])
    atrHigh := down + dev
    atrLow := down – dev

    ht = trend == 0 ? up : down

    var color buyColor = color.blue
    var color sellColor = color.red

    htColor = trend == 0 ? buyColor : sellColor
    htPlot = plot(ht, title=”HalfTrend”, linewidth=2, color=htColor)

    atrHighPlot = plot(showChannels ? atrHigh : na, title=”ATR High”, style=plot.style_circles, color=sellColor)
    atrLowPlot = plot(showChannels ? atrLow : na, title=”ATR Low”, style=plot.style_circles, color=buyColor)

    fill(htPlot, atrHighPlot, title=”ATR High Ribbon”, color=sellColor)
    fill(htPlot, atrLowPlot, title=”ATR Low Ribbon”, color=buyColor)

    buySignal = not na(arrowUp) and (trend == 0 and trend[1] == 1)
    sellSignal = not na(arrowDown) and (trend == 1 and trend[1] == 0)

    plotshape(showArrows and buySignal ? atrLow : na, title=”Arrow Up”, style=shape.triangleup, location=location.absolute, size=size.tiny, color=buyColor)
    plotshape(showArrows and sellSignal ? atrHigh : na, title=”Arrow Down”, style=shape.triangledown, location=location.absolute, size=size.tiny, color=sellColor)

    alertcondition(buySignal, title=”Alert: HalfTrend Buy”, message=”HalfTrend Buy”)
    alertcondition(sellSignal, title=”Alert: HalfTrend Sell”, message=”HalfTrend Sell”)

    #173498 quote
    robertogozzi
    Moderator
    Master

    What is your question?

    Do not double post. Ask your question only once and only in one forum. All double posts will be deleted anyway so posting the same question multiple times will just be wasting your own time and will not get you an answer any quicker. Double posting just creates confusion in the forums.

    Thank you 🙂

Viewing 2 posts - 1 through 2 (of 2 total)
  • You must be logged in to reply to this topic.

HalfTrend everget Tading view


ProBuilder: Indicators & Custom Tools

New Reply
Summary

This topic contains 1 reply,
has 2 voices, and was last updated by robertogozzi
4 years, 7 months ago.

Topic Details
Forum: ProBuilder: Indicators & Custom Tools
Language: English
Started: 07/12/2021
Status: Active
Attachments: No files
Logo Logo
Loading...