Converting Twin Range Filter indicator from Trading View to PRT

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #212468 quote
    Aragorna
    Participant
    Junior

    Hello, I’m using this indicator from trading view and i find it very useful. is it possible to convert it to PRT?

    thank’s in advance

     

    // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
    // © colinmck

    //@version=4

    study(title=”Twin Range Filter”, overlay=true)

    source = input(defval=close, title=”Source”)

    // Smooth Average Range

    per1 = input(defval=27, minval=1, title=”Fast period”)
    mult1 = input(defval=1.6, minval=0.1, title=”Fast range”)

    per2 = input(defval=55, minval=1, title=”Slow period”)
    mult2 = input(defval=2, minval=0.1, title=”Slow range”)

    smoothrng(x, t, m) =>
    wper = t * 2 – 1
    avrng = ema(abs(x – x[1]), t)
    smoothrng = ema(avrng, wper) * m
    smoothrng
    smrng1 = smoothrng(source, per1, mult1)
    smrng2 = smoothrng(source, per2, mult2)
    smrng = (smrng1 + smrng2) / 2

    // Range Filter

    rngfilt(x, r) =>
    rngfilt = x
    rngfilt := x > nz(rngfilt[1]) ? x – r < nz(rngfilt[1]) ? nz(rngfilt[1]) : x – r :
    x + r > nz(rngfilt[1]) ? nz(rngfilt[1]) : x + r
    rngfilt
    filt = rngfilt(source, smrng)

    upward = 0.0
    upward := filt > filt[1] ? nz(upward[1]) + 1 : filt < filt[1] ? 0 : nz(upward[1])
    downward = 0.0
    downward := filt < filt[1] ? nz(downward[1]) + 1 : filt > filt[1] ? 0 : nz(downward[1])

    hband = filt + smrng
    lband = filt – smrng

    longCond = bool(na)
    shortCond = bool(na)
    longCond := source > filt and source > source[1] and upward > 0 or source > filt and source < source[1] and upward > 0
    shortCond := source < filt and source < source[1] and downward > 0 or source < filt and source > source[1] and downward > 0

    CondIni = 0
    CondIni := longCond ? 1 : shortCond ? -1 : CondIni[1]

    long = longCond and CondIni[1] == -1
    short = shortCond and CondIni[1] == 1

    // Plotting

    plotshape(long, title=”Long”, text=”Long”, style=shape.labelup, textcolor=color.black, size=size.tiny, location=location.belowbar, color=color.lime, transp=0)
    plotshape(short, title=”Short”, text=”Short”, style=shape.labeldown, textcolor=color.white, size=size.tiny, location=location.abovebar, color=color.red, transp=0)

    // Alerts

    alertcondition(long, title=”Long”, message=”Long”)
    alertcondition(short, title=”Short”, message=”Short”)

    #212493 quote
    Aragorna
    Participant
    Junior

    Sorry, I saw you already coded in PRT Nicolas 🙂

    I read many opinions about the fat that could repaint. what do you think?

    #212503 quote
    Nicolas
    Keymaster
    Master

    For the record, the Twin range Filter can be downloaded from here: Twin Range Filter

    There’s no way that this code could repaint in the past. Obviously signals can vary on the current candlestick.

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

Converting Twin Range Filter indicator from Trading View to PRT


ProBuilder: Indicators & Custom Tools

New Reply
Author
author-avatar
Aragorna @aragorna Participant
Summary

This topic contains 2 replies,
has 2 voices, and was last updated by Nicolas
2 years, 11 months ago.

Topic Details
Forum: ProBuilder: Indicators & Custom Tools
Language: English
Started: 03/30/2023
Status: Active
Attachments: No files
Logo Logo
Loading...