OPEN-SOURCE SCRIPT
Updated Becak I-series: Indicator Floating Panels v.80

Becak I-series: Floating Panels v.80th (Indonesia Independence Days)
What it does:
This indicator creates three floating overlay panels that display MACD, RSI, and Stochastic oscillators directly on your price chart. Unlike traditional separate panes, these panels hover over your chart with customizable positioning and transparency, providing a clean, space-efficient way to monitor multiple technical indicators simultaneously.
When to use:
How it works:
The script calculates standard MACD (12,26,9), RSI (14), and Stochastic (14,3,3) values, then renders them as floating panels with:
Customization options:
Universal compatibility: Works seamlessly across all asset types with automatic range detection and scaling.
DIRGAHAYU HARI KEMERDEKAAN KE 80 - INDONESIA ... MERDEKA!!!!!
What it does:
This indicator creates three floating overlay panels that display MACD, RSI, and Stochastic oscillators directly on your price chart. Unlike traditional separate panes, these panels hover over your chart with customizable positioning and transparency, providing a clean, space-efficient way to monitor multiple technical indicators simultaneously.
When to use:
- When you need to monitor momentum, trend strength, and overbought/oversold conditions without cluttering your workspace
- Perfect for traders who want quick visual access to multiple oscillators while maintaining focus on price action
- Ideal for any timeframe and asset class (stocks, crypto, forex, commodities)
How it works:
The script calculates standard MACD (12,26,9), RSI (14), and Stochastic (14,3,3) values, then renders them as floating panels with:
- MACD Panel: Shows MACD line (blue), Signal line (orange), and histogram (green/red bars)
- RSI Panel: Displays RSI line (purple) with overbought (70) and oversold (30) reference levels
- Stochastic Panel: Shows %K (blue) and %D (orange) lines with optional buy/sell signals and highlighted overbought/oversold zones
Customization options:
- Position: Choose Top, Bottom, or Auto-Center placement
- Size: Adjust panel height (15-35% of chart) and spacing between panels
- Positioning: Fine-tune vertical center offset and horizontal positioning
- Appearance: Toggle panel backgrounds and adjust transparency (50-95%)
- Parameters: Modify all indicator lengths and overbought/oversold levels
- Signals: Enable/disable Stochastic crossover signals
- Display: Control lookback period (30-100 bars) and right margin spacing
Universal compatibility: Works seamlessly across all asset types with automatic range detection and scaling.
DIRGAHAYU HARI KEMERDEKAAN KE 80 - INDONESIA ... MERDEKA!!!!!
Release Notes
What's Fixed:✅ Gray panel backgrounds - No more flickering, clean solid boxes
✅ Reference lines - Full-width horizontal lines matching your floating data
✅ Better cleanup - Proper deletion of old visual elements
✅ Stochastic signals - Fixed to only show once per crossover (no more spam)
Key Changes Made:
1. Better Array Cleanup
/ Properly clear all previous visual elements
// Clear lines
if array.size(a_macd_lines) > 0
for i = 0 to array.size(a_macd_lines) - 1 by 1
line.delete(array.get(a_macd_lines, i))
array.clear(a_macd_lines)
// Clear boxes
if array.size(a_macd_hist) > 0
for i = 0 to array.size(a_macd_hist) - 1 by 1
box.delete(array.get(a_macd_hist, i))
array.clear(a_macd_hist)
2. Fixed Panel Coordinates
// Calculate proper horizontal boundaries
panelWidth = 35 // Increased width
panelLeft = bar_index[barStart] + barIndexOffset - 3
panelRight = bar_index[barEnd - 1] + barIndexOffset + panelWidth
// Calculate the actual data drawing area (where indicators are drawn)
dataLeft = bar_index[barStart] + barIndexOffset
dataRight = bar_index[barEnd - 1] + barIndexOffset
3. Reference Lines Now Span Full Data Width
// MACD zero line - spans full data width
array.push(a_macd_lines, line.new(dataLeft, macdZeroLineLevel, dataRight, macdZeroLineLevel, xloc.bar_index, extend.none, color.new(color.white, 30), line.style_solid, 1))
// RSI lines - all span full data width
array.push(a_rsi_lines, line.new(dataLeft, rsi50Level, dataRight, rsi50Level, xloc.bar_index, extend.none, color.new(color.white, 30), line.style_solid, 1))
array.push(a_rsi_lines, line.new(dataLeft, rsiOverboughtLevel, dataRight, rsiOverboughtLevel, xloc.bar_index, extend.none, color.new(color.red, 40), line.style_dashed, 1))
4. Fixed Stochastic Signals
stochBuySignal = ta.crossover(stoch_k_smooth, stoch_d) and stoch_k_smooth < stochOversold and ta.barssince(ta.crossover(stoch_k_smooth, stoch_d)) == 0
stochSellSignal = ta.crossunder(stoch_k_smooth, stoch_d) and stoch_k_smooth > stochOverbought and ta.barssince(ta.crossunder(stoch_k_smooth, stoch_d)) == 0
Result:
Now we get clean gray boxes with proper horizontal grid lines that span the full width of your floating indicators - no more flickering or short lines!
J
Open-source script
In true TradingView spirit, the creator of this script has made it open-source, so that traders can review and verify its functionality. Kudos to the author! While you can use it for free, remember that republishing the code is subject to our House Rules.
Disclaimer
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.
Open-source script
In true TradingView spirit, the creator of this script has made it open-source, so that traders can review and verify its functionality. Kudos to the author! While you can use it for free, remember that republishing the code is subject to our House Rules.
Disclaimer
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.