ReisAcademy - Liquidity SweepsinitData.content = {"name":"Adsız","layout":"s","charts": [{"panes":[{"sources":[{"type":"MainSeries","id":"_seriesId","zorder":0,"haStyle":{"studyId":"BarSetHeikenAshi@tv-basicstudies-60"},"renkoStyle":{"studyId":"BarSetRenko@tv-prostudies-73"},"pbStyle":{"studyId":"BarSetPriceBreak@tv-prostudies-34"},"kagiStyle":{"studyId":"BarSetKagi@tv-prostudies-73"},"pnfStyle":{"studyId":"BarSetPnF@tv-prostudies-73"},"rangeStyle":{"studyId":"BarSetRange@tv-basicstudies-72"},"volFootprintStyle":{"studyId":"Footprint@tv-volumebyprice-104"},"tpoStyle":{"studyId":"TPOPeriodic@tv-volumebyprice-104"},"svpStyle":{"studyId":"VbPSessions@tv-volumebyprice-126"},"formattingDeps":{"format":"price","pricescale":100,"minmov":1,"fractional":false,"minmove2":0,"variable_tick_size":""},"studyBindings":{"17":null,"18":{},"20":null},"state":{"style":1,"esdShowDividends":true,"esdShowSplits":true,"esdShowEarnings":true,"esdShowBreaks":false,"esdFlagSize":2,"showContinuousContractSwitches":true,"showContinuousContractSwitchesBreaks":false,"showFuturesContractExpiration":true,"showLastNews":true,"showCountdown":true,"bidAsk":{"visible":false,"lineStyle":1,"lineWidth":1,"bidLineColor":"#2962FF","askLineColor":"#F7525F"},"prePostMarket":{"visible":true,"lineStyle":1,"lineWidth":1,"preMarketColor":"#FB8C00","postMarketColor":"#2962FF"},"highLowAvgPrice":{"highLowPriceLinesVisible":false,"highLowPriceLabelsVisible":false,"averageClosePriceLineVisible":false,"averageClosePriceLabelVisible":false,"highLowPriceLinesWidth":1,"averagePriceLineWidth":1,"highLowPriceLinesColor":"","averagePriceLineColor":""},"visible":true,"showPriceLine":true,"priceLineWidth":1,"showPrevClosePriceLine":false,"prevClosePriceLineWidth":1,"minTick":"default","dividendsAdjustment":false,"backAdjustment":false,"settlementAsClose":true,"sessionId":"regular","sessVis":false,"statusViewStyle":{"fontSize":16,"showExchange":true,"showInterval":true,"symbolTextSource":"description"},"candleStyle":{"drawWick":true,"drawBorder":true,"barColorsOnPrevClose":false,"drawBody":true,"borderColor":"#378658","upColor":"#089981","wickColor":"#737375","wickUpColor":"#089981","wickDownColor":"#F23645","downColor":"#F23645","borderUpColor":"#089981","borderDownColor":"#F23645"},"volCandlesStyle":{"drawWick":true,"drawBorder":true,"barColorsOnPrevClose":false,"drawBody":true,"borderColor":"#378658","upColor":"#089981","wickColor":"#737375","wickUpColor":"#089981","wickDownColor":"#F23645","downColor":"#F23645","borderUpColor":"#089981","borderDownColor":"#F23645"},"hollowCandleStyle":{"drawWick":true,"drawBorder":true,"drawBody":true,"upColor":"#089981","downColor":"#F23645","borderColor":"#378658","borderUpColor":"#089981","borderDownColor":"#F23645","wickColor":"#737375","wickUpColor":"#089981","wickDownColor":"#F23645"},"haStyle":{"drawWick":true,"drawBorder":true,"showRealLastPrice":false,"barColorsOnPrevClose":false,"inputs":{},"inputInfo":{},"drawBody":true,"borderColor":"#378658","upColor":"#089981","wickColor":"#737375","wickUpColor":"#089981","wickDownColor":"#F23645","downColor":"#F23645","borderUpColor":"#089981","borderDownColor":"#F23645"},"barStyle":{"barColorsOnPrevClose":false,"dontDrawOpen":false,"thinBars":true,"downColor":"#F23645","upColor":"#089981"},"hiloStyle":{"showBorders":true,"showLabels":true,"drawBody":true,"color":"#2962FF","borderColor":"#2962FF","labelColor":"#2962FF"},"columnStyle":{"barColorsOnPrevClose":true,"priceSource":"close","baselinePosition":"bottom","upColor":"rgba(8, 153, 129, 0.5)","downColor":"rgba(242, 54, 69, 0.5)"},"lineStyle":{"linestyle":0,"linewidth":2,"priceSource":"close","colorType":"solid","color":"#2962FF","gradientStartColor":"#D500F9","gradientEndColor":"#00BCE5"},"tpoStyle":{"linestyle":0,"linewidth":2,"priceSource":"close","styles":{"splitByBlocks":false,"splitByBlocksMode":0},"tpo":{"showBlocks":true,"showLetters":true,"nonVaOpacity":30,"colors":{"gradientColors":["#e91e63","#00c853","
Göstergeler ve stratejiler
Option Selling Signals with ExitsOption Selling Signal System with Volume-Based Entry and Exit Logic
This script identifies optimal moments to sell options by combining volume distribution analysis with trend confirmation, specifically designed to capitalize on market inefficiencies in option pricing.
What it does:
Generates signals for selling call and put options with corresponding exit signals, using volume distribution as the primary filter combined with moving average trend confirmation and RSI momentum.
How it works:
The script analyzes volume distribution over a 63-day lookback period (approximately 3 months of trading data) to determine market sentiment:
Volume Analysis: Calculates total volume above and below current price levels
Trend Filter: Uses 50-period moving average to confirm market direction
Momentum Check: RSI (14-period) validates entry timing
Signal Spacing: Prevents overlapping signals with minimum 5-bar separation
Why this combination works:
Unlike standard option selling strategies that rely solely on volatility or Greeks, this approach uses volume distribution to identify when most trading activity occurred below current prices (bullish setup for call selling) or above current prices (bearish setup for put selling). The moving average filter prevents counter-trend trades, while RSI confirms momentum alignment.
Trading Logic:
Sell Call Options: When majority of volume is below current price + price above MA + RSI below 50
Sell Put Options: When majority of volume is above current price + price below MA + RSI above 50
Exit Signals: Automatically generated when conditions reverse
How to use:
Apply to daily timeframe or higher (not suitable for intraday)
Red labels = Open call short positions
Orange labels = Close call short positions
Green labels = Open put short positions
Dark green labels = Close put short positions
Settings:
Lookback Period: 63 days (adjust for different market memory)
Moving Average Length: 50 periods (trend confirmation filter)
This methodology addresses the common problem of selling options without proper market structure analysis, providing both entry and exit signals based on actual trading activity rather than just price action.
Precision Momentum Scalper//@version=5
indicator("Precision Momentum Scalper", overlay=true)
// Inputs
emaFastLen = input.int(50, title="EMA Fast")
emaSlowLen = input.int(200, title="EMA Slow")
rsiLen = input.int(14, title="RSI Length")
macdFast = input.int(12, title="MACD Fast")
macdSlow = input.int(26, title="MACD Slow")
macdSignal = input.int(9, title="MACD Signal")
// EMA
emaFast = ta.ema(close, emaFastLen)
emaSlow = ta.ema(close, emaSlowLen)
// RSI
rsi = ta.rsi(close, rsiLen)
// MACD
= ta.macd(close, macdFast, macdSlow, macdSignal)
// Volume Spike
vol = volume
volAvg = ta.sma(volume, 5)
// Buy and Sell Conditions
longCond = close > emaFast and emaFast > emaSlow and rsi > 30 and macdLine > signalLine and volume > volAvg
shortCond = close < emaFast and emaFast < emaSlow and rsi < 70 and macdLine < signalLine and volume > volAvg
plotshape(longCond, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="Buy")
plotshape(shortCond, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell")
plot(emaFast, title="EMA 50", color=color.orange)
plot(emaSlow, title="EMA 200", color=color.blue)
Marx Current Trend DisplayMarx Current Trend Display
Identify trend direction instantly on any timeframe
This indicator gives you a clear, visual confirmation of the current market trend — Bullish or Bearish — based on price action relative to a customisable Exponential Moving Average (EMA).
⸻
✅ Features
• Dynamically determines trend using a user-defined EMA (default: 200)
• Shows a floating label above price:
• 🟢 “BULLISH TREND” when price is above EMA
• 🔴 “BEARISH TREND” when price is below EMA
• Optional color-coded background to make trend state even more obvious
• Works on any market and timeframe
• Simple, clean, and easy to interpret
⸻
🧠 How It Works
• Bullish Trend: Current price is above the EMA
• Bearish Trend: Current price is below the EMA
• EMA is plotted directly on the chart for additional clarity
⸻
⚙️ Customisable Settings
• EMA length (default: 200)
• Show/hide trend labels
• Toggle background color on/off
⸻
This is a perfect tool for traders who want quick confirmation of trend bias without clutter. Pair it with your entry/exit system or use it as a filter to stay aligned with market momentum.
Average Day Range(%)Average Day Range in percentages. This indicator shows that average movement of the stock price in last n number of candles in percentages. This gives you an idea of the volatility of the stock's price.
LabelManagementLabel management with fluent configuration, change tracking, and named registry
LabelManagement is a Pine Script library for creating and managing dynamic chart labels. Built with a fluent-style API , it simplifies label creation, styling, positioning, and content updates through method chaining and centralized control.
Manage 'sticky' labels easily across bars with expressive, readable code that reduces clutter and improves code clarity.
Example usage:
// Close label – to the right of the last bar
labels.get("close")
.style(label.style_label_left)
.bgColor(color.gray)
.xy(bar_index, close)
.textValue("C: " + str.tostring(close, "#.##"))
.textColor(color.white)
.tooltip("This is the close price")
.apply()
Key features:
Fluent API – Build and update labels using a chainable configuration flow
Named label registry – Access and manage labels by name, e.g., "entry", "stop", "target"
Change tracking – Update only when necessary to reduce redraws
Deferred application – Apply all changes in one efficient operation
Centralized control – Works well in modular or multi-label environments
This library is designed for Pine developers who want more control and less boilerplate when managing visual elements on the chart.
method clone(this)
Creates a new LabelConfig by copying all properties from this instance
Namespace types: LabelConfig
Parameters:
this (LabelConfig) : (LabelConfig) The LabelConfig instance
Returns: (LabelConfig) New LabelConfig instance with identical properties
method applyTo(this, target)
Applies configuration to specified label (required parameter)
Namespace types: LabelConfig
Parameters:
this (LabelConfig) : (LabelConfig) The LabelConfig instance
target (label) : (label) Label to apply config to
Returns: (LabelConfig) Self-reference for method chaining
method update(this, updates)
Creates a new LabelUpdater with change tracking for this label
Namespace types: series label
Parameters:
this (label) : (label) The label instance
updates (LabelConfig) : (LabelConfig) Optional existing config to apply and reuse (if provided, applies to label first)
Returns: (LabelUpdater) New LabelUpdater with blank configs for change tracking
method x(this, value)
Sets the X coordinate with change tracking (fluent interface)
Namespace types: LabelUpdater
Parameters:
this (LabelUpdater) : (LabelUpdater) The LabelUpdater instance
value (int) : (int) New X coordinate
Returns: (LabelUpdater) Self-reference for method chaining
method y(this, value)
Sets the Y coordinate with change tracking (fluent interface)
Namespace types: LabelUpdater
Parameters:
this (LabelUpdater) : (LabelUpdater) The LabelUpdater instance
value (float) : (float) New Y coordinate
Returns: (LabelUpdater) Self-reference for method chaining
method xy(this, x, y)
Sets both X and Y coordinates with change tracking (fluent interface)
Namespace types: LabelUpdater
Parameters:
this (LabelUpdater) : (LabelUpdater) The LabelUpdater instance
x (int) : (int) New X coordinate
y (float) : (float) New Y coordinate
Returns: (LabelUpdater) Self-reference for method chaining
method textValue(this, value)
Sets the text content with change tracking (fluent interface)
Namespace types: LabelUpdater
Parameters:
this (LabelUpdater) : (LabelUpdater) The LabelUpdater instance
value (string) : (string) New text content
Returns: (LabelUpdater) Self-reference for method chaining
method textColor(this, value)
Sets the text color with change tracking (fluent interface)
Namespace types: LabelUpdater
Parameters:
this (LabelUpdater) : (LabelUpdater) The LabelUpdater instance
value (color) : (color) New text color
Returns: (LabelUpdater) Self-reference for method chaining
method textSize(this, value)
Sets the text size with change tracking (fluent interface)
Namespace types: LabelUpdater
Parameters:
this (LabelUpdater) : (LabelUpdater) The LabelUpdater instance
value (string) : (string) New text size
Returns: (LabelUpdater) Self-reference for method chaining
method bgColor(this, value)
Sets the background color with change tracking (fluent interface)
Namespace types: LabelUpdater
Parameters:
this (LabelUpdater) : (LabelUpdater) The LabelUpdater instance
value (color) : (color) New background color
Returns: (LabelUpdater) Self-reference for method chaining
method style(this, value)
Sets the label style with change tracking (fluent interface)
Namespace types: LabelUpdater
Parameters:
this (LabelUpdater) : (LabelUpdater) The LabelUpdater instance
value (string) : (string) New style
Returns: (LabelUpdater) Self-reference for method chaining
method yloc(this, value)
Sets the Y location mode with change tracking (fluent interface)
Namespace types: LabelUpdater
Parameters:
this (LabelUpdater) : (LabelUpdater) The LabelUpdater instance
value (string) : (string) New yloc
Returns: (LabelUpdater) Self-reference for method chaining
method xloc(this, value)
Sets the X location mode with change tracking (fluent interface)
Namespace types: LabelUpdater
Parameters:
this (LabelUpdater) : (LabelUpdater) The LabelUpdater instance
value (string) : (string) New xloc
Returns: (LabelUpdater) Self-reference for method chaining
method tooltip(this, value)
Sets the tooltip content with change tracking (fluent interface)
Namespace types: LabelUpdater
Parameters:
this (LabelUpdater) : (LabelUpdater) The LabelUpdater instance
value (string) : (string) New tooltip content
Returns: (LabelUpdater) Self-reference for method chaining
method size(this, value)
Sets the text size with change tracking (fluent interface) - alias for textSize
Namespace types: LabelUpdater
Parameters:
this (LabelUpdater) : (LabelUpdater) The LabelUpdater instance
value (string) : (string) New text size
Returns: (LabelUpdater) Self-reference for method chaining
method size(this)
Gets the count of registered labels
Namespace types: LabelManager
Parameters:
this (LabelManager) : (LabelManager) The LabelManager instance
Returns: (int) Number of labels in the registry
method apply(this)
Applies pending changes to linked label and updates tracking
Namespace types: LabelUpdater
Parameters:
this (LabelUpdater) : (LabelUpdater) The LabelUpdater instance
Returns: (LabelUpdater) Self-reference for method chaining
method get(this, name)
Gets or creates a LabelUpdater for the specified name
Namespace types: LabelManager
Parameters:
this (LabelManager) : (LabelManager) The LabelManager instance
name (string) : (string) Unique identifier for the label
Returns: (LabelUpdater) Existing or newly created LabelUpdater for the name
method has(this, name)
Checks if a label with the specified name exists
Namespace types: LabelManager
Parameters:
this (LabelManager) : (LabelManager) The LabelManager instance
name (string) : (string) Name to check for existence
Returns: (bool) True if label exists, false otherwise
method remove(this, name)
Removes a label from the registry and deletes the underlying Pine Script label
Namespace types: LabelManager
Parameters:
this (LabelManager) : (LabelManager) The LabelManager instance
name (string) : (string) Name of the label to remove
Returns: (LabelManager) Self-reference for method chaining
method clear(this)
Removes all labels from registry and deletes all underlying Pine Script labels
Namespace types: LabelManager
Parameters:
this (LabelManager) : (LabelManager) The LabelManager instance
Returns: (LabelManager) Self-reference for method chaining
newManager()
Creates a new LabelManager with empty registry
Returns: (LabelManager) New LabelManager instance ready for use
LabelConfig
LabelConfig Configuration object for label appearance and positioning
Fields:
x (series int) : (series int) X-coordinate (na = unchanged)
y (series float) : (series float) Y-coordinate (na = unchanged)
style (series string) : (series string) Label style (na = unchanged)
yloc (series string) : (series string) Y-location type (na = unchanged)
xloc (series string) : (series string) X-location type (na = unchanged)
bgColor (series color) : (series color) Background color (na = unchanged)
textValue (series string) : (series string) Label text content (na = unchanged)
textSize (series string) : (series string) Text size (na = unchanged)
textColor (series color) : (series color) Text color (na = unchanged)
tooltip (series string) : (series string) Tooltip text (na = unchanged)
LabelUpdater
LabelUpdater Smart label updater with change tracking and minimal updates
Fields:
label (series label) : (label) Reference to the label being updated
latest (LabelConfig) : (LabelConfig) Current known state of the label
updates (LabelConfig) : (LabelConfig) Pending changes to apply
LabelManager
LabelManager Central registry for managing named labels with automatic creation
Fields:
registry (map) : (map) Internal storage mapping names to LabelUpdater instances
Croisement EMA 8/13/21 > EMA55 (non simultané)Pour du SWING H4 mini
Entrée et sortie sur chaque croisement de la 55 avec toutes les autres EMA
13/20 EMA Crossover + Trend Check//@version=5
indicator("13/20 EMA Crossover + Trend Check", overlay=true)
ema13 = ta.ema(close, 13)
ema20 = ta.ema(close, 20)
ema100 = ta.ema(close, 100)
plot(ema13, color=color.green, title="EMA 13")
plot(ema20, color=color.orange, title="EMA 20")
plot(ema100, color=color.blue, title="EMA 100")
crossover = ta.crossover(ema13, ema20) and ema13 > ema20 and ema20 > ema100
bgcolor(crossover ? color.new(color.green, 80) : na, title="Buy Signal Background")
Fall from Recent Top & ATH (Latest Only)Fall from Recent Top & ATH (Latest Only)
This indicator calculates and displays the percentage drop from two key peaks—the most recent swing high and the all-time high (ATH)—but only for the latest occurrences. Use it to instantly assess how far price has retraced from these critical levels.
Features:
• Recent Top Fall % – Measures the drop from the last pivot high over your chosen lookback
• ATH Fall % – Shows the decline from the highest price on the chart (or a defined range)
• Latest Only Mode – Automatically clears prior values so you only see the current falls
• Custom Pivot Settings – Pick your data source (high, close, etc.) and lookback period
• Inline Labels & Data Window – Display fall percentages directly on the chart or in the info panel
• Style Controls – Adjust font size, label position, line styles and colors independently
• Alert Support – Set alerts when either fall exceeds your specified threshold
How to Use:
1. Open the indicator’s Inputs and set “Pivot Lookback” for recent swing detection.
2. Choose your “Source” series (default = high).
3. Toggle “Show Recent Top Fall” and “Show ATH Fall” on or off.
4. Enable “Latest Only” to remove old labels and focus on the newest data.
5. (Optional) In the Create Alert dialog, choose “Fall from Recent Top” or “Fall from ATH” and set your threshold.
Interpretation Guide:
- **Recent Top Fall %** helps gauge short-term retracement strength—ideal for timing entries after pullbacks.
- **ATH Fall %** reveals long-term correction severity, useful for spotting major support zones or oversold conditions.
#TradingView #PineScript #Retracement #ATH #SwingHigh #TechnicalAnalysis
A-B-C-D Levels with Customizable Pct & Price LineA-B-C-D Levels with Customizable Pct & Price Line
This indicator plots four dynamic “fall” levels (A, B, C and D) based on percentage dips from your chosen pivot, plus an optional live price line. Use it to see at a glance exactly how far price has retraced from a recent high (or other reference).
Features:
• Customizable Dip Percentages – Define your own fall % for Levels A, B, C and D
• Flexible Pivot Source – Reference the highest high, lowest low, close or any other series
• Price Line Overlay – Optionally display a continuous current‐price line for real-time context
• Style & Visibility Controls – Independently tweak colors, widths and line styles
• Alert Conditions – Trigger alerts when price crosses above or below any fall level
• Universal Compatibility – Works on any timeframe or instrument
How to Use:
1. Open Inputs and set your desired dip percentages (e.g. A = 10%, B = 20%, etc.).
2. Choose your pivot source and lookback period.
3. Toggle “Show Price Line” to overlay the live price.
4. (Optional) In the “Create Alert” dialog, set alerts on any level crossing.
Interpretation Guide:
- **Level A** = first dip from pivot (e.g. 10% fall)
- **Level B** = deeper retracement (e.g. 20% fall)
- **Level C/D** = even deeper fall benchmarks (e.g. 30%, 40%)
- The **Price Line** shows current price relative to your fall levels
Happy trading!
#TradingView #PineScript #DipLevels #PriceLine #TechnicalAnalysis
Tweezer Top & Bottom (Adjustable Wick & Body Filter)🛠️ How It Works:
tickTolerance lets you define how many ticks difference is allowed between highs/lows.
bodyMinTicks ensures the second candle's body is large enough (default: 10 ticks = 0.10 on CL).
Only if both the tweezer condition and body size pass will the signal be marked.
ATR Overlay LabelShows ATR in number. It shows AT on chart in numbers. This helps in identifying the trend based on ATR that is formation of big or small coandles
Top Movers RSI StrategyEntry Signal (Buy): The script triggers a buy order when the chosen indicator(s) confirm a bullish trend or oversold condition, indicating a potential upward price movement.
Exit Signal (Sell): The script triggers a sell order when the indicator(s) signal a bearish trend or overbought condition, suggesting the price may decline.
Risk Management: The strategy includes stop-loss and take-profit levels to limit losses and secure profits.
Timeframe: The strategy operates on a chart to capture relevant price action.
Additional Filters: Optional filters like volume confirmation, moving average crossovers, or RSI thresholds can be included to reduce false signals.
BB + RSI + Supertrend BreakoutSimple Trend Follow Logic
Buy when
Price is above Bands, RSI, and Supertrend is Green
Sell when
Price is below Bands, RSI and Supertrend is Red
Bollinger Bands Breakout SignalsBollanger Band Breaks
Buy signal = Price Above Bands
Sell Signal = Price Below Bands
LotSize Calculator - psyploThis indicator provides a convenient on-chart lot size calculator designed to assist traders with precise position sizing based on account balance, risk tolerance, and trade parameters.
Key Features:
Custom Account Sizing: Define your account size and risk percentage per trade.
Flexible Risk Units: Choose between percentage or fixed currency risk models.
Support for Multiple Currencies: Select from a wide range of currencies including USD, EUR, GBP, INR, and even crypto options like USDT.
Dual Sizing Methods: Configure position size using either quantity or lot-based models, with optional rounding.
Visual Trade Levels: Displays configurable entry, stop loss (SL), and take profit (TP) lines on the chart.
Style Customization: Customize the color, line style, and visibility of each level for better chart readability.
Ideal Use Case:
Designed for manual traders seeking real-time clarity and consistency in risk management without needing to calculate lot size externally.
Disclaimer:
This tool is for informational purposes only. Always practice responsible risk management and perform due diligence before trading.
SIP Evaluator and Screener [Trendoscope®]The SIP Evaluator and Screener is a Pine Script indicator designed for TradingView to calculate and visualize Systematic Investment Plan (SIP) returns across multiple investment instruments. It is tailored for use in TradingView's screener, enabling users to evaluate SIP performance for various assets efficiently.
🎲 How SIP Works
A Systematic Investment Plan (SIP) is an investment strategy where a fixed amount is invested at regular intervals (e.g., monthly or weekly) into a financial instrument, such as stocks, mutual funds, or ETFs. The goal is to build wealth over time by leveraging the power of compounding and mitigating the impact of market volatility through disciplined, consistent investing. Here’s a breakdown of how SIPs function:
Regular Investments : In an SIP, an investor commits to investing a fixed sum at predefined intervals, regardless of market conditions. This consistency helps inculcate a habit of saving and investing.
Cost Averaging : By investing a fixed amount regularly, investors purchase more units when prices are low and fewer units when prices are high. This approach, known as dollar-cost averaging, reduces the average cost per unit over time and mitigates the risk of investing a large amount at a peak price.
Compounding Benefits : Returns generated from the invested amount (e.g., capital gains or dividends) are reinvested, leading to exponential growth over the long term. The longer the investment horizon, the greater the potential for compounding to amplify returns.
Dividend Reinvestment : In some SIPs, dividends received from the underlying asset can be reinvested to purchase additional units, further enhancing returns. Taxes on dividends, if applicable, may reduce the reinvested amount.
Flexibility and Accessibility : SIPs allow investors to start with small amounts, making them accessible to a wide range of individuals. They also offer flexibility in terms of investment frequency and the ability to adjust or pause contributions.
In the context of the SIP Evaluator and Screener , the script simulates an SIP by calculating the number of units purchased with each fixed investment, factoring in commissions, dividends, taxes and the chosen price reference (e.g., open, close, or average prices). It tracks the cumulative investment, equity value, and dividends over time, providing a clear picture of how an SIP would perform for a given instrument. This helps users understand the impact of regular investing and make informed decisions when comparing different assets in TradingView’s screener. It offers insights into key metrics such as total invested amount, dividends received, equity value, and the number of installments, making it a valuable resource for investors and traders interested in understanding long-term investment outcomes.
🎲 Key Features
Customizable Investment Parameters: Users can define the recurring investment amount, price reference (e.g., open, close, HL2, HLC3, OHLC4), and whether fractional quantities are allowed.
Commission Handling: Supports both fixed and percentage-based commission types, adjusting calculations accordingly.
Dividend Reinvestment: Optionally reinvests dividends after a user-specified period, with the ability to apply tax on dividends.
Time-Bound Analysis: Allows users to set a start year for the analysis, enabling historical performance evaluation.
Flexible Dividend Periods: Dividends can be evaluated based on bars, days, weeks, or months.
Visual Outputs: Plots key metrics like total invested amount, dividends, equity value, and remainder, with customizable display options for clarity in the data window and chart.
🎲 Using the script as an indicator on Tradingview Supercharts
In order to use the indicator on charts, do the following.
Load the instrument of your choice - Preferably a stable stocks, ETFs.
Chose monthly timeframe as lower timeframes are insignificant in this type of investment strategy
Load the indicator SIP Evaluator and Screener and set the input parameters as per your preference.
Indicator plots, investment value, dividends and equity on the chart.
🎲 Visualizations
Installments : Displays the number of SIP installments (gray line, visible in the data window).
Invested Amount : Shows the cumulative amount invested, excluding reinvested dividends (blue area plot).
Dividends : Tracks total dividends received (green area plot).
Equity : Represents the current market value of the investment based on the closing price (purple area plot).
Remainder : Indicates any uninvested cash after each installment (gray line, visible in the data window).
🎲 Deep dive into the settings
The SIP Evaluator and Screener offers a range of customizable settings to tailor the Systematic Investment Plan (SIP) simulation to your preferences. Below is an explanation of each setting, its purpose, and how it impacts the analysis:
🎯 Duration
Start Year (Default: 2020) : Specifies the year from which the SIP calculations begin. When Start Year is enabled via the timebound option, the script only considers data from the specified year onward. This is useful for analyzing historical SIP performance over a defined period. If disabled, the script uses all available data.
Timebound (Default: False) : A toggle to enable or disable the Start Year restriction. When set to False, the SIP calculation starts from the earliest available data for the instrument.
🎯 Investment
Recurring Investment (Default: 1000.0) : The fixed amount invested in each SIP installment (e.g., $1000 per period). This represents the regular contribution to the SIP and directly influences the total invested amount and quantity purchased.
Allow Fractional Qty (Default: True) : When enabled, the script allows the purchase of fractional units (e.g., 2.35 shares). If disabled, only whole units are purchased (e.g., 2 shares), with any remaining funds carried forward as Remainder. This setting impacts the precision of investment allocation.
Price Reference (Default: OPEN): Determines the price used for purchasing units in each SIP installment. Options include:
OPEN : Uses the opening price of the bar.
CLOSE : Uses the closing price of the bar.
HL2 : Uses the average of the high and low prices.
HLC3 : Uses the average of the high, low, and close prices.
OHLC4 : Uses the average of the open, high, low, and close prices. This setting affects the cost basis of each purchase and, consequently, the total quantity and equity value.
🎯 Commission
Commission (Default: 3) : The commission charged per SIP installment, expressed as either a fixed amount (e.g., $3) or a percentage (e.g., 3% of the investment). This reduces the amount available for purchasing units.
Commission Type (Default: Fixed) : Specifies how the commission is calculated:
Fixed ($) : A flat fee is deducted per installment (e.g., $3).
Percentage (%) : A percentage of the investment amount is deducted as commission (e.g., 3% of $1000 = $30). This setting affects the net amount invested and the overall cost of the SIP.
🎯 Dividends
Apply Tax On Dividends (Default: False) : When enabled, a tax is applied to dividends before they are reinvested or recorded. The tax rate is set via the Dividend Tax setting.
Dividend Tax (Default: 47) : The percentage of tax deducted from dividends if Apply Tax On Dividends is enabled (e.g., 47% tax reduces a $100 dividend to $53). This reduces the amount available for reinvestment or accumulation.
Reinvest Dividends After (Default: True, 2) : When enabled, dividends received are reinvested to purchase additional units after a specified period (e.g., 2 units of time, defined by Dividends Availability). If disabled, dividends are tracked but not reinvested. Reinvestment increases the total quantity and equity over time.
Dividends Availability (Default: Bars) : Defines the time unit for evaluating when dividends are available for reinvestment. Options include:
Bars : Based on the number of chart bars.
Weeks : Based on weeks.
Months : Based on months (approximated as 30.5 days). This setting determines the timing of dividend reinvestment relative to the Reinvest Dividends After period.
🎯 How Settings Interact
These settings work together to simulate a realistic SIP. For example, a $1000 recurring investment with a 3% commission and fractional quantities enabled will calculate the number of units purchased at the chosen price reference after deducting the commission. If dividends are reinvested after 2 months with a 47% tax, the script fetches dividend data, applies the tax, and adds the net dividend to the investment amount for that period. The Start Year and Timebound settings ensure the analysis aligns with the desired timeframe, while the Dividends Availability setting fine-tunes dividend reinvestment timing.
By adjusting these settings, users can model different SIP scenarios, compare performance across instruments in TradingView’s screener, and gain insights into how commissions, dividends, and price references impact long-term returns.
🎲 Using the script with Pine Screener
The main purpose of developing this script is to use it with Tradingview Pine Screener so that multiple ETFs/Funds can be compared.
In order to use this as a screener, the following things needs to be done.
Add SIP Evaluator and Screener to your favourites (Required for it to be added in pine screener)
Create a watch list containing required instruments to compare
Open pine screener from Tradingview main menu Products -> Screeners -> Pine or simply load the URL - www.tradingview.com
Select the watchlist created from Watchlist dropdown.
Chose the SIP Evaluator and Screener from the "Choose Indicator" dropdown
Set timeframe to 1 month and update settings as required.
Press scan to display collected data on the screener.
🎲 Use Case
This indicator is ideal for educational purposes, allowing users to experiment with SIP strategies across different instruments. It can be applied in TradingView’s screener to compare SIP performance for stocks, ETFs, or other assets, helping users understand how factors like commissions, dividends, and price references impact returns over time.
CAGR + Log Slope ColorThis custom TradingView indicator combines two important analytical concepts to help traders identify strong trends with visual clarity:
CAGR (Compound Annual Growth Rate):
Measures the geometric average annual return of the asset over a specified period. It smooths out short-term fluctuations and provides a long-term growth perspective.
Logarithmic Slope Coloring:
The slope of the log-scaled price is calculated and visualized with color gradients. Steeper upward slopes indicate stronger momentum and are highlighted with more intense colors. Downward slopes are shown in contrasting colors for easier identification of bearish trends.
MTF Pivot Zones
## 📘 **User Guide: MTF Pivot Zones**
**Script Name:** MTF Pivot Zones
Multi Time Frame Pivot
---
### 🧭 Overview
**MTF Pivot Zones** is a multi-timeframe analysis tool that detects and merges swing highs and lows across four key timeframes:
**Weekly, Daily, 4H, and 1H**.
It plots clear **Support** and **Resistance** zones on the chart based on pivot point clustering. Zones are displayed as dashed lines, color-coded by type.
---
### ⚙️ Settings
| Input Name | Description |
| ---------------------- | --------------------------------------------------------------------- |
| `Lookback Bars Per TF` | Number of bars to scan for pivot highs/lows per timeframe |
| `Pivot Left Bars` | Number of bars to the left required to confirm a pivot |
| `Pivot Right Bars` | Number of bars to the right required to confirm a pivot |
| `Merge Tolerance ($)` | Distance threshold in dollars to merge nearby pivot levels into zones |
| `Show TF Labels` | Toggle the text label next to each zone (e.g., “Res Zone”) |
---
### 🛠️ How It Works
1. **Pivot Detection**
The script scans each timeframe using `ta.pivothigh()` and `ta.pivotlow()`.
2. **Zone Merging**
Pivot levels within the specified `Merge Tolerance` are averaged and treated as a single zone.
3. **Zone Plotting**
* **Red dashed lines** = Resistance Zones
* **Green dashed lines** = Support Zones
* Optional labels show zone type if `Show TF Labels` is enabled
---
### 📈 Usage Tips
* Use zones to guide entries, exits, and stop-loss placement.
* Combine with trend tools or candlestick confirmation near zones.
* Adjust merge tolerance to match instrument volatility and timeframe.
---
Let me know if you want this formatted for **TradingView publishing**, or included in a `study()` title block comment.