HalfTrend code conversion

Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
    Posts
  • #200861 quote
    MarciaMarcia
    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
        ifnotna(trend[1])andtrend[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”)
    #200865 quote
    NicolasNicolas
    Keymaster
    Legend

    Hello, please, thank you <== these are human words frequently used by people when asking a  service.

    HalfTrend indicator is available here: Fifty shades of Half Trend indicator

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

Stuck on this ProBuilder code?

Describe what this topic is trying to build, in plain English, and ProRealAI writes the ProRealTime™ indicator, screener or system for you.

Available in 7 languages
Try ProRealAI

HalfTrend code conversion


ProBuilder: Indicators & Custom Tools

New Reply
Author
author-avatar
Marcia @marcia Participant
Summary

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

Topic Details
Forum: ProBuilder: Indicators & Custom Tools
Language: English
Started: 09/15/2022
Status: Active
Attachments: No files
ProRealCode ProRealCode
Loading...