Re: Smart Money Concept (SMC) indicators for MT4

252
Cagliostro wrote: Sat Aug 31, 2024 11:23 pm Imagine a trader able to be succesful as every youtuber claims to be. Instead of making videos, they would be trading full time. They earn money from selling trainings, mentoring and from video views. ICT / SnD / SMC, sometimes this stuff works, sometimes it does not.

A simple MACD crossover on a pullback in a well determined trend works 99% of the times.

Reality is rooted in simplicity, everything is a derivative element of price. If you want an honest advice, curiosity is always good, learning everything is great, but we don't have infinite time to become profitable. Focus on things that you can replicate scientifically, do your backtests, always.

+C+
Please can you share the strategy on macd cross over on a pull back
everyone is brain washed either by religion, weed, self-talking, alcohol even those who doubt the most are self brain washed

Re: Smart Money Concept (SMC) indicators for MT4

254
SijjiN wrote: Mon Feb 12, 2024 9:32 pm Ok good people, here it goes another GEM!

Use it wisely !!

Smart Market Structure Concepts MT4

ICT, SMC, SMART MONEY CONCEPTS, SMART MONEY, Smart Money Concept, Support and Resistance, Trend Analysis, Price Action, Market Structure, Order Blocks, BOS/CHoCH, Breaker Blocks, Momentum Shift, Supply&Demand Zone/Order Blocks, Strong Imbalance, HH/LL/HL/LH, Fair Value Gap, FVG, Premium & Discount Zones, Fibonacci Retracement, OTE, Buy Side Liquidity, Sell Side Liquidity, BSL/SSL Taken, Equal Highs & Lows, MTF Dashboard, Multiple Time Frame, BigBar, HTF OB, HTF Market Structure, Liquidity Voids, Long Wicks, Candle Timer, Fractals, ZigZag, Time Zone, Market Sessions, Asian Range, NY Midnight Open, NDOG, NWOG

This all-in-one indicator displays real-time market structure (internal & swing BOS / CHoCH), order blocks, premium & discount zones, equal highs & lows, FVGs, and much more...allowing traders to automatically mark up their charts with widely used price action methodologies.

"Smart Money Concepts/Smart Market Structure Concepts" ( SMC ) is a fairly new yet widely used term amongst price action traders looking to more accurately navigate liquidity & find more optimal points of interest in the market. Trying to determine where institutional market participants have orders placed (buy or sell side liquidity) can be a very reasonable approach to finding more practical entries & exits based on price action.

This indicator contains alerts for almost all price characteristics, which you can set freely.

Features

Full internal & swing market structure labeling in real-time
Break of Structure (BOS), Change of Character (CHoCH)
Support 3 types of Structure breakthrough options(Wick, Body, Two Candles)
Order Blocks ( bullish & bearish ) / Momentum shift (MS)
Order Blocks with Volume metrics
Swing Strong/Weak High/Low
Breaker Blocks labeling
Supply&Demand Zone/Order Blocks, Strong Imbalance detection
High Timeframe ability. BigBar, HTF-BOS HTF-CHoCH HTF-OB HTF-Swing High/Low.
Multi -Timeframe Dashboard (Optional for 4 Period)
Fractal Points
Fibonacci Retracement /Fibo OTE&Profit Target
BSL/SSL Taken Detect
Equal Highs & Lows
Fair Value Gap Detection,support high timeframe FVG display
Liquidity Voids
Previous Highs & Lows
Premium & Discount Zones as a range
Long Wicks detect
Market Time Zone
Asian Range , London Killzone, AM NY Killzone, PM NY Killzone
NY Midnight Open
NWOG/NDOG
Candle Timer
Alert for BOS CHoCH OB etc separately. Support setting to send Alert to mobile devices and Email.
Hello Brother. Good day for you. do you have any working order block indicator, this indicator is unable to open in mt4, thank you.


Re: Smart Money Concept (SMC) indicators for MT4

257
ICT Killzones

(on/off button)

This indicator is based on a TradingView indicator @

Code: Select all

