Conversion RMI Sniper Trading View

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #223205 quote
    BatesonBateson
    Participant
    Junior

    Bonjour,
    serait-il possible de convertir l’indicateur de TradingViex “Sniper RMI” ?
    Avec mes remerciements 🙂
    // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
    // © TZack88

    //@version=5
    indicator(‘RMI Trend Sniper’, overlay=true,max_labels_count = 500)

    // ** —> Inputs ————- {
    var bool positive = false
    var bool negative = false
    string RSI_group = “RMI Settings”
    string mom_group = “Range Vales”
    string visual = “Visuals”
    int Length = input(14,”RMI Length “,inline = “RMI”,group = RSI_group)
    int pmom = input(66,” Positive above”,inline = “rsi1″,group =RSI_group )
    int nmom = input(30,”Negative below”,inline = “rsi1”,group =RSI_group )
    bool filleshow = input(true,”Show Range MA “,inline = “002”,group =visual )
    color bull = input(#00bcd4,””,inline = “002”,group =visual )
    color bear = input(#ff5252,””,inline = “002”,group =visual )
    float BarRange = high – low

    up = ta.rma(math.max(ta.change(close), 0), Length)
    down = ta.rma(-math.min(ta.change(close), 0), Length)
    rsi = down == 0 ? 100 : up == 0 ? 0 : 100 – (100 / (1 + up / down))
    mf = ta.mfi(hlc3, Length)
    rsi_mfi = math.avg(rsi,mf)

    //——————- }

    bool p_mom = rsi_mfi[1] pmom and
    rsi_mfi > nmom and
    ta.change(ta.ema(close,5)) > 0

    bool n_mom = rsi_mfi < nmom and
    ta.change(ta.ema(close,5)) Momentums ————- {

    if p_mom
    positive:= true
    negative:= false

    if n_mom
    positive:= false
    negative:= true

    //
    method _Band(int len)=>
    math.min (ta.atr (len) * 0.3, close * (0.3/100)) [20] /2 * 8

    Band = _Band(30)

    method rangeMA(float Range,Prd)=>
    weight = Range / math.sum(Range, Prd)
    sum = math.sum(close * weight, Prd)
    tw= math.sum(weight, Prd)
    sum / tw

    // Calculate the RWMA
    rwma = rangeMA(BarRange,20)

    // Plotting the RWMA.
    colour = positive ? bull : bear
    RWMA = positive ? rwma – Band : negative ? rwma + Band : na
    alpha = color.new(color.black, 100)

    center = plot(filleshow ? RWMA : na, “RRTH”, colour, editable = true)
    plot(filleshow ? RWMA : na, “RRTH”, color.new(colour, 70), 2, editable = true)
    plot(filleshow ? RWMA : na, “RRTH”, color.new(colour, 80), 3, editable = true)
    plot(filleshow ? RWMA : na, “RRTH”, color.new(colour, 90), 4, editable = true)

    max = RWMA + Band
    min = RWMA – Band

    top = plot(filleshow ? max: na, “RRTH”, alpha)
    bottom = plot(filleshow ? min: na, “RRTH”, alpha)
    fill(top, center, top_value = max, bottom_value = RWMA, bottom_color = color.new(colour, 75), top_color = alpha, editable = true)
    fill(center, bottom, top_value = RWMA, bottom_value = min, bottom_color = alpha, top_color = color.new(colour, 75), editable = true)
    Barcol = positive ? color.green:color.red

    if negative and not negative[1]
    label.new(bar_index,max+(Band/2),””,color = color.red,size=size.small)
    if positive and not positive[1]
    label.new(bar_index,min-(Band/2),””,color = color.green,size=size.small,style= label.style_label_up)

    plotcandle(open, high, low, close,color = Barcol,wickcolor = Barcol,bordercolor = Barcol)
    barcolor(color = Barcol)

    // SPOT Trading Alerts
    alertcondition(positive and not positive[1],”BUY”)
    alertcondition(negative and not negative[1],”SELL”)

    #230516 quote
    Iván GonzálezIván González
    Moderator
    Legend

    Bonjour, voici la traduction et l'explication de l'indicateur : https://www.prorealcode.com/prorealtime-indicators/rmi-trend-sniper-indicator/

    //PRC_RMI Trend Sniper
    //version = 0
    //26.03.24
    //Iván González @ www.prorealcode.com
    //Sharing ProRealTime knowledge
    //-----Inputs----------------------------------------------//
    Length=14//RMI Length
    pmom=66//Positive above
    nmom=30//Negative below
    filleshow=1//Show Range MA
    colorbar=1//Color candles
    drawsignals=1//Show arrows
    //-----RSI and MFI calculation-----------------------------//
    alpha = 1/length
    //-----Up
    src1 = max(close-close[1],0)
    if barindex = length then
    up = average[length](src1)
    else
    up = alpha*src1 + (1-alpha)*up[1]
    endif
    //-----Down
    src2 = - min(close-close[1],0)
    if barindex = length then
    down = average[length](src2)
    else
    down = alpha*src2 + (1-alpha)*down[1]
    endif
    //-----Rsi
    if down = 0 then
    myrsi = 100
    elsif up = 0 then
    myrsi = 0
    else
    myrsi = 100 - (100/(1+up/down))
    endif
    //-----MFI
    mfi = MoneyFlowIndex[length]
    //-----RsiMfi
    rsimfi = (myrsi+mfi)/2
    //----------------------------------------------------------//
    //-----Long Short Conditions--------------------------------//
    ema = average[5,1](close)
    
    bpmom = rsimfi[1]<pmom and rsimfi>pmom and rsimfi>nmom and (ema-ema[1])>0
    bnmom = rsimfi<nmom and (ema-ema[1])<0
    
    if bpmom then
    positive = 1
    negative = 0
    elsif bnmom then
    positive = 0
    negative = 1
    endif
    //----------------------------------------------------------//
    //------Calculate RWMA--------------------------------------//
    band = min(averagetruerange[30]*0.3,close*(0.3/100))[20]/2*8
    barRange = high-low
    
    weight = BarRange/summation[20](BarRange)
    sum = summation[20](close*weight)
    tw = summation[20](weight)
    rwma = sum/tw
    
    if positive then
    rwma = rwma-band
    r=0
    g=188
    b=212
    elsif negative then
    rwma = rwma+band
    r=255
    g=82
    b=82
    else
    rwma = undefined
    endif
    //------------------------------------------------------------//
    //-----Calculate MA bands-------------------------------------//
    if filleshow then
    mitop = rwma+band
    mibot = rwma-band
    colorbetween(mitop,rwma,r,g,b,50)
    colorbetween(mibot,rwma,r,g,b,50)
    else
    mitop = rwma
    mibot = rwma
    endif
    //-----------------------------------------------------------//
    //-----Draw signals------------------------------------------//
    if drawsignals then
    if negative and not negative[1] then
    drawarrowdown(barindex,mitop+(band/2))coloured("red")
    elsif positive and not positive[1] then
    drawarrowup(barindex,mibot-(band/2))coloured("green")
    endif
    endif
    //-----------------------------------------------------------//
    //-----Color Candles-----------------------------------------//
    if colorbar then
    drawcandle(open,high,low,close)coloured(r,g,b)
    endif
    //-----------------------------------------------------------//
    return rwma as "Rwma"coloured(r,g,b)style(line,3), mitop as "Max"coloured(r,g,b,70)style(line,1),mibot as "Min" coloured(r,g,b,70)style(line,1)
    
    KumoNoJuzza thanked this post
    SP500-Diario.png SP500-Diario.png
    #235999 quote
    BatesonBateson
    Participant
    Junior

    Un tres grand merci pour le travail IVAN §

    #236025 quote
    supertitisupertiti
    Participant
    Master

    Bonjour à tous,

    J’aurais voulu modifier la rwma en ajoutant une moyenne mobile comme ceci :

    myrwma = average [p,m](rwma)

    ou p = periode

    m = type de moyenne mobile

    Pour autant cette ligne de code ne fonctionne pas ?

    Merci si quelqu’un peut me dire d’où vient le problème.

    Bons trades

Viewing 4 posts - 1 through 4 (of 4 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

Conversion RMI Sniper Trading View


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
Bateson @bateson Participant
Summary

This topic contains 3 replies,
has 3 voices, and was last updated by supertitisupertiti
2 years, 1 month ago.

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 11/04/2023
Status: Active
Attachments: 1 files
ProRealCode ProRealCode
Loading...