Page 2132 of 2170

Re: MT4 Indicator requests and ideas

Posted: Thu May 22, 2025 5:04 pm
by Boluwatife06
Can someone help convert this indicator to MT5 version please!!!

Re: MT4 Indicator requests and ideas

Posted: Fri May 23, 2025 9:35 am
by kvak
Naughty 77 wrote: Thu May 22, 2025 4:09 pm Dear Kvak/Mr Tools

Thank you for considering it, i was hoping the G-Channel could be done in mt4 format as per request.


Best regards
Naughty 77
Hello, I am posted one version HERE
I think that is close to Mrtools version.

Re: MT4 Indicator requests and ideas

Posted: Fri May 23, 2025 5:37 pm
by pin12
Extreme Spike Indicator with Arrows

Dear Coders

Would it be possible to add the symbols and arrows that this other version has to the standard Extreme Spike indicator? I need the MQ4 source code please. If it's possible to add the buffers in the color section, that would be best.

Best Regards

Re: MT4 Indicator requests and ideas

Posted: Fri May 23, 2025 6:27 pm
by Naughty 77
Dear Kvak

Thank you very much, appreciated.

Regards
Naughty 77

Re: MT4 Indicator requests and ideas

Posted: Fri May 23, 2025 8:17 pm
by dannyntex
Dear Developers,

I hope this message finds you well.
I am reaching out to ask if anyone here would be interested in converting a powerful TradingView indicator, written in Pine Script, into an MT4-compatible version – both for personal use and to share with the wider trading community.

The indicator in question is called CISD (Change in State of Delivery). It is based on a concept from the Inner Circle Trader (ICT) methodology and is designed to detect early reversals or shifts in market structure. Unlike traditional market structure tools that often lag behind, the CISD indicator aims to provide an earlier signal based on the closing price relative to the open of key candles that initiated previous trends or liquidity sweeps.

Looking forward to hearing your thoughts, and thank you in advance for your time and contributions to the community!

TradingView Indicator: https://www.tradingview.com/script/Btus ... lerts-neo/

Code: Select all

//@version=6
indicator("CISD with Alerts [neo|]", "CISD neo|", overlay = true)

// User Inputs for Customization
bullishBreakColor = input.color(color.black, "Bull CISD", inline = "bup")
bearishBreakColor = input.color(color.black, "Bear CISD", inline = "bep")

bullStr = input.string("+CISD", " ", tooltip = "Text to be displayed next to the CISD level.", inline = "bup")
bearStr = input.string("-CISD", " ", tooltip = "Text to be displayed next to the CISD level.", inline = "bep")

bullishAlerts = input.bool(false, "Alert?", "When set up through Tradingview, the script will send an alert when price closes ABOVE the current '+CISD' level.", inline = "bup")
bearishAlerts = input.bool(false, "Alert?", "When set up through Tradingview, the script will send an alert when price closes ABOVE the current '-CISD' level.", inline = "bep")

lineWidth = input.int(1, "Line Width", minval=1, maxval=5)
lookAheadBars = input.int(5, "Line Extension Bars", minval=1, maxval = 5)
styleOption = input.string("Solid (─)", title="Line Style",
     options=["Solid (─)", "Dotted (┈)", "Dashed (╌)"])
keepLevels = input.bool(false, "Keep old CISD levels")

showTable = input(false, title="Enable stat table", group = "Table")
tablePosition = input.string(defval = "Top Right", title = "Table Position", 
  options=["Top Right", "Bottom Right", "Middle Right", "Bottom Center", "Middle Left"], group = "Table")

// Structure Definitions
type MarketStructure
    float topPrice
    float bottomPrice
    bool isBullish

type cisd
    line level
    label txt
    bool completed

lineStyle = styleOption == "Dotted (┈)" ? line.style_dotted :
     styleOption == "Dashed (╌)" ? line.style_dashed :
         line.style_solid

// Variable Declarations
var line lastTopLine = na
var line lastBottomLine = na
var MarketStructure currentStructure = MarketStructure.new(0, 0, false)

var cisdLevelsBu = array.new<cisd>()
var cisdLevelsBe = array.new<cisd>()

var bool isBullishPullback = false
var bool isBearishPullback = false

var float potentialTopPrice = na
var float potentialBottomPrice = na

var int bullishBreakIndex = na
var int bearishBreakIndex = na

var float bullishChangeLevel = na
var float bearishChangeLevel = na

var bool currentState = false

gettablePos(pos) =>
    switch pos
        "Top Right" => position.top_right
        "Bottom Right" => position.bottom_right
        "Middle Right" => position.middle_right
        "Bottom Center" => position.bottom_center
        "Middle Left" => position.bottom_left