https://www.tradingview.com/script/nW5oGfdO-ICT-Killzones-Pivots-TFO/
Best timeframe: M15 or higher
Best pair: Gold

New York morning killzone is: 9:30 AM - 11 AM (New York time)
New York lunch killzone is: noon - 1 PM (New York time)
New York afternoon killzone is: 1:30 PM - 4 PM (New York time)
These users thanked the author Banzai for the post (total 6):
Abdi, eduarescobar, 太虚一毫, RodrigoRT7, Krunal Gajjar, ParallelNative

Re: Smart Money Concept (SMC) indicators for MT4

258

Code: Select all

 _  ___   _ _____ _______  __         ____  __  __  ____ 
| |/ / | | | ____|  ___\ \/ /        / ___||  \/  |/ ___|
| ' /| | | |  _| | |_   \  /         \___ \| |\/| | |    
| . \| |_| | |___|  _|  /  \          ___) | |  | | |___ 
|_|\_\\___/|_____|_|   /_/\_\        |____/|_|  |_|\____|
This indicator is based on a TradingView indicator:

Code: Select all

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Kudakwashe Courage Masangudza

////////////////////////////////////////

// Commercial Use Protection Notice:
// This code is protected for commercial use. Any unauthorized reproduction, distribution, or modification
// of this code for commercial purposes is strictly prohibited and may result in legal actions.

// All rights reserved to @Kudakwashe
// Contacts: 
// Whatsapp : +263 774649453

////////////////////////////////////////

//@version=5
indicator("stracturre.x", "KUEFX SMC", true, 
 max_bars_back = 5000, max_labels_count = 500, max_lines_count = 500)

//#region variable declaration
var bool mnUp = na
var bool mnDn = na
float mnStrc = na
var top = high
var bot = low
var puUp = high
var puDn = low
var L = low
var H = high
var idmB = low
var idmS = high
var lastH = high
var lastL = low
var lastHH = high
var lastLL = low
//bar indexes
var int puUpbar = na
var int puDnbar = na
var int idmB_bar = na
var int idmS_bar = na
var int Hbar = bar_index
var int Lbar = bar_index
var int lastHbar = bar_index
var int lastLbar = bar_index
var int lastHHbar = bar_index
var int lastLLbar = bar_index
//structure confirmaions
lastHL = math.max(Hbar, Lbar)
var bool isBosUp = 0
var bool isBosDn = 0
var bool isCocUp = 1
var bool isCocDn = 1

