Conversion of TradingView indicator to MT5

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #240870 quote
    lukapex
    Participant
    New

    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 quote
    JC_Bywan
    Moderator
    Master

    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

    lukapex thanked this post
    #245238 quote
    Nik101
    Participant
    New

    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.

    <iframe width="560" height="315" src="https://www.youtube.com/embed/oQOgHSwuunU?si=srzNHLtPCrGarmf9" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
    #245329 quote
    lukapex
    Participant
    New

    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)
  • You must be logged in to reply to this topic.

Conversion of TradingView indicator to MT5


ProBuilder: Indicators & Custom Tools

New Reply
Author
author-avatar
lukapex @lukapex Participant
Summary

This topic contains 3 replies,
has 3 voices, and was last updated by lukapex
10 months, 2 weeks ago.

Topic Details
Forum: ProBuilder: Indicators & Custom Tools
Language: English
Started: 11/28/2024
Status: Active
Attachments: No files
Logo Logo
Loading...