IZAKI 0.618 TRADING ZONE
Advertisement

Modjoy-Intrabar Volume Distribution [BigBeluga]

Modjoy-Intrabar Volume Distribution [BigBeluga]

Modjoy-Intrabar Volume Distribution: Unveiling the Core Logic and Trading Strategy

The world of trading is replete with numerous strategies, each with its own set of advantages and limitations. Among the plethora of techniques, the Modjoy-Intrabar Volume Distribution, developed by BigBeluga, stands out for its unique approach to analyzing intrabar volume distribution. This method has garnered significant attention in the trading community, particularly among those who rely on volume analysis to make informed decisions. In this article, we will delve into the core logic behind the Modjoy-Intrabar Volume Distribution strategy and explore how traders can leverage it to enhance their trading performance.

Understanding the Core Logic

The Modjoy-Intrabar Volume Distribution strategy is built on the premise that intrabar volume distribution can provide valuable insights into market dynamics. The core logic revolves around the analysis of how volume is distributed within each bar, typically on a minute-by-minute basis. This approach is distinct from conventional volume analysis, which often focuses on the total volume traded during a specific period without considering the intrabar dynamics.

<p_BYBigBeluga's strategy involves categorizing the intrabar volume into several key zones, each representing a different phase of the trading activity. These zones include:

  • Initiation Zone: The initial phase of the bar where market participants start to show interest, and the first trades are executed.
  • Accumulation Zone: The phase where significant trading activity occurs, and larger market players begin to accumulate or distribute positions.
  • Distribution Zone: The area where market participants are actively selling or buying, leading to a potential reversal or continuation of the trend.
  • Exhaustion Zone: The final phase of the bar, characterized by reduced trading activity, indicating potential exhaustion of the current trend.

Trading Strategy

Armed with the insights gained from analyzing the intrabar volume distribution, traders can develop a comprehensive strategy to capitalize on the identified market dynamics. The Modjoy-Intrabar Volume Distribution strategy suggests the following key considerations for trading decisions:

  1. Trend Identification: By analyzing the volume distribution within each bar, traders can identify the underlying trend and the strength of market participation. A strong trend is typically accompanied by a significant volume in the accumulation or distribution zones.
  2. Reversal Detection: The strategy can help traders detect potential reversals by identifying exhaustion zones followed by a shift in volume distribution towards the initiation or accumulation zones, indicating a change in market sentiment.
  3. Entry and Exit Points: By understanding the intrabar volume dynamics, traders can pinpoint precise entry and exit points. For example, entering a long position during the accumulation zone of an uptrend or exiting a position as the market enters the exhaustion zone.
  4. Risk Management: The Modjoy-Intrabar Volume Distribution strategy also aids in risk management by helping traders assess the likelihood of a trend reversal or continuation, thus allowing for more informed decisions regarding position sizing and stop-loss placement.

Conclusion

The Modjoy-Intrabar Volume Distribution strategy, pioneered by BigBeluga, offers a unique perspective on market analysis by focusing on the intrabar volume distribution. By understanding the core logic behind this strategy and applying its principles, traders can refine their ability to read market dynamics, identify trends, detect reversals, and make more accurate trading decisions. As with any trading strategy, it is crucial to combine the Modjoy-Intrabar Volume Distribution approach with other forms of analysis and to continuously refine and adapt the strategy based on market feedback and performance.

<p_FOR traders looking to enhance their trading prowess, incorporating the Modjoy-Intrabar Volume Distribution strategy into their toolkit can provide a significant edge in navigating the complexities of financial markets. By leveraging the insights gained from this strategy, traders can develop a more nuanced understanding of market behavior and improve their overall trading performance.


Modjoy Exclusive Source Code:

MODJOY-INTRABAR VOLUME DISTRIBUTION [BIGBELUGA] SOURCE CODE
// This work is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International  

//@version=6
indicator("Modjoy-Intrabar Volume Distribution [BigBeluga]", shorttitle = "IVD [BigBeluga]", overlay=true, max_boxes_count = 500, max_lines_count = 500, max_labels_count = 500)


// INPUTS ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――{
lookback = input.int(20, minval = 5)
poc_d    = input.bool(true, "POC", inline = "poc")
poc_col = input.color(color.orange, "", inline = "poc")

lbl_size = input.string("Small", "Info Size", ["Normal", "Small", "Tiny", "Auto"])

col_up = input.color(color.teal, "", inline = "color")
col_dn = input.color(color.red, "", inline = "color")

// }


// Array to store box objects
var hl            = array.new_line(lookback)
var labels        = array.new_label(lookback)
var labels_b      = array.new_label(lookback)
var labels_s      = array.new_label(lookback)
var labels_p      = array.new_label(lookback)

var line_poc    = array.new_line(lookback)
var vol_bin     = array.new()

float  buyers     = 0
float sellers     = 0
float tot         = 0
float buy_per     = 0
float sell_per    = 0


// CALCULATIONS――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――{
time_ = timeframe.in_seconds("")/60
div = time_ <= 15 ? time_ : time_ >= 60 ? 30 : 20

// Warning 
if time_ <= 5 
    label.delete(label.new(bar_index+3, hl2, "Use Higher Timeframes from\n5 min", style = label.style_label_center, color = color.orange)[1])