//color
color transp = color.new(#59ff62, 5)

//drawing options
equalHL = input.bool(0,"Use equal H/L", "To calculate valid pullbacks and minor structure", group = "Calculation method")

showHL = input.bool(1, "Mark H/L", group = "H/L marking options")
HLcolor = input.color(color.rgb(0, 0, 0), "H/L color", group = "H/L marking options")

showMn = input.bool(0, "Mark out internal structure", group = "Internal structue")
puUpco = input.color(color.rgb(255, 82, 82)  , "High pivots", inline = "mnco", group = "Internal structue")
puDnco = input.color(color.green, "Low pivots" , inline = "mnco", group = "Internal structue")

showBC = input.bool(1, "Mark BoS/ChoCH", group = "BoS/Choch")
bull = input.color(color.green, "Bull color", inline = "BSclor" ,group = "BoS/Choch")
bear = input.color(color.red  , "Bear color", inline = "BSclor" ,group = "BoS/Choch")

showbarcolor = input.bool(0,"Bar color", group = "Bar color")
showSCOB = input.bool(1, "Show SCOB pattern", group = "Bar color")
scobUp = input.color(color.aqua   , "Bullish SCOB", inline = "scob" , group = "Bar color")
scobDn = input.color(color.fuchsia, "Bearish SCOB", inline = "scob" , group = "Bar color")

showIDM = input.bool(1,"Mark previous IDM", group = "IDM")
showliveIDM = input.bool(1,"Mark live IDM", group = "IDM")
idmColor = input.color(color.rgb(21, 6, 230), "IDM color", group = "IDM")
var label lv_lbl = na
var line lv_line = na

showSw = input.bool(1, "Show H/L sweeping lines", group = "H/L sweeps")
markX = input.bool(1, 'Mark "X"', group = "H/L sweeps")
swColor  = input.color(color.white, "Sweeping line color", group = "H/L sweeps")

//max line length
maxlen = bar_index - 500

//#endregion

//#region drawing functions
mnMark(bool UD) =>
    if showMn 
        label.new(
         x = UD ? puUpbar : puDnbar,
         y = UD ? puUp : puDn,
         yloc = UD ? yloc.abovebar : yloc.belowbar,
         text = "",
         color = UD ? puUpco : puDnco,
         style = UD ? label.style_arrowdown : label.style_arrowup,
         size = size.tiny
         )

BoS_ChoCh(bool B_C, bool UpDn) =>
    [HLbarid, BCprc, BCcolor, BCtxt, BCstyle] = switch
        B_C == 1 and UpDn == 1 => [lastHHbar, lastHH, bull, "BoS"  , label.style_label_down]
        B_C == 0 and UpDn == 1 => [lastHbar , lastH , bull, "ChoCh", label.style_label_down]
        B_C == 0 and UpDn == 0 => [lastLbar , lastL , bear, "ChoCh", label.style_label_up  ]
        B_C == 1 and UpDn == 0 => [lastLLbar, lastLL, bear, "BoS"  , label.style_label_up  ]
    HLbarid := HLbarid < maxlen ? maxlen : HLbarid
    if showBC
        line.new(HLbarid, BCprc, bar_index, BCprc, color = BCcolor, style = line.style_dashed)
        label.new(
         int( math.avg(bar_index,HLbarid) ), BCprc
          ,BCtxt
          ,color = transp
          ,style = BCstyle
          ,textcolor = BCcolor
          )

cfHL(bool ifHL) =>
    [ifHLbarid, HLprc] = switch
        ifHL => 
            if high > H
                [bar_index, high]
            else
                [Hbar, H]
        =>
            if low < L
                [bar_index, low]
            else
                [Lbar, L]
    ifHL_txt = if ifHL
        if H == lastHH
            "HH"
        else
            "LH"
    else
        if L == lastLL
            "LL"
        else
            "HL"
    cfHLStyle = ifHL ? label.style_label_down : label.style_label_up
    if showHL
        label.new(ifHLbarid,HLprc,ifHL_txt, color = transp, textcolor = HLcolor, style = cfHLStyle)

sweep(bool swHL, bool swHrLr) =>
    swStyle = swHL ? label.style_label_down : label.style_label_up
    [swHLbarid, swprc, swHL_txt] = switch
        swHL == 1 and swHrLr == 1 => [lastHHbar, lastHH, "HH"]
        swHL == 1 and swHrLr == 0 => [lastHbar , lastH , "LH"]
        swHL == 0 and swHrLr == 1 => [lastLbar , lastL , "HL"]
        swHL == 0 and swHrLr == 0 => [lastLLbar, lastLL, "LL"]
    swHLbarid := swHLbarid < maxlen ? maxlen : swHLbarid
    //draw sweeping line
    if showSw
        line.new(swHLbarid,swprc,bar_index,swprc,color = swColor,style = line.style_dotted)
        if markX
            label.new(int(math.avg(bar_index,swHLbarid)),swprc, "X", color = transp, textcolor = swColor, style = swStyle, size = size.small)

IDM(bool BS) =>
    IDMid = BS ? idmB_bar : idmS_bar
    idmprc = BS ? idmB : idmS
    idmStyle = BS ? label.style_label_up : label.style_label_down
    IDMid := IDMid < maxlen ? maxlen : IDMid
    //draw idm takeout line
    if showIDM
        line.new(IDMid,idmprc,bar_index,idmprc,color = idmColor,style = line.style_dotted)
        label.new(int(math.avg(bar_index,IDMid)),idmprc, "IDM", color = transp, textcolor = idmColor, style = idmStyle,size = size.small)
        
//Bar color
ba_color = if showSCOB
    if low[1] == puDn and low >= low[1] and close > high[1] and close[1] > low[2]
        scobUp
    else if high[1] == puUp and high <= high[1] and close < low[1] and close[1] < high[2]
        scobDn
    else if showbarcolor
        isCocUp?bull:bear
    else
        na
barcolor(ba_color,-1)
//#endregion

//#region structure mapping
//update IDM
if (high > H or (high == H and equalHL)) and low > idmB
    if low <= puDn
        idmB := low
        idmB_bar := bar_index
    else
        idmB := puDn
        idmB_bar := puDnbar
if (low < L or (low == L and equalHL)) and high < idmS
    if high >= puUp
        idmS := high
        idmS_bar := bar_index
    else
        idmS := puUp
        idmS_bar := puUpbar

//Check for IDM and ChoCh
if isCocUp and lastHL != Lbar
    if low < idmB
        if idmB != lastL
            IDM(1)
        isBosUp := 0
        lastH := H
        lastHbar := Hbar
        lastHH := H
        lastHHbar := Hbar
        cfHL(1)
        L := low
        Lbar := bar_index
else if lastH != lastHH and high > lastH
    cfHL(0)
    isCocDn := 0
    isBosDn := 0
    if close > lastH
        BoS_ChoCh(0,1)
        isCocUp := 1
    else
        sweep(1,0)

if isCocDn and lastHL != Hbar
    if high > idmS
        if idmS != lastH
            IDM(0)
        isBosDn := 0
        lastL := L
        lastLbar := Lbar
        lastLL := L
        lastLLbar := Lbar
        cfHL(0)
        H := high
        Hbar := bar_index
else if low < lastL and lastL != lastLL
    if close < lastL
        BoS_ChoCh(0,0)
        cfHL(1)
        isCocDn := 1
        isCocUp := 0
        isBosUp := 0
    else
        sweep(0,1)

//Check for BoS
if isBosUp == 0
    if high > lastHH
        if close > lastHH
            BoS_ChoCh(1,1)
            cfHL(0)
            lastL := L
            lastLbar := Lbar
            isCocUp := 1
            isBosUp := 1
            isCocDn := 0
            isBosDn := 0
        else
            sweep(1,1)
if isBosDn == 0
    if low < lastLL
        if close < lastLL
            BoS_ChoCh(1,0)
            cfHL(1)
            lastH := H
            lastHbar := Hbar
            isCocUp := 0
            isBosUp := 0
            isCocDn := 1
            isBosDn := 1
        else
            sweep(0,0)
//#endregion

//#region internal structure
if equalHL
    if high >= top        
        if low > bot
            mnDn :=0
        mnUp := 1
    if low <= bot
        if high < top
            mnUp := 0
        mnDn := 1
    if mnUp[1] and not mnUp
        mnMark(1)
    if mnDn[1] and not mnDn
        mnMark(0)
else
    if high > top        
        if low > bot
            mnDn :=0
        mnUp := 1
    if low < bot
        if high < top
            mnUp := 0
        mnDn := 1
    if mnUp[1] and not mnUp
        mnMark(1)
    if mnDn[1] and not mnDn
        mnMark(0)

if equalHL
    if high >= top
        puUp := high
        puUpbar := bar_index
    if low <= bot
        puDn := low
        puDnbar := bar_index
        top := high
        bot := low
    if high >= top
        top := high
        bot := low
else
    if high > top
        puUp := high
        puUpbar := bar_index
    if low < bot
        puDn := low
        puDnbar := bar_index
        top := high
        bot := low
    if high > top
        top := high
        bot := low        
//#endregion

//#region auto update High and Low vars
if high > H or (high == H and equalHL)
    H := high
    Hbar := bar_index
if high > idmS 
    idmS := high
    idmS_bar := bar_index
if high > lastH or (high == lastH and equalHL)
    lastH := high
    lastHbar := bar_index
if high > lastHH or (high == lastHH and equalHL)
    lastHH := high
    lastHHbar := bar_index

if low < L or (low == L and equalHL)
    L := low
    Lbar := bar_index
if low < idmB
    idmB := low
    idmB_bar := bar_index
if low < lastL or (low == lastL and equalHL)
    lastL := low
    lastLbar := bar_index
if low < lastLL or (low == lastLL and equalHL)
    lastLL := low
    lastLLbar := bar_index

//#endregion

//#region live IDM
if showliveIDM and barstate.islast
    [liveIDM, liveIDMbar] = if isCocUp and lastHL == Hbar
        [idmB, idmB_bar]
    else if isCocDn and lastHL == Lbar
        [idmS, idmS_bar]
    lv_line := line.new(liveIDMbar, liveIDM, bar_index + 20, liveIDM, color = idmColor, style = line.style_dotted),
    lv_lbl := label.new(bar_index + 20, liveIDM, "IDM", color = transp, textcolor = idmColor, style = isCocUp ? label.style_label_down : label.style_label_up, size = size.small)
else
    lv_line := na
    lv_lbl := na
line.delete(lv_line[1])
label.delete(lv_lbl[1])
//#endregion

//#region fixing bugs
// plot(H,"H")
// plot(lastH, "lastH")
// plot(lastHH, "lastHH")
// plot(idmS, "idmS")
// plot(puUp, "puUp")
// plot(L,"L")
// plot(lastL, "lastL")
// plot(lastLL, "lastLL")
// plot(idmB, "idmB")
// plot(puDn, "puDn")
//#endregion
In Smart Money Concepts (SMC), "IDM" stands for Inducement and refers to areas where price action is designed to lure retail traders into making poor trades, often by targeting liquidity pools before a significant price move.
Here's a more detailed explanation:

What is Inducement?
Inducement is a concept in SMC where price action is manipulated to create traps for retail traders, leading them to take positions at unfavorable levels.
Smart Money (large institutional traders) often use inducements to gather liquidity (stop-loss orders or pending orders) before initiating a large price move.
Identifying and understanding inducements is crucial for SMC traders to avoid being caught in these traps and to identify potential trading opportunities.

How Inducements Work:
Smart Money will push the price to a level where there's a high concentration of stop-loss orders or pending orders (liquidity pools).
This creates the illusion of a breakout or a continuation of the trend, enticing retail traders to enter trades.
Once the retail traders are in, Smart Money will reverse the price, taking out their positions and grabbing their liquidity.

Examples of Inducements:
A price pullback just above a resistance level, where retail traders might expect a breakout, but instead, the price reverses.
A price rally just below a support level, where retail traders might expect a continuation, but instead, the price reverses.

Importance of Inducement in SMC:
Understanding and identifying inducements is a key component of SMC trading strategies.
It helps traders avoid being caught in price traps and to identify potential areas where Smart Money might be accumulating or distributing.
By recognizing inducements, traders can make more informed decisions and potentially profit from the reversals that follow.
In the context of Smart Money Concepts (SMC) trading, "BOS" stands for Break of Structure, which signifies a price move beyond a previous level of support or resistance, potentially indicating a continuation of the prevailing trend.
Here's a more detailed explanation:

What it is:
A Break of Structure (BOS) occurs when the price action breaks through a significant swing high or swing low, suggesting that the trend might continue in the direction of the break.

Bullish BOS:
In an uptrend, a bullish BOS happens when the price breaks above a previous high, indicating that the bullish trend is likely to continue.

Bearish BOS:
In a downtrend, a bearish BOS occurs when the price breaks below a previous low, suggesting that the bearish trend is likely to continue.

Significance:
Identifying BOS can help traders determine the direction of the trend and make informed decisions based on market dynamics.

Context:
BOS is a fundamental concept in SMC and ICT (Institute of Currency Trading) trading methodologies, which focus on identifying the actions of "smart money" (institutions) in the market.

Other related concepts:
BOS is often used in conjunction with other SMC concepts like Change of Character (CHOCH), which indicates a potential trend reversal, and Order Blocks, which represent areas of significant institutional buying or selling.
These users thanked the author Banzai for the post (total 6):
ujtrader, DVanAssen, 88FX88, specialkey, ParallelNative, dmnik