← К каталогу
Исходный код · ID 3987

indicator_bisi_sibi_fvg_+_order_blocks_+_ifvg_impulsive_candles.txt

Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Получить полный код

Поиск по коду файла

indicator("BISI/SIBI (FVG) + Order Blocks + iFVG Candle Coloring — Auto Stretch & Auto Delete", overlay=true, max_bars_back=5000)

generalSettings = "═══════ GENERAL SETTINGS ═══════"
lookbackBars = input.int(group=generalSettings, defval=250, title="Lookback Bars", minval=5, maxval=5000)
maxBoxes = input.int(group=generalSettings, defval=500, title="Max PD Arrays", minval=50, maxval=1000)

fvgSettings = "═══════ FVG SETTINGS ═══════"
showFvgs = input.bool(group=fvgSettings, defval=true, title="Show FVGs?")
stretchFvgs = input.bool(group=fvgSettings, defval=true, title="???? Stretch FVGs until filled?")
autoDeleteFvgs = input.bool(group=fvgSettings, defval=true, title="????️ Auto-delete when filled?")

fvgBullText = input.string(group=fvgSettings, defval="+FVG", title="BISI ↑", inline="+FVG")
fvgBullColor = input.color(group=fvgSettings, defval=color.rgb(119, 193, 253), title="", inline="+FVG")

fvgBearText = input.string(group=fvgSettings, defval="-FVG", title="SIBI ↓", inline="-FVG")
fvgBearColor = input.color(group=fvgSettings, defval=color.rgb(252, 188, 94), title="", inline="-FVG")

fvgBackgroundOpacity = input.int(group=fvgSettings, defval=90, title="Background Opacity", minval=0, maxval=100)
fvgTextOpacity = input.int(group=fvgSettings, defval=0, title="Text Opacity", minval=0, maxval=100)
showFvgBorders = input.bool(group=fvgSettings, defval=true, title="Show FVG borders?")

obSettings = "═══════ ORDER BLOCK SETTINGS ═══════"
showOBs = input.bool(group=obSettings, defval=true, title="Show Order Blocks?")
stretchOBs = input.bool(group=obSettings, defval=true, title="???? Stretch OBs until filled?")
autoDeleteOBs = input.bool(group=obSettings, defval=true, title="????️ Auto-delete when filled?")

obBullText = input.string(group=obSettings, defval="+OB", title="Order Block ↑", inline="+OB")
obBullColor = input.color(group=obSettings, defval=color.green, title="", inline="+OB")

obBearText = input.string(group=obSettings, defval="-OB", title="Order Block ↓", inline="-OB")
obBearColor = input.color(group=obSettings, defval=color.orange, title="", inline="-OB")

obBackgroundOpacity = input.int(group=obSettings, defval=85, title="Background Opacity", minval=0, maxval=100)
obTextOpacity = input.int(group=obSettings, defval=0, title="Text Opacity", minval=0, maxval=100)
showObBorders = input.bool(group=obSettings, defval=true, title="Show OB borders?")

ifvgSettings = "═══════ iFVG BAR COLORING ═══════"
enableBarColoring = input.bool(group=ifvgSettings, defval=true, title="Enable iFVG bar coloring?")
minPenetration = input.float(group=ifvgSettings, defval=0.2, title="Min penetration for iFVG", minval=0.0, maxval=1.0)
bullishBarColor = input.color(group=ifvgSettings, defval=color.rgb(119, 193, 253), title="Bullish bar color")
bearishBarColor = input.color(group=ifvgSettings, defval=color.rgb(252, 188, 94), title="Bearish bar color")

type fvg
    box boxObject
    float top
    float bottom
    bool filled
    int startCheck
    bool bullish

type orderBlock
    box boxObject
    float top
    float bottom
    bool filled
    int startCheck
    bool bullish

var fvg[] fvgs = array.new<fvg>()
var orderBlock[] orderBlocks = array.new<orderBlock>()

isBarInRange() =>
    bar_index >= bar_index - lookbackBars

drawFVGBoxes(inRange) =>
    bullFVG = inRange and low > high[2]
    bearFVG = inRange and high < low[2]

    if bullFVG or bearFVG
        topVal = bullFVG ? low : low[2]
        bottomVal = bullFVG ? high[2] : high
        colorFVG = bullFVG ? fvgBullColor : fvgBearColor
        textFVG = bullFVG ? fvgBullText : fvgBearText

        borderColorFVG = showFvgBorders ? color.new(colorFVG, 0) : color.new(colorFVG, 100)

        b = box.new(
             left=bar_index - 2,
             right=bar_index,
             top=topVal,
             bottom=bottomVal,
             bgcolor=color.new(colorFVG, fvgBackgroundOpacity),
             border_color=borderColorFVG,
             text=textFVG,
             text_color=color.new(colorFVG, fvgTextOpacity),
             text_size=size.tiny
         )

        if array.size(fvgs) >= maxBoxes
            old = array.shift(fvgs)
            box.delete(old.boxObject)

        array.push(fvgs, fvg.new(b, topVal, bottomVal, false, bar_index + 1, bullFVG))

resizeFVGBoxes(inRange) =>
    if array.size(fvgs) > 0
        for i = array.size(fvgs) - 1 to 0
            gap = array.get(fvgs, i)

            if

Показано первые 50% кода (символов: 6494)

Что вы получите после оплаты

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
649₽