// Pullback Detection
bearishPullbackDetected = close[1] > open[1]
bullishPullbackDetected = close[1] < open[1]

// Bearish Pullback Logic
if bearishPullbackDetected and not isBearishPullback
    isBearishPullback := true
    potentialTopPrice := open[1]
    bullishBreakIndex := bar_index[1]

// Bullish Pullback Logic
if bullishPullbackDetected and not isBullishPullback
    isBullishPullback := true
    potentialBottomPrice := open[1]
    bearishBreakIndex := bar_index[1]

// Update Potential Levels During Pullbacks
if isBullishPullback
    if open < potentialBottomPrice
        potentialBottomPrice := open
        bearishBreakIndex := bar_index
    if (close < open) and (open > potentialBottomPrice)
        potentialBottomPrice := open
        bearishBreakIndex := bar_index     

if isBearishPullback
    if open > potentialTopPrice
        potentialTopPrice := open
        bullishBreakIndex := bar_index
    if (close > open) and open < potentialTopPrice
        potentialTopPrice := open
        bullishBreakIndex := bar_index      

// Structure Updates - Bearish Break
if low < currentStructure.bottomPrice
    currentStructure.bottomPrice := low
    currentStructure.isBullish := false
    
    if isBearishPullback and (bar_index-bullishBreakIndex != 0)
        currentStructure.topPrice := math.max(high[bar_index-bullishBreakIndex],high[bar_index-bullishBreakIndex+1])
        isBearishPullback := false
        bearishLine = line.new(bullishBreakIndex, potentialTopPrice, bar_index + lookAheadBars, potentialTopPrice, color=bullishBreakColor, width=lineWidth, style = lineStyle)
        bearishLabel = label.new(bar_index + lookAheadBars, potentialTopPrice, bullStr, color=color.new(color.white,100), textcolor=bullishBreakColor, style=label.style_label_left, text_font_family = font.family_default, size = size.small, text_formatting = text.format_italic)

        b = cisd.new(bearishLine, bearishLabel, false)
        cisdLevelsBe.push(b)
    else if close[1] > open[1] and close < open
        currentStructure.topPrice := high[1]

        isBearishPullback := false
        bearishLine = line.new(bullishBreakIndex, potentialTopPrice, bar_index + lookAheadBars, potentialTopPrice, color=bullishBreakColor, width=lineWidth, style = lineStyle)
        bearishLabel = label.new(bar_index + lookAheadBars, potentialTopPrice, bullStr, color=color.new(color.white,100), textcolor=bullishBreakColor, style=label.style_label_left, text_font_family = font.family_default, size = size.small, text_formatting = text.format_italic)

        b = cisd.new(bearishLine, bearishLabel, false)
        cisdLevelsBe.push(b)

// Structure Updates - Bullish Break
if high > currentStructure.topPrice
    currentStructure.isBullish := true
    currentStructure.topPrice := high
    
    if isBullishPullback and (bar_index-bearishBreakIndex != 0)
        currentStructure.bottomPrice := math.min(low[bar_index-bearishBreakIndex],low[bar_index-bearishBreakIndex+1])
        isBullishPullback := false

        bullishLine = line.new(bearishBreakIndex, potentialBottomPrice, bar_index + lookAheadBars, potentialBottomPrice, color=bearishBreakColor, width=lineWidth, style = lineStyle)
        bullishLabel = label.new(bar_index + lookAheadBars, potentialBottomPrice, bearStr, color=color.new(color.white,100), textcolor=bearishBreakColor, style=label.style_label_left, text_font_family = font.family_default, size = size.small, text_formatting = text.format_italic)

        bu = cisd.new(bullishLine, bullishLabel, false)
        cisdLevelsBu.push(bu)
    else if close[1] < open[1] and close > open
        currentStructure.bottomPrice := low[1]

        isBullishPullback := false

        bullishLine = line.new(bearishBreakIndex, potentialBottomPrice, bar_index + lookAheadBars, potentialBottomPrice, color=bearishBreakColor, width=lineWidth, style = lineStyle)
        bullishLabel = label.new(bar_index + lookAheadBars, potentialBottomPrice, bearStr, color=color.new(color.white,100), textcolor=bearishBreakColor, style=label.style_label_left, text_font_family = font.family_default, size = size.small, text_formatting = text.format_italic)

        bu = cisd.new(bullishLine, bullishLabel, false)
        cisdLevelsBu.push(bu)


if array.size(cisdLevelsBu) > 1 and not keepLevels
    latest = array.shift(cisdLevelsBu)
    line.delete(latest.level)
    label.delete(latest.txt)

if array.size(cisdLevelsBe) > 1 and not keepLevels
    latest = array.shift(cisdLevelsBe)
    line.delete(latest.level)
    label.delete(latest.txt)

