Alphatrend Indicator conversion

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #212934 quote
    nitinvijayrane
    Participant
    New

    Hi All,

    I have been working on a stratergy to use a Alphatrend indicator which is available in tradingView. Source code is here

    // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
    // author © KivancOzbilgic
    // developer © KivancOzbilgic
    //@version=5
    indicator(‘AlphaTrend’, shorttitle=’AT’, overlay=true, format=format.price, precision=2, timeframe=”)
    coeff = input.float(1, ‘Multiplier’, step=0.1)
    AP = input(14, ‘Common Period’)
    ATR = ta.sma(ta.tr, AP)
    src = input(close)
    showsignalsk = input(title=’Show Signals?’, defval=true)
    novolumedata = input(title=’Change calculation (no volume data)?’, defval=false)
    upT = low – ATR * coeff
    downT = high + ATR * coeff
    AlphaTrend = 0.0
    AlphaTrend := (novolumedata ? ta.rsi(src, AP) >= 50 : ta.mfi(hlc3, AP) >= 50) ? upT < nz(AlphaTrend[1]) ? nz(AlphaTrend[1]) : upT : downT > nz(AlphaTrend[1]) ? nz(AlphaTrend[1]) : downT
    color1 = AlphaTrend > AlphaTrend[2] ? #00E60F : AlphaTrend < AlphaTrend[2] ? #80000B : AlphaTrend[1] > AlphaTrend[3] ? #00E60F : #80000B
    k1 = plot(AlphaTrend, color=color.new(#0022FC, 0), linewidth=3)
    k2 = plot(AlphaTrend[2], color=color.new(#FC0400, 0), linewidth=3)
    fill(k1, k2, color=color1)
    buySignalk = ta.crossover(AlphaTrend, AlphaTrend[2])
    sellSignalk = ta.crossunder(AlphaTrend, AlphaTrend[2])
    K1 = ta.barssince(buySignalk)
    K2 = ta.barssince(sellSignalk)
    O1 = ta.barssince(buySignalk[1])
    O2 = ta.barssince(sellSignalk[1])
    plotshape(buySignalk and showsignalsk and O1 > K2 ? AlphaTrend[2] * 0.9999 : na, title=’BUY’, text=’BUY’, location=location.absolute, style=shape.labelup, size=size.tiny, color=color.new(#0022FC, 0), textcolor=color.new(color.white, 0))
    plotshape(sellSignalk and showsignalsk and O2 > K1 ? AlphaTrend[2] * 1.0001 : na, title=’SELL’, text=’SELL’, location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.new(color.maroon, 0), textcolor=color.new(color.white, 0))
    alertcondition(buySignalk and O1 > K2, title=’Potential BUY Alarm’, message=’BUY SIGNAL!’)
    alertcondition(sellSignalk and O2 > K1, title=’Potential SELL Alarm’, message=’SELL SIGNAL!’)
    alertcondition(buySignalk[1] and O1[1] > K2, title=’Confirmed BUY Alarm’, message=’BUY SIGNAL APPROVED!’)
    alertcondition(sellSignalk[1] and O2[1] > K1, title=’Confirmed SELL Alarm’, message=’SELL SIGNAL APPROVED!’)
    alertcondition(ta.cross(close, AlphaTrend), title=’Price Cross Alert’, message=’Price – AlphaTrend Crossing!’)
    alertcondition(ta.crossover(low, AlphaTrend), title=’Candle CrossOver Alarm’, message=’LAST BAR is ABOVE ALPHATREND’)
    alertcondition(ta.crossunder(high, AlphaTrend), title=’Candle CrossUnder Alarm’, message=’LAST BAR is BELOW ALPHATREND!’)
    alertcondition(ta.cross(close[1], AlphaTrend[1]), title=’Price Cross Alert After Bar Close’, message=’Price – AlphaTrend Crossing!’)
    alertcondition(ta.crossover(low[1], AlphaTrend[1]), title=’Candle CrossOver Alarm After Bar Close’, message=’LAST BAR is ABOVE ALPHATREND!’)
    alertcondition(ta.crossunder(high[1], AlphaTrend[1]), title=’Candle CrossUnder Alarm After Bar Close’, message=’LAST BAR is BELOW ALPHATREND!’)
    #212944 quote
    Nicolas
    Keymaster
    Master

    Same indicator as old famous MagicTrend, but with MoneyFlowIndex as trigger for buy/sell trend revert in replacement of the CCI.

    Here it is:

    AP = 14 //Common Period
    coeff = 1 //Multiplier
    
    if (MoneyFlowIndex[ap]>=50) then
    magic=Low[0]-AverageTrueRange[ap](close)*coeff
    endif
    
    if (MoneyFlowIndex[ap]<50) then
    magic=High[0]+AverageTrueRange[ap](close)*coeff
    endif
    
    if (MoneyFlowIndex[ap]>=50 and magic<magic[1]) then
    magic=magic[1]
    endif
    
    if (MoneyFlowIndex[ap]<50 and magic>magic[1]) then
    magic=magic[1]
    endif
    
    if magic>magic[1] then 
    r=0
    g=255
    elsif magic<magic[1]then 
    r=255
    g=0
    endif 
    
    return magic as "AlphaTrend" coloured(r,g,0)
    GraHal and Distincttacos thanked this post
    #212987 quote
    Nicolas
    Keymaster
    Master

    For convenience, I placed the indicator in the library, accessible for download here: AlphaTrend

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

Alphatrend Indicator conversion


ProBuilder: Indicators & Custom Tools

New Reply
Author
Summary

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

Topic Details
Forum: ProBuilder: Indicators & Custom Tools
Language: English
Started: 04/06/2023
Status: Active
Attachments: 1 files
Logo Logo
Loading...