TRADUIRE UN CODE TRADINGVIEW EN PRT

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

    Bonjour à tous,

    savez-vous si il est possible de “traduire” un code trading view en pro real time?

    je met en dessous 2 indicateur absolument incroyable que j’ai trouver sur trading view (89% de position gagnante en les suivant en m5)

    G-trend gunbot 🙁 https://fr.tradingview.com/u/LUIS_GANDARA_G_TREND/#published-scripts )

    // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
    // © tvgunluis By LUIS GANDARA
    //@version=4
    study(“G TREND”, overlay=true)
    length = input(title=”ATR Period”, type=input.integer, defval=99)
    mult = input(title=”ATR Multiplier”, type=input.float, step=0.1, defval=0.5)
    wicks = input(title=”Take Wicks into Account ?”, type=input.bool, defval=false)
    showLabels = input(title=”Show Buy/Sell Labels ?”, type=input.bool, defval=true)
    highlightState = input(title=”Highlight State ?”, type=input.bool, defval=true)
    atr = mult * atr(length)
    longStop = hl2 – atr
    longStopPrev = nz(longStop[1], longStop)
    longStop := (wicks ? low[1] : close[1]) > longStopPrev ? max(longStop, longStopPrev) : longStop
    shortStop = hl2 + atr
    shortStopPrev = nz(shortStop[1], shortStop)
    shortStop := (wicks ? high[1] : close[1]) < shortStopPrev ? min(shortStop, shortStopPrev) : shortStop
    dir = 1
    dir := nz(dir[1], dir)
    dir := dir == -1 and (wicks ? high : close) > shortStopPrev ? 1 : dir == 1 and (wicks ? low : close) < longStopPrev ? -1 : dir
    longColor = color.blue
    shortColor = color.orange
    noneColor = color.new(color.white, 100)
    longStopPlot = plot(dir == 1 ? longStop : na, title=”Long Stop”, style=plot.style_linebr, linewidth=2, color=longColor)
    buySignal = dir == 1 and dir[1] == -1
    plotshape(buySignal ? longStop : na, title=”Long Stop Start”, location=location.absolute, style=shape.circle, size=size.tiny, color=longColor, transp=0)
    plotshape(buySignal and showLabels ? longStop : na, title=”Buy Label”, text=”Buy”, location=location.absolute, style=shape.labelup, size=size.tiny, color=longColor, textcolor=color.white, transp=0)
    shortStopPlot = plot(dir == 1 ? na : shortStop, title=”Short Stop”, style=plot.style_linebr, linewidth=2, color=shortColor)
    sellSignal = dir == -1 and dir[1] == 1
    plotshape(sellSignal ? shortStop : na, title=”Short Stop Start”, location=location.absolute, style=shape.circle, size=size.tiny, color=shortColor, transp=0)
    plotshape(sellSignal and showLabels ? shortStop : na, title=”Sell Label”, text=”Sell”, location=location.absolute, style=shape.labeldown, size=size.tiny, color=shortColor, textcolor=color.white, transp=0)
    midPricePlot = plot(ohlc4, title=””, style=plot.style_circles, linewidth=0)
    longFillColor = highlightState ? (dir == 1 ? longColor : noneColor) : noneColor
    shortFillColor = highlightState ? (dir == -1 ? shortColor : noneColor) : noneColor
    fill(midPricePlot, longStopPlot, title=”Long State Filling”, color=longFillColor)
    fill(midPricePlot, shortStopPlot, title=”Short State Filling”, color=shortFillColor)
    alertcondition(buySignal, title=”GTREND Buy”, message=”GTREND Buy!”)
    alertcondition(sellSignal, title=”GTREND Sell”, message=”GTREND Sell!”)
    changeCond = dir != dir[1]
    alertcondition(changeCond, title=”GTREND Direction Change”, message=”GTREND has changed direction!”)
    et
    //@version=3
    study(title = “Open Close Cross Alert R6.2 by JustUncleL”, shorttitle = “OCC Alert R6.2”, overlay = false)
    // Revision:        6
    // Original Author: @JayRogers
    // Revisions By:    R3, R4, R5, R6 by JustIncleL
    //
    //
    // *** USE AT YOUR OWN RISK ***
    //  – There are drawing/painting issues in pinescript when working across resolutions/timeframes that I simply
    //    cannot fix here.. I will not be putting any further effort into developing this until such a time when
    //    workarounds become available.
    //
    // R6.2 By JustUncleL:
    //  – Minor updates for Pinescript Version 3 Compliance.
    //  – Modified Divergence to display only when in correct High/Low zone.
    //  9-Aug-2017
    //  – Correction SuperSmooth MA calculation.
    //
    // R6 By JustUncleL:
    //  – Added optional Divergence detection.
    //  – Corrected Alternate resolution calculation to allow for Daily, Weekly and Monthly charts.
    //  – Changed Graphic presentation.
    // R5 By JustUncleL:
    //  – Change the way the Alternate resolution in selected, use a Multiplier of the base Time Frame instead,
    //    this makes it easy to switch between base time frames.
    //  – Added TMA and SSMA moving average options. But DEMA is still giving the best results.
    //  – Updated Default settings.
    //
    // R4 Changes (by JustUncleL):
    //  – Change Alert indication to coloured circle at bottom.
    //  – Added Histogram of difference between close and open MAs as a factor of average asset MA value.
    //
    // R3 Changes (by JustUncleL):
    //  — Study indicator alert created for TradingView sub-system (the alertcondition() function does not work in a
    //     “Strategy” script — Bug).
    // R2 Changes:
    //  – Simplified and cleaned up plotting, now just shows a Moving Average derived from the average of open/close.
    //  – Tried very hard to alleviate painting issues caused by referencing alternate resolution..
    //
    // Description:
    //  – Strategy based around Open-Close Crossovers.
    // Setup:
    //  – I have generally found that setting the strategy resolution to 3-4x that of the chart you are viewing
    //    tends to yield the best results, regardless of which MA option you may choose (if any) BUT can cause
    //    a lot of false positives – be aware of this
    //  – Don’t aim for perfection. Just aim to get a reasonably snug fit with the O-C band, with good runs of
    //    green and red.
    //  – Option to either use basic open and close series data, or pick your poison with a wide array of MA types.
    //  – Optional trailing stop for damage mitigation if desired (can be toggled on/off)
    //  – Positions get taken automagically following a crossover – which is why it’s better to set the resolution
    //    of the script greater than that of your chart, so that the trades get taken sooner rather than later.
    //  – If you make use of the stops/trailing stops, be sure to take your time tweaking the values. Cutting it too fine
    //    will cost you profits but keep you safer, while letting them loose could lead to more drawdown than you
    //    can handle.
    // === INPUTS ===
    useRes      = input(defval = true, title = “Use Alternate Resolution?”)
    intRes      = input(defval = 3,    title = “Multiplier for Alernate Resolution”)
    stratRes    = ismonthly? tostring(interval*intRes,”###M”) : isweekly? tostring(interval*intRes,”###W”) : isdaily?  tostring(interval*intRes,”###D”) : isintraday ? tostring(interval*intRes,”####”) : ’60’
    //
    basisType   = input(defval = “SMMA”, title = “MA Type: “, options=[“SMA”, “EMA”, “DEMA”, “TEMA”, “WMA”, “VWMA”, “SMMA”, “HullMA”, “LSMA”, “ALMA”, “SSMA”, “TMA”])
    basisLen    = input(defval = 8, title = “MA Period”, minval = 1)
    offsetSigma = input(defval = 6, title = “Offset for LSMA / Sigma for ALMA”, minval = 0)
    offsetALMA  = input(defval = 0.85, title = “Offset for ALMA”, minval = 0, step = 0.01)
    delayOffset = input(defval = 0, title = “Delay Open/Close MA (Forces Non-Repainting)”, minval = 0, step = 1)
    //
    uDiv       = input(false,”Show Divergence Channel”)
    multi      = input(0.5,minval=0.0,maxval=3.0,title=”Divergence Channel Width Factor (Stddev)”)
    uHid =       input(false, title=”Show Hidden Divergence”)
    uReg =       input(false, title=”Show Regular Divergence”)
    uDiv := uReg or uHid ? uDiv : false
    // === /INPUTS ===
    // – variant(type, src, len)
    // Returns MA input selection variant, default to SMA if blank or typo.
    // Returns MA input selection variant, default to SMA if blank or typo.
    variant(type, src, len, offSig, offALMA) =>
        v1 = sma(src, len)                                                  // Simple
        v2 = ema(src, len)                                                  // Exponential
        v3 = 2 * v2 – ema(v2, len)                                          // Double Exponential
        v4 = 3 * (v2 – ema(v2, len)) + ema(ema(v2, len), len)               // Triple Exponential
        v5 = wma(src, len)                                                  // Weighted
        v6 = vwma(src, len)                                                 // Volume Weighted
        v7 = 0.0
        v7 := na(v7[1]) ? sma(src, len) : (v7[1] * (len – 1) + src) / len    // Smoothed
        v8 = wma(2 * wma(src, len / 2) – wma(src, len), round(sqrt(len)))   // Hull
        v9 = linreg(src, len, offSig)                                       // Least Squares
        v10 = alma(src, len, offALMA, offSig)                               // Arnaud Legoux
        v11 = sma(v1,len)                                                   // Triangular (extreme smooth)
        // SuperSmoother filter
        // © 2013  John F. Ehlers
        a1 = exp(-1.414*3.14159 / len)
        b1 = 2*a1*cos(1.414*3.14159 / len)
        c2 = b1
        c3 = (-a1)*a1
        c1 = 1 – c2 – c3
        v12 = 0.0
        v12 := c1*(src + nz(src[1])) / 2 + c2*nz(v12[1]) + c3*nz(v12[2])
        type==”EMA”?v2 : type==”DEMA”?v3 : type==”TEMA”?v4 : type==”WMA”?v5 : type==”VWMA”?v6 : type==”SMMA”?v7 : type==”HullMA”?v8 : type==”LSMA”?v9 : type==”ALMA”?v10 : type==”TMA”?v11: type==”SSMA”?v12: v1
    // security wrapper for repeat calls
    reso(exp, use, res) => use ? security(tickerid, res, exp, gaps=barmerge.gaps_off, lookahead=barmerge.lookahead_on) : exp
    // === SERIES SETUP ===
    closeSeries     = variant(basisType, close[delayOffset], basisLen, offsetSigma, offsetALMA)
    openSeries      = variant(basisType, open[delayOffset], basisLen, offsetSigma, offsetALMA)
    closeOpenAvg    = (closeSeries + openSeries) / 2
    // === /SERIES ===
    // Get Alternate Open/Close Series MAs, if selected.
    closeSeriesAlt = reso(closeSeries, useRes, stratRes)
    openSeriesAlt = reso(openSeries, useRes, stratRes)
    //
    xlong       = crossover(closeSeriesAlt, openSeriesAlt)
    xshort      = crossunder(closeSeriesAlt, openSeriesAlt)
    longCond    = xlong   // alternative: longCond[1]? false : (xlong or xlong[1]) and close>closeSeriesAlt and close>=open
    shortCond   = xshort  // alternative: shortCond[1]? false : (xshort or xshort[1]) and close<closeSeriesAlt and close<=open
    // === /ALERT conditions
    // === PLOTTING ===
    diff = closeSeriesAlt – openSeriesAlt
    pcd  = 50000.0*diff/closeOpenAvg
    alert = longCond or shortCond
    trendColour     = closeSeriesAlt > openSeriesAlt ? green : red
    hline(0,color=gray,linestyle=dashed)
    plot(pcd,title=”OCC Difference Factor”, color = trendColour, linewidth=1,style=area,transp=80)
    plot(pcd,title=”OCC Difference Factor”, color = trendColour, linewidth=2,style=line,transp=20)
    plotshape(alert,title=”OCC Alert Plot”, color = trendColour,style=shape.circle,location=location.bottom,transp=0,size=size.auto)
    //  ||  Functions:
    f_top_fractal(_src)=>_src[4] < _src[2] and _src[3] < _src[2] and _src[2] > _src[1] and _src[2] > _src[0]
    f_bot_fractal(_src)=>_src[4] > _src[2] and _src[3] > _src[2] and _src[2] < _src[1] and _src[2] < _src[0]
    f_fractalize(_src)=>f_top_fractal(_src) ? 1 : f_bot_fractal(_src) ? -1 : 0
    // === /BASE FUNCTIONS ===
    rsi_high = pcd
    rsi_low = pcd
    offset_ = multi*stdev(pcd,20)
    fractal_top_rsi = f_fractalize(rsi_high) > 0 ? rsi_high[2] : na
    fractal_bot_rsi = f_fractalize(rsi_low) < 0 ? rsi_low[2] : na
    rsi_high_prev=valuewhen(fractal_top_rsi,rsi_high[2],1)
    rsi_high_price = valuewhen(fractal_top_rsi, high[2], 1)
    rsi_low_prev=valuewhen(fractal_bot_rsi,rsi_low[2],1)
    rsi_low_price = valuewhen(fractal_bot_rsi, low[2], 1)
    regular_bearish_div = fractal_top_rsi and high[2] > rsi_high_price and rsi_high[2] < rsi_high_prev and rsi_high>0
    hidden_bearish_div = fractal_top_rsi and high[2] < rsi_high_price and rsi_high[2] > rsi_high_prev and rsi_high>0
    regular_bullish_div = fractal_bot_rsi and low[2] < rsi_low_price and rsi_low[2] > rsi_low_prev and rsi_low<0
    hidden_bullish_div = fractal_bot_rsi and low[2] > rsi_low_price and rsi_low[2] < rsi_low_prev and rsi_low<0
    plot(title=’RSI High’, series=uDiv?rsi_high:na, color=gray)
    plot(title=’RSI Low’, series=uDiv?rsi_low:na, color=gray)
    plot(title=’RSI H F’, series=uDiv?fractal_top_rsi+offset_:na, color=red, offset=-2)
    plot(title=’RSI L F’, series=uDiv?fractal_bot_rsi-offset_:na, color=green, offset=-2)
    plot(title=’RSI H D’, series=uDiv?fractal_top_rsi+offset_:na, style=circles, color=(regular_bearish_div and uReg) or (hidden_bearish_div and uHid)? maroon : gray, linewidth=3, offset=-2)
    plot(title=’RSI L D’, series=uDiv?fractal_bot_rsi-offset_:na, style=circles, color=(regular_bullish_div and uReg) or (hidden_bullish_div and uHid)? green : gray, linewidth=3, offset=-2)
    plotshape(title=’+RBD’, series=regular_bearish_div and uReg? rsi_high[2]+offset_ : na, text=’Regular’, style=shape.labeldown, location=location.absolute, color=maroon, textcolor=white, offset=-2)
    plotshape(title=’+HBD’, series=hidden_bearish_div and uHid? rsi_high[2]+offset_ : na, text=’hidden’, style=shape.labeldown, location=location.absolute, color=maroon, textcolor=white, offset=-2)
    plotshape(title=’-RBD’, series=regular_bullish_div and uReg? rsi_low[2]-offset_ : na, text=’Regular’, style=shape.labelup, location=location.absolute, color=green, textcolor=white, offset=-2)
    plotshape(title=’-HBD’, series=hidden_bullish_div and uHid? rsi_low[2]-offset_ : na, text=’hidden’, style=shape.labelup, location=location.absolute, color=green, textcolor=white, offset=-2)
    // === ALARM ALERTS for TradingView ALARM sub-system (server based) ===
    alertcondition(alert,message=”OCC BothCond”,title=”OCC BothCond”)
    alertcondition(longCond,message=”OCC LongCond”,title=”OCC LongCond”)
    alertcondition(shortCond,message=”OCC ShortCond”,title=”OCC ShortCond”)
    // === /ALARM ALERTS
    //eof
    #208773 quote
    NicolasNicolas
    Keymaster
    Legend

    pour le premier indicateur, “G-Trend gunbot”, à la lecture du code, c’est un Supertrend avec réglage period: 99 multiplier: 0.5

    #208774 quote
    NicolasNicolas
    Keymaster
    Legend

    Le deuxième repeint apparemment, d’où le taux de réussite élevé à la lecture de l’historique.

    #208778 quote
    FXtonioFXtonio
    Participant
    Junior

    Merci beaucoup pour vos réponses 🙂

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

TRADUIRE UN CODE TRADINGVIEW EN PRT


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
FXtonio @fxtonio Participant
Summary

This topic contains 3 replies,
has 2 voices, and was last updated by FXtonioFXtonio
3 years, 7 months ago.

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 01/30/2023
Status: Active
Attachments: No files
ProRealCode ProRealCode
Loading...