Converting a tradingview indicator to C trader

20 USD  Payment method:  Direct Payment

Can some one please assist with converting a tradingview indicator called ' ICT Fair Value Gap [LM] ' to C trader with output parameters so it can be used on a C bot. Please refer to this link below which provides more info about the indicator.

I want to use the indicator in a bot, in such a way that if it touches/close the green area the bot opens a Buy, and the opposite when it touches/close the red area.

I'll make the payment vis PayPal.

Here is the code:

indicator("ICT Fair Value Gap [LM]", "ICT FVG [LM]", overlay=true)

// atr settings
i_atrLength =, 'ATR MA length', group='general settings')
i_atrMultiplier = input.float(1.5, 'ATR multiplier', group='general settings')

// box settings
i_boxCount =, 'Box count', minval=1, group='box settings')
i_upCandleBoxColor = input.color(, 'Up candle box color', group='box settings')
i_downCandleBoxColor = input.color(, 'Down candle box color', group='box settings')
i_shrinkBoxes = input(false, 'Shrink where PA touches', group='box settings')

upBoxColor =, 70)
downBoxColor =, 70)

var boxArray = array.new_box()

f_isUpCandle(_index) =>
    open[_index] <= close[_index]

f_isFairValueGap() =>
    bool bearCondition = close[3] <= high[2] and close[1] <= close[2] and high < low[2]
    bool bullCondition = close[3] >= low[2] and close[1] >= close[2] and low > high[2]
    priceDiff = high[1] - low[1]
    atrValue = ta.atr(i_atrLength)
    bool middleCandleVolatilityCondition = priceDiff > atrValue * i_atrMultiplier
    bool isUpCandle = f_isUpCandle(1)
    bool isGapClosed = isUpCandle ? high[2] >= low : low[2] <= high
    [isGapClosed, bearCondition, bullCondition, middleCandleVolatilityCondition]

f_extendArray(_boxArray) =>
    if array.size(_boxArray) > 0
        for i = array.size(_boxArray) - 1 to 0 by 1
            boxToExtend = array.get(_boxArray, i)

            bottom = box.get_bottom(boxToExtend)
            top = box.get_top(boxToExtend)
            right = box.get_right(boxToExtend)
            box.set_right(array.get(_boxArray, i), bar_index)
            hasClosed = (open <= bottom and high > bottom and high >= top or open >= top and low < top and low <= bottom)

            if i_shrinkBoxes and open >= top and low < top and low > bottom
                box.set_top(array.get(_boxArray, i), low)

            if i_shrinkBoxes and open <= bottom and high > bottom and high < top
                box.set_bottom(array.get(_boxArray, i), high)
            if (hasClosed)
                alert('box has closed')

            if i_shrinkBoxes and hasClosed
                box.delete(array.get(_boxArray, i))
                array.remove(boxArray, i)

[isGapClosed, bearCondition, bullCondition, middleCandleVolatilityCondition] = f_isFairValueGap()

bool isFairValueGap = false
isFairValueGap := (bearCondition or bullCondition) and not isGapClosed and middleCandleVolatilityCondition and not isFairValueGap[1]

if isFairValueGap
    isUpCandle = f_isUpCandle(1)
    top = isUpCandle ? low : low[2]
    bottom = isUpCandle ? high[2] : high
    fvgBox =[1], top, bar_index, bottom, bgcolor=isUpCandle ? upBoxColor : downBoxColor, border_style=line.style_dashed, border_color=isUpCandle ? upBoxColor : downBoxColor, xloc=xloc.bar_index)
    if array.size(boxArray) >= i_boxCount
    array.push(boxArray, fvgBox)



Hi, I can do that for you.
with several years of experience in programming and forex analysis and trading.

Telegram: @iamjosepe