Conversion of TradingView indicator to MT5

Forums ProRealTime English forum ProBuilder support Conversion of TradingView indicator to MT5

Viewing 4 posts - 1 through 4 (of 4 total)
  • #240870

    Hello! I have the tradingview code which i would love to have converted to mt5!
    i have more of them, so we can help each other out 🙂

    strategy(“Trend Angle 8hr BF 🚀”, overlay=false, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.0)
    /////////////// Time Frame ///////////////
    testStartYear = input(2017, “Backtest Start Year”)
    testStartMonth = input(1, “Backtest Start Month”)
    testStartDay = input(1, “Backtest Start Day”)
    testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay, 0, 0)
    testStopYear = input(2019, “Backtest Stop Year”)
    testStopMonth = input(12, “Backtest Stop Month”)
    testStopDay = input(31, “Backtest Stop Day”)
    testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay, 0, 0)
    testPeriod() => time >= testPeriodStart and time <= testPeriodStop ? true : false
    src=input(ohlc4,title=”source”)
    // definition of “Jurik Moving Average”, by Everget
    jma(_src,_length,_phase,_power) =>
        phaseRatio = _phase < -100 ? 0.5 : _phase > 100 ? 2.5 : _phase / 100 + 1.5
        beta = 0.45 * (_length – 1) / (0.45 * (_length – 1) + 2)
        alpha = pow(beta, _power)
        jma = 0.0
        e0 = 0.0
        e0 := (1 – alpha) * _src + alpha * nz(e0[1])
        e1 = 0.0
        e1 := (_src – e0) * (1 – beta) + beta * nz(e1[1])
        e2 = 0.0
        e2 := (e0 + phaseRatio * e1 – nz(jma[1])) * pow(1 – alpha, 2) + pow(alpha, 2) * nz(e2[1])
        jma := e2 + nz(jma[1])
    //// //// Determine Angle by KyJ //// ////
    angle(_src) =>
        rad2degree=180/3.14159265359  //pi
        ang=rad2degree*atan((_src[0] – _src[1])/atr(14))
    jma_line=jma(src,10,50,1)
    ma=ema(src,input(56))
    jma_slope=angle(jma_line)
    ma_slope=angle(ma)
    ///////////// Rate Of Change /////////////
    source = close
    roclength = input(12, minval=1)
    pcntChange = input(2, minval=1)
    roc = 100 * (source – source[roclength]) / source[roclength]
    emaroc = ema(roc, roclength / 2)
    isMoving() => emaroc > (pcntChange / 2) or emaroc < (0 – (pcntChange / 2))
    /////////////// Strategy ///////////////
    long = ma_slope>=0 and isMoving()
    short = ma_slope<=0 and isMoving()
    last_long = 0.0
    last_short = 0.0
    last_long := long ? time : nz(last_long[1])
    last_short := short ? time : nz(last_short[1])
    long_signal = crossover(last_long, last_short)
    short_signal = crossover(last_short, last_long)
    last_open_long_signal = 0.0
    last_open_short_signal = 0.0
    last_open_long_signal := long_signal ? open : nz(last_open_long_signal[1])
    last_open_short_signal := short_signal ? open : nz(last_open_short_signal[1])
    last_long_signal = 0.0
    last_short_signal = 0.0
    last_long_signal := long_signal ? time : nz(last_long_signal[1])
    last_short_signal := short_signal ? time : nz(last_short_signal[1])
    in_long_signal = last_long_signal > last_short_signal
    in_short_signal = last_short_signal > last_long_signal
    last_high = 0.0
    last_low = 0.0
    last_high := not in_long_signal ? na : in_long_signal and (na(last_high[1]) or high > nz(last_high[1])) ? high : nz(last_high[1])
    last_low := not in_short_signal ? na : in_short_signal and (na(last_low[1]) or low < nz(last_low[1])) ? low : nz(last_low[1])
    sl_inp = input(2.0, title=’Stop Loss %’) / 100
    tp_inp=input(900.0,title=’Take Profit %’) /100
    take_level_l = strategy.position_avg_price * (1 + tp_inp)
    take_level_s = strategy.position_avg_price * (1 – tp_inp)
    since_longEntry = barssince(last_open_long_signal != last_open_long_signal[1])
    since_shortEntry = barssince(last_open_short_signal != last_open_short_signal[1])
    slLong = in_long_signal ? strategy.position_avg_price * (1 – sl_inp) : na
    slShort = strategy.position_avg_price * (1 + sl_inp)
    long_sl = in_long_signal ? slLong : na
    short_sl = in_short_signal ? slShort : na
    /////////////// Execution ///////////////
    if testPeriod()
        strategy.entry(“L”,  strategy.long, when=long)
        strategy.entry(“S”, strategy.short, when=short)
        strategy.exit(“L Ex”, “L”, stop=long_sl, limit=take_level_l, when=since_longEntry > 0)
        strategy.exit(“S Ex”, “S”, stop=short_sl, limit=take_level_s, when=since_shortEntry > 0)
    ///////////// Plotting /////////////
    hline(0, title=’Zero line’, color=color.white, linewidth=1)
    plot(ma_slope,title=”ma slope”, linewidth=2,color=ma_slope>=0?color.lime:color.red)
    bgcolor(isMoving() ? long ? color.green : short ? color.red : na : color.white, transp=80)
    bgcolor(long_signal ? color.lime : short_signal ? color.red : na, transp=30)
    #240874

    Hello,

    code conversion on ProRealCode forums is free towards ProRealTime platform only, but not free towards other platforms. For paid code conversions towards another platform, you might be interested in getting a quote from the trading programming services section in the “help” menu above, direct link: https://www.prorealcode.com/trading-programming-services/

    Best regards

    1 user thanked author for this post.
    #245238

    Hello! I have the tradingview code which i would love to have converted to mt5!

    i have more of them, so we can help each other out 🙂

    strategy(“Trend Angle 8hr BF 🚀”, overlay=false, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.0)
    /////////////// Time Frame ///////////////
    testStartYear = input(2017, “Backtest Start Year”)
    testStartMonth = input(1, “Backtest Start Month”)
    testStartDay = input(1, “Backtest Start Day”)
    testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay, 0, 0)
    testStopYear = input(2019, “Backtest Stop Year”)
    testStopMonth = input(12, “Backtest Stop Month”)
    testStopDay = input(31, “Backtest Stop Day”)
    testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay, 0, 0)
    testPeriod() => time >= testPeriodStart and time <= testPeriodStop ? true : false
    src=input(ohlc4,title=”source”)
    // definition of “Jurik Moving Average”, by Everget
    jma(_src,_length,_phase,_power) =>
    phaseRatio = _phase < -100 ? 0.5 : _phase > 100 ? 2.5 : _phase / 100 + 1.5
    beta = 0.45 * (_length – 1) / (0.45 * (_length – 1) + 2)
    alpha = pow(beta, _power)
    jma = 0.0
    e0 = 0.0
    e0 := (1 – alpha) * _src + alpha * nz(e0[1])
    e1 = 0.0
    e1 := (_src – e0) * (1 – beta) + beta * nz(e1[1])
    e2 = 0.0
    e2 := (e0 + phaseRatio * e1 – nz(jma[1])) * pow(1 – alpha, 2) + pow(alpha, 2) * nz(e2[1])
    jma := e2 + nz(jma[1])
    //// //// Determine Angle by KyJ //// ////
    angle(_src) =>
    rad2degree=180/3.14159265359 //pi
    ang=rad2degree*atan((_src[0] – _src[1])/atr(14))
    jma_line=jma(src,10,50,1)
    ma=ema(src,input(56))
    jma_slope=angle(jma_line)
    ma_slope=angle(ma)
    ///////////// Rate Of Change /////////////
    source = close
    roclength = input(12, minval=1)
    pcntChange = input(2, minval=1)
    roc = 100 * (source – source[roclength]) / source[roclength]
    emaroc = ema(roc, roclength / 2)
    isMoving() => emaroc > (pcntChange / 2) or emaroc < (0 – (pcntChange / 2))
    /////////////// Strategy ///////////////
    long = ma_slope>=0 and isMoving()
    short = ma_slope<=0 and isMoving()
    last_long = 0.0
    last_short = 0.0
    last_long := long ? time : nz(last_long[1])
    last_short := short ? time : nz(last_short[1])
    long_signal = crossover(last_long, last_short)
    short_signal = crossover(last_short, last_long)
    last_open_long_signal = 0.0
    last_open_short_signal = 0.0
    last_open_long_signal := long_signal ? open : nz(last_open_long_signal[1])
    last_open_short_signal := short_signal ? open : nz(last_open_short_signal[1])
    last_long_signal = 0.0
    last_short_signal = 0.0
    last_long_signal := long_signal ? time : nz(last_long_signal[1])
    last_short_signal := short_signal ? time : nz(last_short_signal[1])
    in_long_signal = last_long_signal > last_short_signal
    in_short_signal = last_short_signal > last_long_signal
    last_high = 0.0
    last_low = 0.0
    last_high := not in_long_signal ? na : in_long_signal and (na(last_high[1]) or high > nz(last_high[1])) ? high : nz(last_high[1])
    last_low := not in_short_signal ? na : in_short_signal and (na(last_low[1]) or low < nz(last_low[1])) ? low : nz(last_low[1])
    sl_inp = input(2.0, title=’Stop Loss %’) / 100
    tp_inp=input(900.0,title=’Take Profit %’) /100
    take_level_l = strategy.position_avg_price * (1 + tp_inp)
    take_level_s = strategy.position_avg_price * (1 – tp_inp)
    since_longEntry = barssince(last_open_long_signal != last_open_long_signal[1])
    since_shortEntry = barssince(last_open_short_signal != last_open_short_signal[1])
    slLong = in_long_signal ? strategy.position_avg_price * (1 – sl_inp) : na
    slShort = strategy.position_avg_price * (1 + sl_inp)
    long_sl = in_long_signal ? slLong : na
    short_sl = in_short_signal ? slShort : na
    /////////////// Execution ///////////////
    if testPeriod()
    strategy.entry(“L”, strategy.long, when=long)
    strategy.entry(“S”, strategy.short, when=short)
    strategy.exit(“L Ex”, “L”, stop=long_sl, limit=take_level_l, when=since_longEntry > 0)
    strategy.exit(“S Ex”, “S”, stop=short_sl, limit=take_level_s, when=since_shortEntry > 0)
    ///////////// Plotting /////////////
    hline(0, title=’Zero line’, color=color.white, linewidth=1)
    plot(ma_slope,title=”ma slope”, linewidth=2,color=ma_slope>=0?color.lime:color.red)
    bgcolor(isMoving() ? long ? color.green : short ? color.red : na : color.white, transp=80)
    bgcolor(long_signal ? color.lime : short_signal ? color.red : na, transp=30)

    This code is not working for me. Anyone suggest me other tool or way to connect tradingview to mt5.

    I have found one video on youtube. Can anyone suggest me.

     

    #245329

    thanks for the video!
    the indicator works for me, can you share screen shots of yours?

Viewing 4 posts - 1 through 4 (of 4 total)

Create your free account now and post your request to benefit from the help of the community
Register or Login