New Candle Alert with Time WindowJust needed a way to specify a time window on a timeframe and get alerts for each new candle
지표 및 전략
CCI + MACD Signal MTF (2nd-cross)This custom indicator combines the Commodity Channel Index (CCI) and the MACD to generate trading signals.
Basic signals (dots):
A green dot is plotted when CCI is above +100 and MACD is positive.
A red dot is plotted when CCI is below –100 and MACD is negative.
These dots help visualize momentum alignment between the two indicators.
Second-cross signals (text + alert):
The indicator also tracks cycles of the CCI.
When CCI first moves above +100 and later falls back below +100, this is counted as one completed cycle.
The next time CCI crosses back above +100 (the second cross), if MACD is still positive, a “BUY” label is plotted and a buy alert is triggered.
Conversely, when CCI first moves below –100 and later rises back above –100, that is one completed cycle.
The next time CCI crosses back below –100 (the second cross), if MACD is negative, a “SELL” label is plotted and a sell alert is triggered.
Alerts:
Alerts are only fired on the second-cross events (BUY or SELL), making them rarer but potentially more reliable than the basic dot conditions.
Timeframe flexibility:
Both the CCI and the MACD can be calculated on custom timeframes independently of the chart’s timeframe.
Fisher Transform Trend Navigator [QuantAlgo]🟢 Overview
The Fisher Transform Trend Navigator applies a logarithmic transformation to normalize price data into a Gaussian distribution, then combines this with volatility-adaptive thresholds to create a trend detection system. This mathematical approach helps traders identify high-probability trend changes and reversal points while filtering market noise in the ever-changing volatility conditions.
🟢 How It Works
The indicator's foundation begins with price normalization, where recent price action is scaled to a bounded range between -1 and +1:
highestHigh = ta.highest(priceSource, fisherPeriod)
lowestLow = ta.lowest(priceSource, fisherPeriod)
value1 = highestHigh != lowestLow ? 2 * (priceSource - lowestLow) / (highestHigh - lowestLow) - 1 : 0
value1 := math.max(-0.999, math.min(0.999, value1))
This normalized value then passes through the Fisher Transform calculation, which applies a logarithmic function to convert the data into a Gaussian normal distribution that naturally amplifies price extremes and turning points:
fisherTransform = 0.5 * math.log((1 + value1) / (1 - value1))
smoothedFisher = ta.ema(fisherTransform, fisherSmoothing)
The smoothed Fisher signal is then integrated with an exponential moving average to create a hybrid trend line that balances statistical precision with price-following behavior:
baseTrend = ta.ema(close, basePeriod)
fisherAdjustment = smoothedFisher * fisherSensitivity * close
fisherTrend = baseTrend + fisherAdjustment
To filter out false signals and adapt to market conditions, the system calculates dynamic threshold bands using volatility measurements:
dynamicRange = ta.atr(volatilityPeriod)
threshold = dynamicRange * volatilityMultiplier
upperThreshold = fisherTrend + threshold
lowerThreshold = fisherTrend - threshold
When price momentum pushes through these thresholds, the trend line locks onto the new level and maintains direction until the opposite threshold is breached:
if upperThreshold < trendLine
trendLine := upperThreshold
if lowerThreshold > trendLine
trendLine := lowerThreshold
🟢 Signal Interpretation
Bullish Candles (Green): indicate normalized price distribution favoring bulls with sustained buying momentum = Long/Buy opportunities
Bearish Candles (Red): indicate normalized price distribution favoring bears with sustained selling pressure = Short/Sell opportunities
Upper Band Zone: Area above middle level indicating statistically elevated trend strength with potential overbought conditions approaching mean reversion zones
Lower Band Zone: Area below middle level indicating statistically depressed trend strength with potential oversold conditions approaching mean reversion zones
Built-in Alert System: Automated notifications trigger when bullish or bearish states change, allowing you to act on significant developments without constantly monitoring the charts
Candle Coloring: Optional feature applies trend colors to price bars for visual consistency and clarity
Configuration Presets: Three parameter sets available - Default (balanced settings), Scalping (faster response with higher sensitivity), and Swing Trading (slower response with enhanced smoothing)
Color Customization: Four color schemes including Classic, Aqua, Cosmic, and Custom options for personalized chart aesthetics
Portfolio Simulator & BacktesterMulti-asset portfolio simulator with different metrics and ratios, DCA modeling, and rebalancing strategies.
Core Features
Portfolio Construction
Up to 5 assets with customizable weights (must total 100%)
Support for any tradable symbol: stocks, ETFs, crypto, indices, commodities
Real-time validation of allocations
Dollar Cost Averaging
Monthly or Quarterly contributions
Applies to both portfolio and benchmark for fair comparison
Model real-world investing behavior
Rebalancing
Four strategies: None, Monthly, Quarterly, Yearly
Automatic rebalancing to target weights
Transaction cost modeling (customizable fee %)
Key Metrics Table
CAGR: Annualized compound return (S&P 500 avg: ~10%)
Alpha: Excess return vs. benchmark (positive = outperformance)
Sharpe Ratio: Return per unit of risk (>1.0 is good, >2.0 excellent)
Sortino Ratio: Like Sharpe but only penalizes downside (better metric)
Calmar Ratio: CAGR / Max Drawdown (>1.0 good, >2.0 excellent)
Max Drawdown: Largest peak-to-trough decline
Win Rate: % of positive days (doesn't indicate profitability)
Visualization
Dual-chart comparison - Portfolio vs. Benchmark
Dollar or percentage view toggle
Customizable colors and line width
Two tables: Statistics + Asset Allocation
Adjustable table position and text size
🚀 Quick Start Guide
Enter 1-5 ticker symbols (e.g., SPY, QQQ, TLT, GLD, BTCUSD)
Make sure percentage weights total 100%
Choose date range (ensure chart shows full period - zoom out!)
Configure DCA and rebalancing (optional)
Select benchmark (default: SPX)
Analyze results in statistics table
💡 Pro Tips
Chart data matters: Load SPY or your longest-history asset as main chart
If you select an asset that was not available for the selected period, the chart will not show up! E.g. BTCUSD data: Only available from ~2017 onwards.
Transaction fees: 0.1% default (adjust to match your broker)
⚠️ Important Notes
Requires visible chart data (zoom out to show full date range)
Limited by each asset's historical data availability
Transaction fees and costs are modeled, but taxes/slippage are not
Past performance ≠ future results
Use for research and education only, not financial advice
Let me know if you have any suggestions to improve this simulator.
Smart Money Concept v1Smart Money Concept Indicator – Visual Interpretation Guide
What Happens When Liquidity Lines Are Broken
🟩 Green Line Broken (Buy-Side Liquidity Pool Swept)
- Indicates price has dipped below a previous swing low where sell stops are likely placed.
- Market Makers may be triggering these stops to accumulate long positions.
- Often followed by a bullish reversal.
- Trader Actions:
• Look for a bullish candle close after the sweep.
• Confirm with nearby Bullish Order Block or Fair Value Gap.
• Consider entering a Buy trade (SLH entry).
- If price continues falling: Indicates trend continuation and invalidation of the buy-side liquidity zone.
🟥 Red Line Broken (Sell-Side Liquidity Pool Swept)
- Indicates price has moved above a previous swing high where buy stops are likely placed.
- Market Makers may be triggering these stops to accumulate short positions.
- Often followed by a bearish reversal.
- Trader Actions:
• Look for a bearish candle close after the sweep.
• Confirm with nearby Bearish Order Block or Fair Value Gap.
• Consider entering a Sell trade (SLH entry).
- If price continues rising: Indicates trend continuation and invalidation of the sell-side liquidity zone.
Chart-Based Interpretation of Green Line Breaks
In the provided DOGE/USD 15-minute chart image:
- Green lines represent buy-side liquidity zones.
- If these lines are broken:
• It may be a stop hunt before a bullish continuation.
• Or a false Break of Structure (BOS) leading to deeper retracement.
- Confirmation is needed from candle structure and nearby OB/FVG zones.
Is the Pink Zone a Valid Bullish Order Block?
To validate the pink zone as a Bullish OB:
- It should be formed by a strong down-close candle followed by a bullish move.
- Price should have rallied from this zone previously.
- If price is now retesting it and showing bullish reaction, it confirms validity.
- If formed during low volume or price never rallied from it, it may not be valid.
Smart Money Concept - Liquidity Line Breaks Explained
This document explains how traders should interpret the breaking of green (buy-side) and red (sell-side) liquidity lines when using the Smart Money Concept indicator. These lines represent key liquidity pools where stop orders are likely placed.
🟩 Green Line Broken (Buy-Side Liquidity Pool Swept)
When the green line is broken, it indicates:
• - Price has dipped below a previous swing low where sell stops were likely placed.
• - Market Makers have triggered those stops to accumulate long positions.
• - This is often followed by a bullish reversal.
Trader Actions:
• - Look for a bullish candle close after the sweep.
• - Confirm with a nearby Bullish Order Block or Fair Value Gap.
• - Consider entering a Buy trade (SLH entry).
🟥 Red Line Broken (Sell-Side Liquidity Pool Swept)
When the red line is broken, it indicates:
• - Price has moved above a previous swing high where buy stops were likely placed.
• - Market Makers have triggered those stops to accumulate short positions.
• - This is often followed by a bearish reversal.
Trader Actions:
• - Look for a bearish candle close after the sweep.
• - Confirm with a nearby Bearish Order Block or Fair Value Gap.
• - Consider entering a Sell trade (SLH entry).
📌 Additional Notes
• - If price continues beyond the liquidity line without reversal, it may indicate a trend continuation rather than a stop hunt.
• - Always confirm with Higher Time Frame bias, Institutional Order Flow, and price reaction at the zone.
FEI: Futures Entry Identifier📘 FEI: Futures Entry Identifier
FEI is a modular, futures-grade entry engine designed for precision trading across GC1!, MNQ1!, ES1!, and related contracts. It combines manual SVP structure, CHoCH detection, and Colby-style candle strength filters to identify high-probability long and short entries.
🔧 Features
• Manual SVP inputs (VAH, VAL, POC)
• Symbol-aware filters for micro vs standard contracts
• Multi-timeframe signal logic (3m, 5m, 10m, 15m, 30m)
• CHoCH detection with optional engulfing filter (default off)
• FRVP entry zone plotting after CHoCH confirmation
• Candle coloring on CHoCH trigger
• Session-aware logic (ETH default, optional RTH-only)
• Narratable visuals and audit-safe alerts
🧭 How to Use
1. Input VAH, VAL, and POC manually
2. Select signal timeframe (e.g. 3m or 5m)
3. Watch for CHoCH (white candle = structural shift)
4. Entry line plots at top/bottom of recent range
5. Long/short markers appear when SVP + candle strength align
6. Toggle RTH-only mode if needed
🌟 Why It’s Unique
FEI is built for traders who demand clarity, structure, and precision. Every signal is narratable, audit-safe, and resolution-aware—ideal for futures overlays and sniper-grade entries.
Multi-Timeframe Trend Table - EMA Based Trend Analysis📊 Stay Aligned with Higher Timeframe Trends While Scalping
This powerful indicator displays real-time trend direction for 1-hour and 4-hour timeframes in a clean, easy-to-read table format. Perfect for traders who want to align their short-term trades with higher timeframe momentum.
🎯 Key Features
Multi-Timeframe Analysis: Monitor 1H and 4H trends while trading on any timeframe (3min, 5min, 15min, etc.)
EMA-Based Logic: Uses proven EMA 50 and EMA 100 crossover methodology
Visual Clarity: Color-coded table with green (uptrend) and red (downtrend) indicators
Customizable Display: Toggle EMA values and adjust table position
Real-Time Updates: Automatically refreshes with each bar close
Lightweight: Minimal resource usage with efficient data requests
📈 How It Works
The indicator determines trend direction using a simple but effective rule:
UPTREND: Price is above both EMA 50 AND EMA 100
DOWNTREND: Price is below either EMA 50 OR EMA 100
🔧 Settings
Show EMA Values: Display actual EMA 50/100 values in the table
Table Position: Choose from 4 corner positions (Top Right, Top Left, Bottom Right, Bottom Left)
Plot Current EMAs: Optional display of EMA lines on your current chart
💡 Trading Applications
✅ Trend Confirmation: Ensure your trades align with higher timeframe direction
✅ Risk Management: Avoid counter-trend trades in strong directional markets
✅ Entry Timing: Use lower timeframe for entries while respecting higher timeframe bias
✅ Scalping Enhancement: Perfect for 1-5 minute scalping with higher timeframe context
🎨 Visual Design
Clean, professional table design
Intuitive color coding (Green = Up, Red = Down)
Compact size that doesn't obstruct your chart
Clear typography for quick reading
📋 Perfect For
Day traders and scalpers
Swing traders seeking trend confirmation
Multi-timeframe analysis enthusiasts
Traders who want simple, effective trend identification
🚀 Easy Setup
Add to any chart (works on all timeframes)
Customize table position and settings
Start trading with higher timeframe awareness
Watch the table update automatically
No complex configurations needed - just add and trade!
This indicator is designed for educational and informational purposes. Always combine with proper risk management and your own analysis.
RWE (MASTER CƯỜNG BOSS)Tôi là một nhà giao dịch master, tôi muốn chia sẻ đến các bạn những chỉ báo tuyệt vời nhất
Bollinger Breakout MarkersSubtle triangle markers that indicate when price extends out of the Bollinger bands to indicate overbought and oversold conditions
Liquidity Spectrum Visualizer [BigBeluga] [Optimized]This version of Liquidity Spectrum Visualizer (© BigBeluga) has been optimized to improve execution speed and reduce script load times without altering the visual output or analytical logic of the original indicator. The key improvements focus on reducing computational complexity, eliminating redundant calculations, and minimizing expensive function calls within loops.
Core Optimization Changes
Single-Pass Volume Binning (O(N) instead of O(N×M))
Original: For each bin (100) the script iterated through every bar (lookback), resulting in ~20,000 operations.
Optimized: Each bar is processed once to directly calculate its bin index. This reduces the loop complexity from O(N×M) to O(N), where N = lookback.
Precomputed Min/Max Values
Original: array.min() and array.max() were repeatedly called inside loops, re-scanning arrays hundreds of times.
Optimized: Min and max are computed once before all calculations and reused, reducing computational overhead.
Reduced Label Creation
Original: Labels were created in every iteration, potentially hundreds of times per update — a very expensive operation in Pine.
Optimized: Only two labels are created for significant high and low levels, cutting down label calls by ~99%.
Efficient Resource Management
All boxes and lines are cleared once before re-rendering instead of being deleted individually inside nested loops.
Optional gradient rendering and POC drawing remain, but only after binning is complete.
Performance Evaluation
The most important change is the reduction of loop complexity — instead of performing around 20,000 iterations per update, the optimized version now processes only about 200. This reduces execution time and makes the indicator much lighter.
Function calls such as min() and max() are now calculated only once instead of hundreds of times, which removes unnecessary overhead. Likewise, label creation has been reduced from hundreds of labels per refresh to just two, further improving performance.
As a result, the average loading time of the indicator dropped from roughly 1.5–3 seconds to about 0.05–0.2 seconds on typical datasets.
自定义均线(多色 & 分级线宽)Title: Multi-Color Moving Average Suite (MA5…MA4320) — Pine v6
Summary (1–2 lines):
An overlay indicator that plots a full ladder of SMA lines from MA5 up to MA4320. Each MA has a unique color, and line width scales with period (short = thin, mid = medium, long = thick) to make trend structure easy to read at a glance.
What it does
• Plots 16 simple moving averages: 5, 10, 20, 30, 60, 120, 160, 240, 480, 720, 960, 1440, 1750, 2880, 4320.
• Distinct colors for every MA to avoid confusion when lines cluster.
• Period-based thickness:
• Short-term (<60) = thin,
• Mid-term (60–160) = medium,
• Long-term (≥240) = thick (capped; no unlimited growth).
• Designed for quick trend reading across intraday to multi-year cycles (especially useful for 24/7 markets like crypto).
How to use
1. Add the indicator to any chart (works on all symbols/timeframes).
2. Use the thin/medium/thick visual hierarchy to identify short-/mid-/long-term bias and crossovers.
3. On very low timeframes, consider hiding some ultra-long MAs if your chart has insufficient history.
Notes
• Built with Pine Script v6; uses ta.sma(close, length) only (no repainting).
• Very long MAs (e.g., 2880/4320) require enough bars; they will display na until sufficient history loads.
• No inputs/alerts by default—kept intentionally simple for clarity. (Easy to extend with toggles, custom colors, EMA/WMA options, alerts, etc.)
Credits
Author: TraderFinsher (customized multi-MA visualization with color and thickness hierarchy).
⸻
标题: 多色均线系统(MA5…MA4320)— Pine v6
摘要(1–2 句):
这是一个叠加在价格上的 SMA 均线组,从 MA5 到 MA4320。为每条均线设置了 独立颜色,并按 周期长度分级线宽(短=细、中=中等、长=较粗),让趋势结构一眼可读。
功能说明
• 绘制 16 条简单移动平均线:5、10、20、30、60、120、160、240、480、720、960、1440、1750、2880、4320。
• 全部不同颜色,避免密集时混淆。
• 线宽随周期分级:
• 短期(<60)= 细,
• 中期(60–160)= 中等,
• 长期(≥240)= 粗(封顶,不再无限加粗)。
• 适合从日内到多年周期的 趋势快速判读(对加密等 24/7 市场尤为友好)。
使用建议
1. 将指标添加到任意品种/周期。
2. 结合细/中/粗的视觉层级,判断短/中/长趋势与均线交叉。
3. 在较低周期下,如果历史数据不足,可隐藏部分超长均线。
注意事项
• 使用 Pine v6,仅调用 ta.sma(close, length),不重绘。
• 超长均线需要足够历史数据,未满足前会显示 na。
• 默认不含参数和告警,追求简洁清晰(后续可扩展开关、自定义颜色/线宽、EMA/WMA 选项与告警等)。
致谢
作者:TraderFinsher(基于颜色与线宽层级的多均线可视化)。
KAPITAS TBR 12am-8:30measures the range between 12am(true day open)-8:30am and has % levels where price is sensitive and likely to reverse
MA Crossover BIFTY BNF with Broker Inputs//@version=6
strategy("MA Crossover with Broker Inputs", overlay=true, margin_long=100, margin_short=100, process_orders_on_close=true)
// === BROKER & ORDER SETTINGS ===
broker = input.string("Dhan", title="Broker", options= )
orderType = input.string("MKT", title="Order Type", options= )
clientID = input.string("", title="Client ID (Optional)")
secretKey = input.string("", title="Secret Key (from JSON)")
// === INSTRUMENT SELECTION ===
instrument = input.string("BANKNIFTY", title="Select Instrument", options= )
expiryMode = input.string("Auto", title="Expiry Mode", options= )
manualExpiry = input.string("17Dec2025", title="Manual Expiry Date (if Manual Mode)")
optionType = input.string("CE", title="Option Type", options= )
strikeSel = input.string("ATM", title="Strike Selection", options= )
// === RISK MANAGEMENT ===
stopLossPts = input.int(50, title="Stop Loss (points)")
takeProfitPts = input.int(100, title="Take Profit (points)")
// === STRATEGY LOGIC: Moving Average Crossover ===
fastLength = input.int(9, title="Fast MA Length")
slowLength = input.int(18, title="Slow MA Length")
price = close
maFast = ta.sma(price, fastLength)
maSlow = ta.sma(price, slowLength)
// Crossover Long
if (ta.crossover(maFast, maSlow))
strategy.entry("Long", strategy.long, comment="MA Crossover Long")
// Crossunder Short
if (ta.crossunder(maFast, maSlow))
strategy.entry("Short", strategy.short, comment="MA Crossover Short")
// Apply SL and TP
strategy.exit("Exit Long", from_entry="Long", stop=close - stopLossPts, limit=close + takeProfitPts)
strategy.exit("Exit Short", from_entry="Short", stop=close + stopLossPts, limit=close - takeProfitPts)
// === PLOTS ===
plot(maFast, color=color.green, title="Fast MA")
plot(maSlow, color=color.red, title="Slow MA")
mZigzagLibrary "mZigzag"
Matrix implementation of zigzag to allow further possibilities.
Main advantage of this library over previous zigzag methods is that you can attach any number of indicator/oscillator information to zigzag
calculate(length, ohlc, indicatorHigh, indicatorLow, numberOfPivots, supertrendLength)
calculates zigzag and related information
Parameters:
length (simple int) : is zigzag length
ohlc (array) : array of OHLC values to be used for zigzag calculation
indicatorHigh (array) : Array of indicator values calculated based on high price of OHLC
indicatorLow (array) : Array of indicators values calculated based on low price of OHLC
numberOfPivots (simple int) : Number of pivots to be returned
supertrendLength (simple int) : is number of pivot history to calculate supertrend
Returns: valueMatrix Matrix containing zigzag pivots for price and indicators
directionMatrix Matrix containing direction of price and indicator values at pivots
ratioMatrix Matrix containing ratios of price and indicator values at pivots
divergenceMatrix matrix containing divergence details for each indicators
doubleDivergenceMatrix matrix containing double divergence details for each indicators
barArray Array containing pivot bars
supertrendDir is direction of zigzag based supertrend
supertrend is supertrend value of zigzag based supertrend
newZG is true if a new pivot is added to array
doubleZG is true if last calculation returned two new pivots (Happens on extreme price change)
calculateplain(length, ohlc, indicatorHigh, indicatorLow, numberOfPivots, offset)
calculates zigzag and related information uses shift/unshift rather than pop and push. Also does not calculate divergence and ratios.
Parameters:
length (simple int) : is zigzag length
ohlc (array) : array of OHLC values to be used for zigzag calculation
indicatorHigh (array) : Array of indicator values calculated based on high price of OHLC
indicatorLow (array) : Array of indicators values calculated based on low price of OHLC
numberOfPivots (simple int) : Number of pivots to be returned
offset (simple int)
Returns: valueMatrix Matrix containing zigzag pivots for price and indicators
directionArray Matrix containing direction of price and indicator values at pivots
barArray Array containing pivot bars
newZG is true if a new pivot is added to array
doubleZG is true if last calculation returned two new pivots (Happens on extreme price change)
draw(valueMatrix, directionMatrix, ratioMatrix, divergenceMatrix, doubleDivergenceMatrix, barArray, newZG, doubleZG, indicatorLabels, lineColor, lineWidth, lineStyle, showLabel, showIndicators)
draws zigzag and related information based on preprocessed values
Parameters:
valueMatrix (matrix) : is matrix containing values of price and indicators
directionMatrix (matrix) : is matrix containing direction of price and indicators
ratioMatrix (matrix) : is matrix containing retracement ratios of price and indicators
divergenceMatrix (matrix)
doubleDivergenceMatrix (matrix)
barArray (array) : is array of pivot bars
newZG (bool) : is bool which tells whether new zigzag pivot is formed or not
doubleZG (bool) : is bool which teels us if the bar has both high and low zigzag
indicatorLabels (array)
lineColor (color) : zigzag line color. set to blue by default
lineWidth (int) : zigzag line width. set to 1 by default
lineStyle (string) : zigzag line style. set to line.style_solid by default
showLabel (bool) : Show pivot label
showIndicators (bool) : Include indicators in labels. If set to false, indicators are shown as tooltips
Returns: valueMatrix Matrix containing zigzag pivots for price and indicators
directionMatrix Matrix containing direction of price and indicator values at pivots
ratioMatrix Matrix containing ratios of price and indicator values at pivots
divergenceMatrix matrix containing divergence details for each indicators
doubleDivergenceMatrix matrix containing double divergence details for each indicators
barArray Array containing pivot bars
zigzaglines array of zigzag lines
zigzaglabels array of zigzag labels
draw(length, ohlc, indicatorLabels, indicatorHigh, indicatorLow, numberOfPivots, lineColor, lineWidth, lineStyle, showLabel, showIndicators)
draws zigzag and related information
Parameters:
length (simple int) : is zigzag length
ohlc (array) : array of OHLC values to be used for zigzag calculation
indicatorLabels (array) : Array of name of indicators passed
indicatorHigh (array) : Array of indicator values calculated based on high price of OHLC
indicatorLow (array) : Array of indicators values calculated based on low price of OHLC
numberOfPivots (simple int) : Number of pivots to be returned
lineColor (color) : zigzag line color. set to blue by default
lineWidth (int) : zigzag line width. set to 1 by default
lineStyle (string) : zigzag line style. set to line.style_solid by default
showLabel (bool) : Show pivot label
showIndicators (bool) : Include indicators in labels. If set to false, indicators are shown as tooltips
Returns: valueMatrix Matrix containing zigzag pivots for price and indicators
directionMatrix Matrix containing direction of price and indicator values at pivots
ratioMatrix Matrix containing ratios of price and indicator values at pivots
divergenceMatrix matrix containing divergence details for each indicators
doubleDivergenceMatrix matrix containing double divergence details for each indicators
barArray Array containing pivot bars
zigzaglines array of zigzag lines
zigzaglabels array of zigzag labels
AIO Entry Size CalculatorThis indicator is designed to help traders dynamically adjust their position size and drawdown expectations when their trading capital changes.
By entering your original backtest parameters — including base capital, base drawdown percentage, and base position size — along with your current capital, the script calculates two key scenarios:
Lock Drawdown %: Keeps the original drawdown percentage unchanged and calculates the new position size required.
Lock Position Size: Keeps the original position size unchanged and shows how your drawdown percentage will change.
The results are displayed in a clear, color-coded table, allowing you to instantly see how capital fluctuations affect your risk profile.
With customizable themes (dark/light) and highlight options, it’s an essential tool for risk management, portfolio rebalancing, and position sizing decisions based on real backtest data.
Additionally, this indicator is highly useful when combined with TradingView strategies — helping you interpret backtest results more accurately and translate them into real-world position sizing adjustments as your account balance evolves.
supertrendLibrary "supertrend"
supertrend : Library dedicated to different variations of supertrend
supertrend_atr(length, multiplier, atrMaType, source, highSource, lowSource, waitForClose, delayed)
supertrend_atr: Simple supertrend based on atr but also takes into consideration of custom MA Type, sources
Parameters:
length (simple int) : : ATR Length
multiplier (simple float) : : ATR Multiplier
atrMaType (simple string) : : Moving Average type for ATR calculation. This can be sma, ema, hma, rma, wma, vwma, swma
source (float) : : Default is close. Can Chose custom source
highSource (float) : : Default is high. Can also use close price for both high and low source
lowSource (float) : : Default is low. Can also use close price for both high and low source
waitForClose (simple bool) : : Considers source for direction change crossover if checked. Else, uses highSource and lowSource.
delayed (simple bool) : : if set to true lags supertrend atr stop based on target levels.
Returns: dir : Supertrend direction
supertrend : BuyStop if direction is 1 else SellStop
supertrend_bands(bandType, maType, length, multiplier, source, highSource, lowSource, waitForClose, useTrueRange, useAlternateSource, alternateSource, sticky)
supertrend_bands: Simple supertrend based on atr but also takes into consideration of custom MA Type, sources
Parameters:
bandType (simple string) : : Type of band used - can be bb, kc or dc
maType (simple string) : : Moving Average type for Bands. This can be sma, ema, hma, rma, wma, vwma, swma
length (simple int) : : Band Length
multiplier (float) : : Std deviation or ATR multiplier for Bollinger Bands and Keltner Channel
source (float) : : Default is close. Can Chose custom source
highSource (float) : : Default is high. Can also use close price for both high and low source
lowSource (float) : : Default is low. Can also use close price for both high and low source
waitForClose (simple bool) : : Considers source for direction change crossover if checked. Else, uses highSource and lowSource.
useTrueRange (simple bool) : : Used for Keltner channel. If set to false, then high-low is used as range instead of true range
useAlternateSource (simple bool) : - Custom source is used for Donchian Chanbel only if useAlternateSource is set to true
alternateSource (float) : - Custom source for Donchian channel
sticky (simple bool) : : if set to true borders change only when price is beyond borders.
Returns: dir : Supertrend direction
supertrend : BuyStop if direction is 1 else SellStop
supertrend_zigzag(length, history, useAlternativeSource, alternativeSource, source, highSource, lowSource, waitForClose, atrlength, multiplier, atrMaType)
supertrend_zigzag: Zigzag pivot based supertrend
Parameters:
length (simple int) : : Zigzag Length
history (simple int) : : number of historical pivots to consider
useAlternativeSource (simple bool)
alternativeSource (float)
source (float) : : Default is close. Can Chose custom source
highSource (float) : : Default is high. Can also use close price for both high and low source
lowSource (float) : : Default is low. Can also use close price for both high and low source
waitForClose (simple bool) : : Considers source for direction change crossover if checked. Else, uses highSource and lowSource.
atrlength (simple int) : : ATR Length
multiplier (simple float) : : ATR Multiplier
atrMaType (simple string) : : Moving Average type for ATR calculation. This can be sma, ema, hma, rma, wma, vwma, swma
Returns: dir : Supertrend direction
supertrend : BuyStop if direction is 1 else SellStop
zupertrend(length, history, useAlternativeSource, alternativeSource, source, highSource, lowSource, waitForClose, atrlength, multiplier, atrMaType)
zupertrend: Zigzag pivot based supertrend
Parameters:
length (simple int) : : Zigzag Length
history (simple int) : : number of historical pivots to consider
useAlternativeSource (simple bool)
alternativeSource (float)
source (float) : : Default is close. Can Chose custom source
highSource (float) : : Default is high. Can also use close price for both high and low source
lowSource (float) : : Default is low. Can also use close price for both high and low source
waitForClose (simple bool) : : Considers source for direction change crossover if checked. Else, uses highSource and lowSource.
atrlength (simple int) : : ATR Length
multiplier (simple float) : : ATR Multiplier
atrMaType (simple string) : : Moving Average type for ATR calculation. This can be sma, ema, hma, rma, wma, vwma, swma
Returns: dir : Supertrend direction
supertrend : BuyStop if direction is 1 else SellStop
zsupertrend(zigzagpivots, history, source, highSource, lowSource, waitForClose, atrMaType, atrlength, multiplier)
zsupertrend: Same as zigzag supertrend. But, works on already calculated array rather than Calculating fresh zigzag
Parameters:
zigzagpivots (array) : : Precalculated zigzag pivots
history (simple int) : : number of historical pivots to consider
source (float) : : Default is close. Can Chose custom source
highSource (float) : : Default is high. Can also use close price for both high and low source
lowSource (float) : : Default is low. Can also use close price for both high and low source
waitForClose (simple bool) : : Considers source for direction change crossover if checked. Else, uses highSource and lowSource.
atrMaType (simple string) : : Moving Average type for ATR calculation. This can be sma, ema, hma, rma, wma, vwma, swma
atrlength (simple int) : : ATR Length
multiplier (simple float) : : ATR Multiplier
Returns: dir : Supertrend direction
supertrend : BuyStop if direction is 1 else SellStop
msupertrend(bandType, source, maType, length, useTrueRange, highSource, lowSource, waitForClose, numberOfBands, multiplierStart, multiplierStep, trailingDistance, trailStates)
msupertrend : Dynamic trailing supertrend based on multiple bands - either bollinger bands or keltener channel
Parameters:
bandType (simple string) : : Band type - can be either bb or kc
source (float) : : custom source if required
maType (simple string) : : Moving Average Type : Can be sma, ema, hma, rma, wma, vwma, swma, highlow, linreg, median
length (simple int) : : Oscillator length - not used for TSI
useTrueRange (simple bool) : : if set to false, uses high-low.
highSource (float) : : Default is high. Can also use close price for both high and low source
lowSource (float) : : Default is low. Can also use close price for both high and low source
waitForClose (simple bool) : : Considers source for direction change crossover if checked. Else, uses highSource and lowSource.
numberOfBands (simple int) : : Number of bands to generate
multiplierStart (simple float) : : Starting ATR or Standard deviation multiplier for first band
multiplierStep (simple float) : : Incremental value for multiplier for each band
trailingDistance (simple int) : : Number of band states to trail for trailing stop.
trailStates (simple bool) : : If selected trails the band states along with trailing price. If unselected only price is trailed.
Returns: dir : Supertrend direction
supertrend : BuyStop if direction is 1 else SellStop
KAPITAS CBDR# PO3 Mean Reversion Standard Deviation Bands - Pro Edition
## 📊 Professional-Grade Mean Reversion System for MES Futures
Transform your futures trading with this institutional-quality mean reversion system based on standard deviation analysis and PO3 (Power of Three) methodology. Tested on **7,264 bars** of real MES data with **proven profitability across all 5 strategies**.
---
## 🎯 What This Indicator Does
This indicator plots **dynamic standard deviation bands** around a moving average, identifying extreme price levels where institutional accumulation/distribution occurs. Based on statistical probability and market structure theory, it helps you:
✅ **Identify high-probability entry zones** (±1, ±1.5, ±2, ±2.5 STD)
✅ **Target realistic profit zones** (first opposite STD band)
✅ **Time your entries** with session-based filters (London/US)
✅ **Manage risk** with built-in stop loss levels
✅ **Choose your strategy** from 5 backtested approaches
---
## 🏆 Backtested Performance (Per Contract on MES)
### Strategy #1: Aggressive (±1.5 → ∓0.5) 🥇
- **Total Profit:** $95,287 over 1,452 trades
- **Win Rate:** 75%
- **Profit Factor:** 8.00
- **Target:** 80 ticks ($100) | **Stop:** 30 ticks ($37.50)
- **Best For:** Active traders, 3-5 setups/day
### Strategy #2: Mean Reversion (±1 → Mean) 🥈
- **Total Profit:** $90,000 over 2,322 trades
- **Win Rate:** 85% (HIGHEST)
- **Profit Factor:** 11.34 (BEST)
- **Target:** 40 ticks ($50) | **Stop:** 20 ticks ($25)
- **Best For:** Scalpers, 6-8 setups/day
### Strategy #3: Conservative (±2 → ∓1) 🥉
- **Total Profit:** $65,500 over 726 trades
- **Win Rate:** 70%
- **Profit Factor:** 7.04
- **Target:** 120 ticks ($150) | **Stop:** 40 ticks ($50)
- **Best For:** Patient traders, 1-3 setups/day, HIGHEST $/trade
*Full statistics for all 5 strategies included in documentation*
---
## 📈 Key Features
### Dynamic Standard Deviation Bands
- **±0.5 STD** - Intraday mean reversion zones
- **±1.0 STD** - Primary reversion zones (68% of price action)
- **±1.5 STD** - Extended zones (optimal balance)
- **±2.0 STD** - Extreme zones (95% of price action)
- **±2.5 STD** - Ultra-extreme zones (rare events)
- **Mean Line** - Dynamic equilibrium
### Temporal Session Filters
- **London Session** (3:00-11:30 AM ET) - Orange background
- **US Session** (9:30 AM-4:00 PM ET) - Blue background
- **Optimal Entry Window** (10:30 AM-12:00 PM ET) - Green highlight
- **Best Exit Window** (3:00-4:00 PM ET) - Red highlight
### Visual Trade Signals
- 🟢 **Green zones** = Enter LONG (price at lower bands)
- 🔴 **Red zones** = Enter SHORT (price at upper bands)
- 🎯 **Target lines** = Exit zones (opposite bands)
- ⛔ **Stop levels** = Risk management
### Smart Alerts
- Alert when price touches entry bands
- Alert on optimal time windows
- Alert when targets hit
- Customizable for each strategy
---
## 💡 How to Use
### Step 1: Choose Your Strategy
Select from 5 backtested approaches based on your:
- Risk tolerance (higher STD = larger stops)
- Trading frequency (lower STD = more setups)
- Time availability (different session focuses)
- Personality (scalper vs swing trader)
### Step 2: Apply to Chart
- **Timeframe:** 15-minute (tested and optimized)
- **Symbol:** MES, ES, or other liquid futures
- **Settings:** Adjust band colors, widths, alerts
### Step 3: Wait for Setup
Price touches your chosen entry band during optimal windows:
- **BEST:** 10:30 AM-12:00 PM ET (88% win rate!)
- **GOOD:** 12:00-3:00 PM ET (75-82% win rate)
- **AVOID:** Friday after 1 PM, FOMC Wed 2-4 PM
### Step 4: Execute Trade
- Enter when price touches band
- Set stop at indicated level
- Target first opposite band
- Exit at target or stop (no exceptions!)
### Step 5: Manage Risk
- **For $50K funded account ($250 limit): Use 2 MES contracts**
- Stop after 3 consecutive losses
- Reduce size in low-probability windows
- Track cumulative daily P&L
---
## 📅 Optimal Trading Windows
### By Time of Day
- **10:30 AM-12:00 PM ET:** 88% win rate (BEST) ⭐⭐⭐
- **12:00-1:30 PM ET:** 82% win rate (scalping)
- **1:30-3:00 PM ET:** 76% win rate (afternoon)
- **3:00-4:00 PM ET:** Best EXIT window
### By Day of Week
- **Wednesday:** 82% win rate (BEST DAY) ⭐⭐⭐
- **Tuesday:** 78% win rate (highest volume)
- **Thursday:**
zigzagLibrary "zigzag"
Library dedicated to zigzags and related indicators
zigzag(length, numberOfPivots, useAlternativeSource, source, oscillatorSource, oscillatorHighSource, oscillatorLowSource, directionBias, divergenceOption)
zigzag: Calculates zigzag pivots and generates an array
Parameters:
length (int) : : Zigzag Length
numberOfPivots (simple int) : : Max number of pivots to return in the array. Default is 20
useAlternativeSource (simple bool) : : If set uses the source for genrating zigzag. Default is false
source (float) : : Alternative source used only if useAlternativeSource is set to true. Default is close
oscillatorSource (float) : : Oscillator source for calculating divergence
oscillatorHighSource (float)
oscillatorLowSource (float)
directionBias (int) : : Direction bias for calculating divergence
divergenceOption (int) : : 1 - hidden/regular, 2 - regular, 3 - hidden
Returns: zigzagpivots : Array containing zigzag pivots
zigzagpivotbars : Array containing zigzag pivot bars
zigzagpivotdirs : Array containing zigzag pivot directions (Lower High : 1, Higher High : 2, Lower Low : -2 and Higher Low : -1)
zigzagpivotratios : Array containing zigzag retracement ratios for each pivot
zigzagoscillators : Array of oscillator values at pivots. Will have valid values only if valid oscillatorSource is provided as per input.
zigzagoscillatordirs: Array of oscillator directions (HH, HL, LH, LL) at pivots. Will have valid values only if valid oscillatorSource is provided as per input.
zigzagtrendbias : Array of trend bias at pivots. Will have valid value only if directionBias series is sent in input parameters
zigzagdivergence : Array of divergence sentiment at each pivot. Will have valid values only if oscillatorSource and directionBias inputs are provided
newPivot : Returns true if new pivot created
doublePivot : Returns true if two new pivots are created on same bar (Happens in case of candles with long wicks and shorter zigzag lengths)
czigzag(length, numberOfPivots, highSource, lowSource, oscillatorHighSource, oscillatorLowSource, directionBias, divergenceOption)
czigzag: Calculates zigzag pivots and generates an array based on custom high and low source
Parameters:
length (int) : : Zigzag Length
numberOfPivots (simple int) : : Max number of pivots to return in the array. Default is 20
highSource (float) : : High Source for prices to calculate zigzag.
lowSource (float) : : Low source for prices to calculate zigzag.
oscillatorHighSource (float) : : Oscillator high source for calculating divergence
oscillatorLowSource (float) : : Oscillator high source for calculating divergence
directionBias (int) : : Direction bias for calculating divergence
divergenceOption (int) : : 1 - hidden/regular, 2 - regular, 3 - hidden
Returns: zigzagpivots : Array containing zigzag pivots
zigzagpivotbars : Array containing zigzag pivot bars
zigzagpivotdirs : Array containing zigzag pivot directions (Lower High : 1, Higher High : 2, Lower Low : -2 and Higher Low : -1)
zigzagpivotratios : Array containing zigzag retracement ratios for each pivot
zigzagoscillators : Array of oscillator values at pivots. Will have valid values only if valid oscillatorSource is provided as per input.
zigzagoscillatordirs: Array of oscillator directions (HH, HL, LH, LL) at pivots. Will have valid values only if valid oscillatorSource is provided as per input.
zigzagtrendbias : Array of trend bias at pivots. Will have valid value only if directionBias series is sent in input parameters
zigzagdivergence : Array of divergence sentiment at each pivot. Will have valid values only if oscillatorSource and directionBias inputs are provided
zigzagdoubledivergence : Array of double divergence sentiment at each pivot
newPivot : Returns true if new pivot created
doublePivot : Returns true if two new pivots are created on same bar (Happens in case of candles with long wicks and shorter zigzag lengths)
drawczigzag(length, numberOfPivots, highSource, lowSource, oscillatorHighSource, oscillatorLowSource, directionBias, showHighLow, showRatios, showDivergence, showDoubleDivergence, showIndicator, linecolor, linewidth, linestyle)
drawczigzag: Calculates and draws zigzag pivots and generates an array based on custom high and low source
Parameters:
length (int) : : Zigzag Length
numberOfPivots (simple int) : : Max number of pivots to return in the array. Default is 20
highSource (float) : : High Source for prices to calculate zigzag.
lowSource (float) : : Low source for prices to calculate zigzag.
oscillatorHighSource (float) : : Oscillator high source for calculating divergence
oscillatorLowSource (float) : : Oscillator high source for calculating divergence
directionBias (int) : : Direction bias for calculating divergence
showHighLow (simple bool) : : show highlow label
showRatios (simple bool) : : show retracement ratios
showDivergence (simple bool) : : Show divergence on label (Only works if divergence data is available - that is if we pass valid oscillatorSource and directionBias input)
showDoubleDivergence (simple bool) : : Show double divergence label
showIndicator (simple bool)
linecolor (color) : : zigzag line color
linewidth (int) : : zigzag line width
linestyle (string) : : zigzag line style
Returns: zigzagpivots : Array containing zigzag pivots
zigzagpivotbars : Array containing zigzag pivot bars
zigzagpivotdirs : Array containing zigzag pivot directions (Lower High : 1, Higher High : 2, Lower Low : -2 and Higher Low : -1)
zigzagpivotratios : Array containing zigzag retracement ratios for each pivot
zigzagoscillators : Array of oscillator values at pivots. Will have valid values only if valid oscillatorSource is provided as per input.
zigzagoscillatordirs: Array of oscillator directions (HH, HL, LH, LL) at pivots. Will have valid values only if valid oscillatorSource is provided as per input.
zigzagtrendbias : Array of trend bias at pivots. Will have valid value only if directionBias series is sent in input parameters
zigzagdivergence : Array of divergence sentiment at each pivot. Will have valid values only if oscillatorSource and directionBias inputs are provided
zigzagdoubledivergence : Array of double divergence sentiment at each pivot
zigzaglines : Returns array of zigzag lines
zigzaglabels : Returns array of zigzag labels
drawczigzag2(length, numberOfPivots, highSource, lowSource, oscillatorHighSource, oscillatorLowSource, directionBias, showHighLow, showRatios, showDivergence, showDoubleDivergence, showIndicator, linecolor, linewidth, linestyle)
drawczigzag2: Same as drawczigzag. But, returns newPivot and doublePivot bools as well.
Parameters:
length (int) : : Zigzag Length
numberOfPivots (simple int) : : Max number of pivots to return in the array. Default is 20
highSource (float) : : High Source for prices to calculate zigzag.
lowSource (float) : : Low source for prices to calculate zigzag.
oscillatorHighSource (float) : : Oscillator high source for calculating divergence
oscillatorLowSource (float) : : Oscillator high source for calculating divergence
directionBias (int) : : Direction bias for calculating divergence
showHighLow (simple bool) : : show highlow label
showRatios (simple bool) : : show retracement ratios
showDivergence (simple bool) : : Show divergence on label (Only works if divergence data is available - that is if we pass valid oscillatorSource and directionBias input)
showDoubleDivergence (simple bool) : : Show double divergence label
showIndicator (simple bool)
linecolor (color) : : zigzag line color
linewidth (int) : : zigzag line width
linestyle (string) : : zigzag line style
Returns: zigzagpivots : Array containing zigzag pivots
zigzagpivotbars : Array containing zigzag pivot bars
zigzagpivotdirs : Array containing zigzag pivot directions (Lower High : 1, Higher High : 2, Lower Low : -2 and Higher Low : -1)
zigzagpivotratios : Array containing zigzag retracement ratios for each pivot
zigzagoscillators : Array of oscillator values at pivots. Will have valid values only if valid oscillatorSource is provided as per input.
zigzagoscillatordirs: Array of oscillator directions (HH, HL, LH, LL) at pivots. Will have valid values only if valid oscillatorSource is provided as per input.
zigzagtrendbias : Array of trend bias at pivots. Will have valid value only if directionBias series is sent in input parameters
zigzagdivergence : Array of divergence sentiment at each pivot. Will have valid values only if oscillatorSource and directionBias inputs are provided
zigzagdoubledivergence : Array of double divergence sentiment at each pivot
zigzaglines : Returns array of zigzag lines
zigzaglabels : Returns array of zigzag labels
drawzigzag(length, numberOfPivots, useAlternativeSource, source, linecolor, linewidth, linestyle, oscillatorSource, oscillatorHighSource, oscillatorLowSource, directionBias, showHighLow, showRatios, showDivergence)
drawzigzag: Calculates and draws zigzag pivots
Parameters:
length (int) : : Zigzag Length
numberOfPivots (simple int) : : Max number of pivots to return in the array. Default is 20
useAlternativeSource (simple bool)
source (float) : : Alternative source used only if useAlternativeSource is set to true. Default is close
linecolor (color) : : zigzag line color
linewidth (int) : : zigzag line width
linestyle (string) : : zigzag line style
oscillatorSource (float) : : Oscillator source for calculating divergence
oscillatorHighSource (float)
oscillatorLowSource (float)
directionBias (int) : : Direction bias for calculating divergence
showHighLow (simple bool) : : show highlow label
showRatios (simple bool) : : show retracement ratios
showDivergence (simple bool) : : Show divergence on label (Only works if divergence data is available - that is if we pass valid oscillatorSource and directionBias input)
Returns: zigzagpivots : Array containing zigzag pivots
zigzagpivotbars : Array containing zigzag pivot bars
zigzagpivotdirs : Array containing zigzag pivot directions (Lower High : 1, Higher High : 2, Lower Low : -2 and Higher Low : -1)
zigzagpivotratios : Array containing zigzag retracement ratios for each pivot
zigzagoscillators : Array of oscillator values at pivots. Will have valid values only if valid oscillatorSource is provided as per input.
zigzagoscillatordirs: Array of oscillator directions (HH, HL, LH, LL) at pivots. Will have valid values only if valid oscillatorSource is provided as per input.
zigzagtrendbias : Array of trend bias at pivots. Will have valid value only if directionBias series is sent in input parameters
zigzagdivergence : Array of divergence sentiment at each pivot. Will have valid values only if oscillatorSource and directionBias inputs are provided
zigzaglines : Returns array of zigzag lines
zigzaglabels : Returns array of zigzag labels
Trend/Range Composite (Single-Line) v1.4🔹 Step 1: Add it to your chart
Copy the whole script.
In TradingView → Pine Editor → paste it.
Click Add to chart.
It will show a white line in a subwindow, plus thresholds at 40 and 60, and a colored background.
Optional: You’ll see a status box (top-right of chart) with details like ADX, ATR, slope, etc.
🔹 Step 2: Understand the Score
The indicator compresses all signals into a 0–100 “Trend Strength Score”:
≥ 60 = TREND (teal background)
→ Market is trending, consider trend strategies like vertical spreads, runners, breakouts.
≤ 40 = RANGE (orange background)
→ Market is choppy/sideways, consider range strategies like butterflies, condors, mean-reversion fades.
40–60 = MIXED (gray background)
→ Indecision / chop. Best to reduce size or wait for clarity.
🔹 Step 3: Use with Your Trading Plan
Intraday (5m, 15m, 30m)
Score < 40 → play support/resistance bounces, fade extremes.
Score > 60 → play momentum breakouts or pullback continuations.
Daily chart
Good for swing context (is this month trending or just chopping?).
🔹 Step 4: Alerts
You can set TradingView alerts:
Cross above 60 → market entering trend mode.
Cross below 40 → market entering range mode.
Useful if you don’t want to watch constantly.
🔹 Step 5: Confirm with Price Levels
The score tells you “trend vs range”, but you still need levels:
If score < 40 → mark PDH / PDL (previous day high/low), VAH/VAL, VWAP. Expect rejections/fades.
If score > 60 → watch for breakouts beyond PDH/PDL or supply/demand zones.
_matrixLibrary "_matrix"
Library helps visualize matrix as array of arrays and enables users to use array methods such as push, pop, shift, unshift etc along with cleanup activities on drawing objects wherever required
delete(mtx, rowNumber)
deletes row from a matrix
Parameters:
mtx (matrix) : matrix of objects
rowNumber (int) : row index to be deleted
Returns: void
delete(mtx, rowNumber)
Parameters:
mtx (matrix)
rowNumber (int)
delete(mtx, rowNumber)
Parameters:
mtx (matrix)
rowNumber (int)
delete(mtx, rowNumber)
Parameters:
mtx (matrix)
rowNumber (int)
delete(mtx, rowNumber)
Parameters:
mtx (matrix)
rowNumber (int)
delete(mtx, rowNumber)
Parameters:
mtx (matrix)
rowNumber (int)
delete(mtx, rowNumber)
Parameters:
mtx (matrix)
rowNumber (int)
delete(mtx, rowNumber)
Parameters:
mtx (matrix)
rowNumber (int)
delete(mtx, rowNumber)
Parameters:
mtx (matrix)
rowNumber (int)
delete(mtx, rowNumber)
Parameters:
mtx (matrix)
rowNumber (int)
remove(mtx, rowNumber)
remove row from a matrix and returns them to caller
Parameters:
mtx (matrix) : matrix of objects
rowNumber (int) : row index to be deleted
Returns: type
remove(mtx, rowNumber)
Parameters:
mtx (matrix)
rowNumber (int)
remove(mtx, rowNumber)
Parameters:
mtx (matrix)
rowNumber (int)
remove(mtx, rowNumber)
Parameters:
mtx (matrix)
rowNumber (int)
remove(mtx, rowNumber)
Parameters:
mtx (matrix)
rowNumber (int)
remove(mtx, rowNumber)
Parameters:
mtx (matrix)
rowNumber (int)
remove(mtx, rowNumber)
Parameters:
mtx (matrix)
rowNumber (int)
remove(mtx, rowNumber)
Parameters:
mtx (matrix)
rowNumber (int)
remove(mtx, rowNumber)
Parameters:
mtx (matrix)
rowNumber (int)
remove(mtx, rowNumber)
Parameters:
mtx (matrix)
rowNumber (int)
unshift(mtx, row, maxItems)
unshift array of lines to first row of the matrix
Parameters:
mtx (matrix) : matrix of lines
row (array) : array of lines to be inserted in row
maxItems (simple int)
Returns: resulting matrix of type
unshift(mtx, row, maxItems)
Parameters:
mtx (matrix)
row (array)
maxItems (simple int)
unshift(mtx, row, maxItems)
Parameters:
mtx (matrix)
row (array)
maxItems (simple int)
unshift(mtx, row, maxItems)
Parameters:
mtx (matrix)
row (array)
maxItems (simple int)
unshift(mtx, row, maxItems)
Parameters:
mtx (matrix)
row (array)
maxItems (simple int)
unshift(mtx, row, maxItems)
Parameters:
mtx (matrix)
row (array)
maxItems (simple int)
unshift(mtx, row, maxItems)
Parameters:
mtx (matrix)
row (array)
maxItems (simple int)
unshift(mtx, row, maxItems)
Parameters:
mtx (matrix)
row (array)
maxItems (simple int)
unshift(mtx, row, maxItems)
Parameters:
mtx (matrix)
row (array)
maxItems (simple int)
unshift(mtx, row, maxItems)
Parameters:
mtx (matrix)
row (array)
maxItems (simple int)
push(mtx, row, maxItems)
push array of lines to end of the matrix row
Parameters:
mtx (matrix) : matrix of lines
row (array) : array of lines to be inserted in row
maxItems (simple int)
Returns: resulting matrix of lines
push(mtx, row, maxItems)
Parameters:
mtx (matrix)
row (array)
maxItems (simple int)
push(mtx, row, maxItems)
Parameters:
mtx (matrix)
row (array)
maxItems (simple int)
push(mtx, row, maxItems)
Parameters:
mtx (matrix)
row (array)
maxItems (simple int)
push(mtx, row, maxItems)
Parameters:
mtx (matrix)
row (array)
maxItems (simple int)
push(mtx, row, maxItems)
Parameters:
mtx (matrix)
row (array)
maxItems (simple int)
push(mtx, row, maxItems)
Parameters:
mtx (matrix)
row (array)
maxItems (simple int)
push(mtx, row, maxItems)
Parameters:
mtx (matrix)
row (array)
maxItems (simple int)
push(mtx, row, maxItems)
Parameters:
mtx (matrix)
row (array)
maxItems (simple int)
push(mtx, row, maxItems)
Parameters:
mtx (matrix)
row (array)
maxItems (simple int)
shift(mtx)
shift removes first row from matrix of lines
Parameters:
mtx (matrix) : matrix of lines from which the shift operation need to be performed
Returns: void
shift(mtx)
Parameters:
mtx (matrix)
shift(mtx)
Parameters:
mtx (matrix)
shift(mtx)
Parameters:
mtx (matrix)
shift(mtx)
Parameters:
mtx (matrix)
shift(mtx)
Parameters:
mtx (matrix)
shift(mtx)
Parameters:
mtx (matrix)
shift(mtx)
Parameters:
mtx (matrix)
shift(mtx)
Parameters:
mtx (matrix)
shift(mtx)
Parameters:
mtx (matrix)
rshift(mtx)
rshift removes first row from matrix of lines and returns them as array
Parameters:
mtx (matrix) : matrix of lines from which the rshift operation need to be performed
Returns: type
rshift(mtx)
Parameters:
mtx (matrix)
rshift(mtx)
Parameters:
mtx (matrix)
rshift(mtx)
Parameters:
mtx (matrix)
rshift(mtx)
Parameters:
mtx (matrix)
rshift(mtx)
Parameters:
mtx (matrix)
rshift(mtx)
Parameters:
mtx (matrix)
rshift(mtx)
Parameters:
mtx (matrix)
rshift(mtx)
Parameters:
mtx (matrix)
rshift(mtx)
Parameters:
mtx (matrix)
pop(mtx)
pop removes last row from matrix of lines
Parameters:
mtx (matrix) : matrix of lines from which the pop operation need to be performed
Returns: void
pop(mtx)
Parameters:
mtx (matrix)
pop(mtx)
Parameters:
mtx (matrix)
pop(mtx)
Parameters:
mtx (matrix)
pop(mtx)
Parameters:
mtx (matrix)
pop(mtx)
Parameters:
mtx (matrix)
pop(mtx)
Parameters:
mtx (matrix)
pop(mtx)
Parameters:
mtx (matrix)
pop(mtx)
Parameters:
mtx (matrix)
pop(mtx)
Parameters:
mtx (matrix)
rpop(mtx)
rpop removes last row from matrix of lines and reutnrs the array to caller
Parameters:
mtx (matrix) : matrix of lines from which the rpop operation need to be performed
Returns: void
rpop(mtx)
Parameters:
mtx (matrix)
rpop(mtx)
Parameters:
mtx (matrix)
rpop(mtx)
Parameters:
mtx (matrix)
rpop(mtx)
Parameters:
mtx (matrix)
rpop(mtx)
Parameters:
mtx (matrix)
rpop(mtx)
Parameters:
mtx (matrix)
rpop(mtx)
Parameters:
mtx (matrix)
rpop(mtx)
Parameters:
mtx (matrix)
rpop(mtx)
Parameters:
mtx (matrix)
clear(mtx)
clear clears the matrix
Parameters:
mtx (matrix) : matrix of lines which needs to be cleared
Returns: void
clear(mtx)
Parameters:
mtx (matrix)
clear(mtx)
Parameters:
mtx (matrix)
clear(mtx)
Parameters:
mtx (matrix)
clear(mtx)
Parameters:
mtx (matrix)
clear(mtx)
Parameters:
mtx (matrix)
clear(mtx)
Parameters:
mtx (matrix)
clear(mtx)
Parameters:
mtx (matrix)
clear(mtx)
Parameters:
mtx (matrix)
clear(mtx)
Parameters:
mtx (matrix)
rclear(mtx)
clear clears the matrix but retains the drawing objects
Parameters:
mtx (matrix) : matrix of lines which needs to be cleared
Returns: void
rclear(mtx)
Parameters:
mtx (matrix)
rclear(mtx)
Parameters:
mtx (matrix)
rclear(mtx)
Parameters:
mtx (matrix)
rclear(mtx)
Parameters:
mtx (matrix)
rclear(mtx)
Parameters:
mtx (matrix)
rclear(mtx)
Parameters:
mtx (matrix)
rclear(mtx)
Parameters:
mtx (matrix)
rclear(mtx)
Parameters:
mtx (matrix)
rclear(mtx)
Parameters:
mtx (matrix)