array    req         = request.security_lower_tf('', str.tostring(int(time_/div)), volume)
array    price       = request.security_lower_tf('', str.tostring(int(time_/div)), close)

array    delta_sign  = request.security_lower_tf('', str.tostring(int(time_/div)), (close > open ? volume : -volume))

if delta_sign.size() > 0

    for i = 0 to delta_sign.size() - 1 

        value       = delta_sign.get(i)
        buyers      := buyers + (value > 0 ? value : 0)
        sellers     := sellers + (value < 0 ? -value : 0)
        tot         := buyers + sellers
        buy_per     := (buyers / tot) * 100
        sell_per    := (sellers / tot) * 100



// Clear existing objects on the first run
if barstate.islast and time_ >= 5 

    l_size = switch lbl_size
        "Normal" => size.normal
        "Small" => size.small
        "Tiny" => size.tiny
        => size.auto


    for i = 0 to lookback - 1
        line.delete(hl.get(i))
        label.delete(labels.get(i))
        label.delete(labels_b.get(i))
        label.delete(labels_s.get(i))
        label.delete(labels_p.get(i))
        line.delete(line_poc.get(i))
    
    for i = 0 to lookback - 1
        h = high[i]
        l = low[i]
        o = open[i]
        c = close[i]

        vol = req[i]
        pr = price[i]
        bot  = c > o ? o : c
        top  = c > o ? c : o
        step = (h - l) / 100  
        step1 = (top - bot) / 100 

        array.clear(vol_bin)

        for k = 0 to 99
            vol_bin.push(0.0)

        // Fill volume bins
        if vol.size() > 0
            for j = 0 to pr.size() - 1
                clos = pr.get(j)
                vol_ = vol.get(j)
                if clos >= l and clos <= h
                    bin_index = int(math.floor((clos - l) / step))
                    bin_index := math.min(bin_index, 99)  
                    vol_bin.set(bin_index, vol_bin.get(bin_index) + vol_)

        // Find POC
        max_vol = vol_bin.max()
        poc_index = vol_bin.indexof(max_vol)
        poc_price = l + step * poc_index

        // Plot POC level
        if poc_d
            array.set(line_poc, i,
                 line.new(
                         bar_index-i
                         , poc_price
                         , bar_index+1
                         , poc_price
                         , color = poc_col
                         , style = line.style_dashed
                         )
                 )

                 
        // Plot POC label
        if poc_d
            array.set(labels_p, i,
             label.new(
                 bar_index - i,
                 poc_price,
                 "--------",
                 color=color.new(color.red, 100),
                 textcolor=poc_col,
                 style=label.style_label_center,
                 size=size.auto
                 )
             )

        candle_col = c > o ? col_up : col_dn

        
        array.set(hl, i, 
                     line.new(
                               bar_index- i
                              , h
                              , bar_index-i
                              , l
                              , style = line.style_solid
                              , color = candle_col
                              )
                  )

        array.set(labels_b, i, 
                     label.new(
                                 bar_index - i
                                 , bot+step1*buy_per[i]
                                 , "      ══"
                                 , color = color.new(color.black,100)
                                 , force_overlay = true
                                 , style = label.style_label_center
                                 , size = size.auto
                                 , textcolor = col_up
                                 )
                     )


        array.set(labels_s, i, 
                     label.new(
                                 bar_index - i
                                 , bot+step1*sell_per[i]
                                 , "══      "
                                 , color = color.new(color.black,100)
                                 , force_overlay = true
                                 , style = label.style_label_center
                                 , size = size.auto
                                 , textcolor = col_dn
                                 )
                     )



        array.set(labels, i, 
                     label.new(
                                 bar_index - i
                                 , top
                                 , "Sᴇʟʟ" + "  " + "Bᴜʏ\n" + str.tostring(sell_per[i], "##") + "%" + "  " + str.tostring(math.round(buy_per[i]), "##") + "%" 
                                 , color = color.new(color.black,100)
                                 , force_overlay = true
                                 , style = label.style_label_down
                                 , size = l_size
                                 , textcolor = chart.fg_color
                                 )
                     )

        if poc_d
            for j = line_poc.size() -1 to 0 
                line_id = line_poc.get(j)
                level = line_id.get_y1()
                
                for s = lookback -1 to 0

                    if high[s] > level and low[s] < level and bar_index[s] > line_id.get_x1()
            
                        line.delete(line_id)

    // Start of the Period
    line.delete(line.new(bar_index-lookback,high[lookback], bar_index-lookback,high[lookback], extend = extend.both, color = color.gray)[1])
    label.delete(label.new(bar_index-lookback,high[lookback], ">", force_overlay = true, color = color.gray, style = label.style_label_center)[1])

plotcandle(open, high, low, close, title='Candles', color = chart.bg_color, bordercolor = close>open ? color.lime : color.red, show_last = lookback)

// }


⚠️ High Risk Warning

Trading Forex and Futures involves a very high degree of risk and may not be suitable for all investors. The high degree of leverage can result in the complete loss of your funds. These indicators are educational tools and do not guarantee profits. Please trade responsibly with capital you can afford to lose.