if array.size(cisdLevelsBu) >= 1
    latest = array.get(cisdLevelsBu,0)
    if not (close < latest.level.get_y2()) and not latest.completed
        line.set_x2(latest.level, bar_index+lookAheadBars)
        label.set_x(latest.txt, bar_index+lookAheadBars)
    if close < latest.level.get_y2() and not latest.completed
        latest.completed := true
        alert("Bearish CISD Formed")

        bearishLine = line.new(bullishBreakIndex, potentialTopPrice, bar_index + lookAheadBars, potentialTopPrice, color=bullishBreakColor, width=lineWidth, style = lineStyle)
        bearishLabel = label.new(bar_index + lookAheadBars, potentialTopPrice, bullStr, color=color.new(color.white,100), textcolor=bullishBreakColor, style=label.style_label_left, text_font_family = font.family_monospace, size = size.small, text_formatting = text.format_italic)

        b = cisd.new(bearishLine, bearishLabel, false)
        cisdLevelsBe.push(b)

        currentState := false


if array.size(cisdLevelsBe) >= 1 and not keepLevels
    latest = array.get(cisdLevelsBe,0)
    if not (close > latest.level.get_y2()) and not latest.completed
        line.set_x2(latest.level, bar_index+lookAheadBars)
        label.set_x(latest.txt, bar_index+lookAheadBars)
    if close > latest.level.get_y2() and not latest.completed
        latest.completed := true
        alert("Bullish CISD Formed")

        bullishLine = line.new(bearishBreakIndex, potentialBottomPrice, bar_index + lookAheadBars, potentialBottomPrice, color=bearishBreakColor, width=lineWidth, style = lineStyle)
        bullishLabel = label.new(bar_index + lookAheadBars, potentialBottomPrice, bearStr, color=color.new(color.white,100), textcolor=bearishBreakColor, style=label.style_label_left, text_font_family = font.family_monospace, size = size.small, text_formatting = text.format_italic)

        bu = cisd.new(bullishLine, bullishLabel, false)
        cisdLevelsBu.push(bu)

        currentState := true

if showTable and barstate.islast
    var tbl = table.new(gettablePos(tablePosition), 4, 4, bgcolor=chart.bg_color, border_color=chart.fg_color, frame_color = chart.fg_color, frame_width = 1, border_width = 1)
    table.cell(tbl, 0,0, syminfo.ticker+", "+timeframe.period+" neo|", text_size = size.tiny, text_color = chart.fg_color, text_font_family = font.family_monospace)
    table.cell(tbl, 0, 1, "Current State", text_color=chart.bg_color, text_size=size.small, text_font_family = font.family_monospace, text_formatting = text.format_bold, bgcolor = chart.fg_color)
    table.cell(tbl, 0, 2, currentState ? "Bullish" : "Bearish",  text_color=chart.fg_color, text_size=size.small, text_font_family = font.family_monospace, text_formatting = text.format_bold)

Re: MT4 Indicator requests and ideas

Posted: Sat May 24, 2025 4:12 am
by dakyo3111
I use this resource, it has the best indicators. Use it every day

Re: MT4 Indicator requests and ideas

Posted: Sat May 24, 2025 4:26 am
by wojtek
dakyo3111 wrote: Sat May 24, 2025 4:12 am I use this resource, it has the best indicators. Use it every day
Your file doesn't look good.
Be careful!

Re: MT4 Indicator requests and ideas

Posted: Sun May 25, 2025 2:14 am
by ruman
Narutopips wrote: Wed May 21, 2025 7:27 am is this a virus? why not display the content? why should it contain a link?
My apologies, i had no idea. and i dun remember writing that message either. If it caused any harm or duress, i apologise,.
The file must have gone thru when i mass posted the trading systems.

Re: MT4 Indicator requests and ideas

Posted: Sun May 25, 2025 4:21 am
by TEAMTRADER
Is it possible to code a manually drawn trendline that can be drawn under and over any indicator but specifically stochs and Rsi. When the trendline is broken by the Stochs or Rsi then it would simply send an alert to the user.
I've attached an auto trendline that can be used on the chart but that is not what is needed - if it could be adapted is why I have attached it.
If it is NOT possible, OR indeed it is very difficult, please just let me know.
Thanks
TEAMTRADER

Re: MT4 Indicator requests and ideas

Posted: Sun May 25, 2025 10:51 am
by andrei-1
TEAMTRADER wrote: Sun May 25, 2025 4:21 am
The indicator does not vacuum the indicator from the chart, it counts it inside itself. You need to synchronize the parameters.
If there is only one trend line or horizontal line on the chart, you don't have to come up with a name for it.
If there are many different sticks on the graph, then you need to come up with a unique name.
First, you need to apply a line, then load the indicator. He understands the direction himself.