PINE LIBRARY
Güncellendi BecakFloatingPanels

Library "BecakFloatingPanels"
Library for creating floating indicator panels with MACD, RSI, and Stochastic indicators
calculateMacd(source, fastLength, slowLength, signalLength)
Calculate MACD components
Parameters:
source (float): Price source for calculation
fastLength (simple int): Fast EMA period
slowLength (simple int): Slow EMA period
signalLength (simple int): Signal line period
Returns: MacdData MACD calculation results
calculateRsi(source, length)
Calculate RSI
Parameters:
source (float): Price source for calculation
length (simple int): RSI period
Returns: float RSI value
calculateStochastic(source, high, low, kLength, kSmoothing, dSmoothing)
Calculate Stochastic components
Parameters:
source (float): Price source for calculation
high (float): High prices
low (float): Low prices
kLength (int): %K period
kSmoothing (int): %K smoothing period
dSmoothing (int): %D smoothing period
Returns: StochData Stochastic calculation results
calculateStochSignals(stochK, stochD, overboughtLevel, oversoldLevel)
Calculate Stochastic signals
Parameters:
stochK (float): Stochastic %K series
stochD (float): Stochastic %D series
overboughtLevel (float): Overbought threshold
oversoldLevel (float): Oversold threshold
Returns: StochSignals Signal flags
calculateChartMetrics(high, low, lookbackLength)
Calculate chart range and positioning metrics
Parameters:
high (float): High prices
low (float): Low prices
lookbackLength (int): Lookback period
Returns: ChartMetrics Chart positioning data
calculateMacdRange(macdLine, signalLine, histogram, safeLookback)
Calculate MACD range for normalization
Parameters:
macdLine (float): MACD line series
signalLine (float): Signal line series
histogram (float): Histogram series
safeLookback (int): Lookback period
Returns: MacdRange MACD range metrics
initVisualArrays()
Initialize visual arrays
Returns: VisualArrays Container with initialized arrays
clearVisuals(visuals)
Clear all visual elements
Parameters:
visuals (VisualArrays): VisualArrays container
Returns: void
calculatePanelPositions(chartMetrics, oscPlacement, panelHeight, panelSpacing, centerOffset)
Calculate panel positions based on placement option
Parameters:
chartMetrics (ChartMetrics): Chart metrics object
oscPlacement (string): Panel placement option
panelHeight (float): Panel height percentage
panelSpacing (float): Panel spacing percentage
centerOffset (float): Center offset percentage
Returns: PanelPositions Panel boundary coordinates
createPanelBackgrounds(visuals, positions, panelLeft, panelRight, showBackground, transparency)
Create panel backgrounds
Parameters:
visuals (VisualArrays): VisualArrays container
positions (PanelPositions): PanelPositions object
panelLeft (int): Left boundary
panelRight (int): Right boundary
showBackground (bool): Show background flag
transparency (int): Background transparency
Returns: void
drawReferenceLines(visuals, positions, chartMetrics, macdRange, dataLeft, dataRight, panelHeight, rsiOverbought, rsiOversold, stochOverbought, stochOversold)
Draw reference lines for all panels
Parameters:
visuals (VisualArrays): VisualArrays container
positions (PanelPositions): PanelPositions object
chartMetrics (ChartMetrics): ChartMetrics object
macdRange (MacdRange): MacdRange object
dataLeft (int): Left data boundary
dataRight (int): Right data boundary
panelHeight (float): Panel height percentage
rsiOverbought (int): RSI overbought level
rsiOversold (int): RSI oversold level
stochOverbought (int): Stochastic overbought level
stochOversold (int): Stochastic oversold level
Returns: void
drawMacdIndicator(visuals, macdLine, signalLine, histogram, macdRange, positions, chartMetrics, barIndex, nextBarIndex, barIndexOffset, panelHeight)
Draw MACD indicator
Parameters:
visuals (VisualArrays): VisualArrays container
macdLine (float): MACD line series
signalLine (float): Signal line series
histogram (float): Histogram series
macdRange (MacdRange): MacdRange object
positions (PanelPositions): PanelPositions object
chartMetrics (ChartMetrics): ChartMetrics object
barIndex (int): Current bar index
nextBarIndex (int): Next bar index
barIndexOffset (int): Horizontal offset
panelHeight (float): Panel height percentage
Returns: void
drawRsiIndicator(visuals, rsiValue, positions, chartMetrics, barIndex, nextBarIndex, barIndexOffset, panelHeight)
Draw RSI indicator
Parameters:
visuals (VisualArrays): VisualArrays container
rsiValue (float): RSI value
positions (PanelPositions): PanelPositions object
chartMetrics (ChartMetrics): ChartMetrics object
barIndex (int): Current bar index
nextBarIndex (int): Next bar index
barIndexOffset (int): Horizontal offset
panelHeight (float): Panel height percentage
Returns: void
drawStochasticIndicator(visuals, stochK, stochD, positions, chartMetrics, barIndex, nextBarIndex, barIndexOffset, panelHeight, stochOverbought, stochOversold)
Draw Stochastic indicator
Parameters:
visuals (VisualArrays): VisualArrays container
stochK (float): Stochastic %K series
stochD (float): Stochastic %D series
positions (PanelPositions): PanelPositions object
chartMetrics (ChartMetrics): ChartMetrics object
barIndex (int): Current bar index
nextBarIndex (int): Next bar index
barIndexOffset (int): Horizontal offset
panelHeight (float): Panel height percentage
stochOverbought (int): Overbought level
stochOversold (int): Oversold level
Returns: void
addStochasticSignals(visuals, buySignal, sellSignal, positions, chartMetrics, currentBarIndex, barIndexOffset, panelHeight, signalIndex)
Add Stochastic buy/sell signals
Parameters:
visuals (VisualArrays): VisualArrays container
buySignal (bool): Buy signal series
sellSignal (bool): Sell signal series
positions (PanelPositions): PanelPositions object
chartMetrics (ChartMetrics): ChartMetrics object
currentBarIndex (int): Current bar index
barIndexOffset (int): Horizontal offset
panelHeight (float): Panel height percentage
signalIndex (int): Signal index for lookback
Returns: void
setPanelLabels(macdLabel, rsiLabel, stochLabel, positions, chartMetrics, labelOffset, panelHeight, barIndexOffset)
Set panel title labels
Parameters:
macdLabel (label): MACD label reference
rsiLabel (label): RSI label reference
stochLabel (label): Stochastic label reference
positions (PanelPositions): PanelPositions object
chartMetrics (ChartMetrics): ChartMetrics object
labelOffset (int): Label horizontal offset
panelHeight (float): Panel height percentage
barIndexOffset (int): Horizontal offset
Returns: void
showDebugInfo(chartMetrics, debugMode)
Display debug information
Parameters:
chartMetrics (ChartMetrics): ChartMetrics object
debugMode (bool): Debug mode flag
Returns: void
ChartMetrics
Chart metrics container
Fields:
visibleHigh (series float): Highest visible price
visibleLow (series float): Lowest visible price
chartRange (series float): Price range of chart
chartCenter (series float): Center point of chart
MacdData
MACD calculation results
Fields:
macdLine (series float): Main MACD line
signalLine (series float): Signal line
histogram (series float): MACD histogram
MacdRange
MACD range metrics for normalization
Fields:
highest (series float): Highest MACD value
lowest (series float): Lowest MACD value
BRange (series float): Total range
StochData
Stochastic calculation results
Fields:
k_smooth (series float): Smoothed %K line
d (series float): %D line
StochSignals
Stochastic signals
Fields:
buySignal (series bool): Buy signal flag
sellSignal (series bool): Sell signal flag
PanelPositions
Panel positioning data
Fields:
macdTop (series float): MACD panel top
macdBottom (series float): MACD panel bottom
rsiTop (series float): RSI panel top
rsiBottom (series float): RSI panel bottom
stochTop (series float): Stochastic panel top
stochBottom (series float): Stochastic panel bottom
VisualArrays
Visual elements arrays container
Fields:
macdLines (array<line>): Array of MACD lines
macdHist (array<box>): Array of MACD histogram boxes
rsiLines (array<line>): Array of RSI lines
stochLines (array<line>): Array of Stochastic lines
stochAreas (array<box>): Array of Stochastic areas
stochSignals (array<label>): Array of Stochastic signals
panelBackgrounds (array<box>): Array of panel backgrounds
Library for creating floating indicator panels with MACD, RSI, and Stochastic indicators
calculateMacd(source, fastLength, slowLength, signalLength)
Calculate MACD components
Parameters:
source (float): Price source for calculation
fastLength (simple int): Fast EMA period
slowLength (simple int): Slow EMA period
signalLength (simple int): Signal line period
Returns: MacdData MACD calculation results
calculateRsi(source, length)
Calculate RSI
Parameters:
source (float): Price source for calculation
length (simple int): RSI period
Returns: float RSI value
calculateStochastic(source, high, low, kLength, kSmoothing, dSmoothing)
Calculate Stochastic components
Parameters:
source (float): Price source for calculation
high (float): High prices
low (float): Low prices
kLength (int): %K period
kSmoothing (int): %K smoothing period
dSmoothing (int): %D smoothing period
Returns: StochData Stochastic calculation results
calculateStochSignals(stochK, stochD, overboughtLevel, oversoldLevel)
Calculate Stochastic signals
Parameters:
stochK (float): Stochastic %K series
stochD (float): Stochastic %D series
overboughtLevel (float): Overbought threshold
oversoldLevel (float): Oversold threshold
Returns: StochSignals Signal flags
calculateChartMetrics(high, low, lookbackLength)
Calculate chart range and positioning metrics
Parameters:
high (float): High prices
low (float): Low prices
lookbackLength (int): Lookback period
Returns: ChartMetrics Chart positioning data
calculateMacdRange(macdLine, signalLine, histogram, safeLookback)
Calculate MACD range for normalization
Parameters:
macdLine (float): MACD line series
signalLine (float): Signal line series
histogram (float): Histogram series
safeLookback (int): Lookback period
Returns: MacdRange MACD range metrics
initVisualArrays()
Initialize visual arrays
Returns: VisualArrays Container with initialized arrays
clearVisuals(visuals)
Clear all visual elements
Parameters:
visuals (VisualArrays): VisualArrays container
Returns: void
calculatePanelPositions(chartMetrics, oscPlacement, panelHeight, panelSpacing, centerOffset)
Calculate panel positions based on placement option
Parameters:
chartMetrics (ChartMetrics): Chart metrics object
oscPlacement (string): Panel placement option
panelHeight (float): Panel height percentage
panelSpacing (float): Panel spacing percentage
centerOffset (float): Center offset percentage
Returns: PanelPositions Panel boundary coordinates
createPanelBackgrounds(visuals, positions, panelLeft, panelRight, showBackground, transparency)
Create panel backgrounds
Parameters:
visuals (VisualArrays): VisualArrays container
positions (PanelPositions): PanelPositions object
panelLeft (int): Left boundary
panelRight (int): Right boundary
showBackground (bool): Show background flag
transparency (int): Background transparency
Returns: void
drawReferenceLines(visuals, positions, chartMetrics, macdRange, dataLeft, dataRight, panelHeight, rsiOverbought, rsiOversold, stochOverbought, stochOversold)
Draw reference lines for all panels
Parameters:
visuals (VisualArrays): VisualArrays container
positions (PanelPositions): PanelPositions object
chartMetrics (ChartMetrics): ChartMetrics object
macdRange (MacdRange): MacdRange object
dataLeft (int): Left data boundary
dataRight (int): Right data boundary
panelHeight (float): Panel height percentage
rsiOverbought (int): RSI overbought level
rsiOversold (int): RSI oversold level
stochOverbought (int): Stochastic overbought level
stochOversold (int): Stochastic oversold level
Returns: void
drawMacdIndicator(visuals, macdLine, signalLine, histogram, macdRange, positions, chartMetrics, barIndex, nextBarIndex, barIndexOffset, panelHeight)
Draw MACD indicator
Parameters:
visuals (VisualArrays): VisualArrays container
macdLine (float): MACD line series
signalLine (float): Signal line series
histogram (float): Histogram series
macdRange (MacdRange): MacdRange object
positions (PanelPositions): PanelPositions object
chartMetrics (ChartMetrics): ChartMetrics object
barIndex (int): Current bar index
nextBarIndex (int): Next bar index
barIndexOffset (int): Horizontal offset
panelHeight (float): Panel height percentage
Returns: void
drawRsiIndicator(visuals, rsiValue, positions, chartMetrics, barIndex, nextBarIndex, barIndexOffset, panelHeight)
Draw RSI indicator
Parameters:
visuals (VisualArrays): VisualArrays container
rsiValue (float): RSI value
positions (PanelPositions): PanelPositions object
chartMetrics (ChartMetrics): ChartMetrics object
barIndex (int): Current bar index
nextBarIndex (int): Next bar index
barIndexOffset (int): Horizontal offset
panelHeight (float): Panel height percentage
Returns: void
drawStochasticIndicator(visuals, stochK, stochD, positions, chartMetrics, barIndex, nextBarIndex, barIndexOffset, panelHeight, stochOverbought, stochOversold)
Draw Stochastic indicator
Parameters:
visuals (VisualArrays): VisualArrays container
stochK (float): Stochastic %K series
stochD (float): Stochastic %D series
positions (PanelPositions): PanelPositions object
chartMetrics (ChartMetrics): ChartMetrics object
barIndex (int): Current bar index
nextBarIndex (int): Next bar index
barIndexOffset (int): Horizontal offset
panelHeight (float): Panel height percentage
stochOverbought (int): Overbought level
stochOversold (int): Oversold level
Returns: void
addStochasticSignals(visuals, buySignal, sellSignal, positions, chartMetrics, currentBarIndex, barIndexOffset, panelHeight, signalIndex)
Add Stochastic buy/sell signals
Parameters:
visuals (VisualArrays): VisualArrays container
buySignal (bool): Buy signal series
sellSignal (bool): Sell signal series
positions (PanelPositions): PanelPositions object
chartMetrics (ChartMetrics): ChartMetrics object
currentBarIndex (int): Current bar index
barIndexOffset (int): Horizontal offset
panelHeight (float): Panel height percentage
signalIndex (int): Signal index for lookback
Returns: void
setPanelLabels(macdLabel, rsiLabel, stochLabel, positions, chartMetrics, labelOffset, panelHeight, barIndexOffset)
Set panel title labels
Parameters:
macdLabel (label): MACD label reference
rsiLabel (label): RSI label reference
stochLabel (label): Stochastic label reference
positions (PanelPositions): PanelPositions object
chartMetrics (ChartMetrics): ChartMetrics object
labelOffset (int): Label horizontal offset
panelHeight (float): Panel height percentage
barIndexOffset (int): Horizontal offset
Returns: void
showDebugInfo(chartMetrics, debugMode)
Display debug information
Parameters:
chartMetrics (ChartMetrics): ChartMetrics object
debugMode (bool): Debug mode flag
Returns: void
ChartMetrics
Chart metrics container
Fields:
visibleHigh (series float): Highest visible price
visibleLow (series float): Lowest visible price
chartRange (series float): Price range of chart
chartCenter (series float): Center point of chart
MacdData
MACD calculation results
Fields:
macdLine (series float): Main MACD line
signalLine (series float): Signal line
histogram (series float): MACD histogram
MacdRange
MACD range metrics for normalization
Fields:
highest (series float): Highest MACD value
lowest (series float): Lowest MACD value
BRange (series float): Total range
StochData
Stochastic calculation results
Fields:
k_smooth (series float): Smoothed %K line
d (series float): %D line
StochSignals
Stochastic signals
Fields:
buySignal (series bool): Buy signal flag
sellSignal (series bool): Sell signal flag
PanelPositions
Panel positioning data
Fields:
macdTop (series float): MACD panel top
macdBottom (series float): MACD panel bottom
rsiTop (series float): RSI panel top
rsiBottom (series float): RSI panel bottom
stochTop (series float): Stochastic panel top
stochBottom (series float): Stochastic panel bottom
VisualArrays
Visual elements arrays container
Fields:
macdLines (array<line>): Array of MACD lines
macdHist (array<box>): Array of MACD histogram boxes
rsiLines (array<line>): Array of RSI lines
stochLines (array<line>): Array of Stochastic lines
stochAreas (array<box>): Array of Stochastic areas
stochSignals (array<label>): Array of Stochastic signals
panelBackgrounds (array<box>): Array of panel backgrounds
Sürüm Notları
v2 change the chart to make it clearSürüm Notları
v3fixed the main issue with the indicator lines not showing properly. The problem was in how the bar indices were being calculated for drawing the lines.🔧 Key Fixes Made:
1. Bar Index Calculation:
Before:
pinescriptbar_index[barIndex] + barIndexOffset
After:
pinescriptbar_index - barIndex + barIndexOffset
2. What Was Wrong:
The original code was using bar_index[barIndex] which tries to get a historical value of bar_index itself
This was causing incorrect X-coordinates for the lines, making them not visible or positioned incorrectly
3. What's Fixed Now:
MACD Lines: Blue MACD line and orange signal line will now draw properly
RSI Line: Purple RSI line will show correctly in the middle panel
Stochastic Lines: Blue %K and orange %D lines will display properly
Histogram: MACD histogram bars will appear correctly
Signals: Buy/sell signals will be positioned correctly
🎯Fix Works:
The corrected formula bar_index - barIndex + barIndexOffset properly calculates the X-coordinate by:
Taking the current bar index (bar_index)
Subtracting the historical offset (barIndex)
Adding the positioning offset (barIndexOffset)
This ensures the lines are drawn at the correct horizontal positions within the floating panels.
✅ Expected Results:
MACD Panel: Clear blue and orange lines with histogram bars
RSI Panel: Smooth purple RSI line oscillating between 0-100
Stochastic Panel: Blue %K and orange %D lines with overbought/oversold areas
Pine kitaplığı
Gerçek TradingView ruhuyla, yazar bu Pine kodunu açık kaynaklı bir kütüphane olarak yayınladı, böylece topluluğumuzdaki diğer Pine programcıları onu yeniden kullanabilir. Yazara saygı! Bu kütüphaneyi özel olarak veya diğer açık kaynaklı yayınlarda kullanabilirsiniz, ancak bu kodun bir yayında yeniden kullanımı Site Kuralları tarafından yönetilmektedir.
Feragatname
Bilgiler ve yayınlar, TradingView tarafından sağlanan veya onaylanan finansal, yatırım, işlem veya diğer türden tavsiye veya tavsiyeler anlamına gelmez ve teşkil etmez. Kullanım Şartları'nda daha fazlasını okuyun.
Pine kitaplığı
Gerçek TradingView ruhuyla, yazar bu Pine kodunu açık kaynaklı bir kütüphane olarak yayınladı, böylece topluluğumuzdaki diğer Pine programcıları onu yeniden kullanabilir. Yazara saygı! Bu kütüphaneyi özel olarak veya diğer açık kaynaklı yayınlarda kullanabilirsiniz, ancak bu kodun bir yayında yeniden kullanımı Site Kuralları tarafından yönetilmektedir.
Feragatname
Bilgiler ve yayınlar, TradingView tarafından sağlanan veya onaylanan finansal, yatırım, işlem veya diğer türden tavsiye veya tavsiyeler anlamına gelmez ve teşkil etmez. Kullanım Şartları'nda daha fazlasını okuyun.