RSI (Basis at 0)This script is a modified version of the default RSI, adjusted to oscillate around 0 instead of 50, with a range spanning from -100 to 100. This transformation ensures better alignment with other indicators that use a zero-centered scale, making it ideal for comparative analysis and overlaying on complementary indicators.
Indicateurs et stratégies
Ustad e Muhtram Buy/Sell Signal// Pine Script (TradingView) for Custom High-Accuracy Indicator
//@version=5
indicator("Ustad e Muhtram Buy/Sell Signal", overlay=true)
// Define inputs
fastLength = input(9, title="Fast EMA")
slowLength = input(21, title="Slow EMA")
rsiLength = input(14, title="RSI Length")
adxLength = input(14, title="ADX Length")
atrLength = input(14, title="ATR Length")
// Calculate EMAs
emaFast = ta.ema(close, fastLength)
emaSlow = ta.ema(close, slowLength)
// RSI Calculation
rsi = ta.rsi(close, rsiLength)
// ADX Calculation
= ta.dmi(adxLength)
// ATR Calculation
atr = ta.atr(atrLength)
// Buy/Sell Conditions
buyCondition = ta.crossover(emaFast, emaSlow) and rsi > 50 and adx > 20
sellCondition = ta.crossunder(emaFast, emaSlow) and rsi < 50 and adx > 20
// Plot Buy/Sell Signals
plotshape(buyCondition, location=location.belowbar, color=color.green, style=shape.labelup, title="BUY Signal")
plotshape(sellCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title="SELL Signal")
32 EMA Indicator OPEN HIGH LOWUsing the 32 ema Open, high, and low.
When breaking through top or bottom may indicate bullish or bearish momentum when candle close outside
Dynamic Momentum IndexAn adaptive momentum oscillator that adjusts its period (3–30) based on volatility. Uses closing price, 5-period StdDev, and 10-period SMA to set a dynamic RSI. Overbought above 70, oversold below 30.
VWAP [cryptalent]VWAP Indicator with Adjustable Source
Overview
This TradingView indicator calculates Daily, Weekly, and Monthly VWAP (Volume Weighted Average Price) with the flexibility to select different price sources (Open, High, Low, Close, HLC3, etc.). It also displays previous period VWAP levels, helping traders analyze past liquidity zones.
Key Features:
✅ Adjustable Source – Users can choose the price used for VWAP calculations (e.g., Close, High, Low, Open).
✅ Multi-Timeframe VWAP – Tracks Daily, Weekly, and Monthly VWAP to provide a broader market view.
✅ Historical VWAP Levels – Displays previous VWAP values for comparison and reference.
✅ Step Line Style – Ensures clear distinction between different periods and prevents overlapping.
✅ Visible in the Price Scale – The latest and historical VWAP values are displayed in the right-hand price scale for easy reference.
Customization:
You can easily modify the input settings to match your trading style.
Adjust the VWAP source price to test different perspectives (e.g., Open vs. High vs. Close).
Pin Bar Patterns//@version=5
indicator("Pin Bar Patterns", overlay=true)
// تنظیمات
shadowToBodyRatio = 3.0 // سایه باید 3 برابر طول بدنه باشد
bodyToShadowRatio = 0.25 // بدنه باید یک چهارم طول سایه باشد
minBodySize = input.float(0.1, title="حداقل اندازه بدنه (نسبت به اندازه کندل)") // حداقل اندازه بدنه
// محاسبه سایهها و بدنه
bodySize = math.abs(close - open) // طول بدنه
upperShadow = high - math.max(close, open) // سایه بالایی
lowerShadow = math.min(close, open) - low // سایه پایینی
// شناسایی پین بارهایی که شرایط را داشته باشند
isPinBar = (upperShadow >= shadowToBodyRatio * bodySize or lowerShadow >= shadowToBodyRatio * bodySize) and bodySize <= bodyToShadowRatio * (upperShadow + lowerShadow) and bodySize >= minBodySize * (high - low)
// رسم الگوها بر روی نمودار با مثلثهای کمی بزرگتر
plotshape(series=isPinBar, location=location.belowbar, color=color.green, style=shape.triangleup, size=size.normal)
Multi-Asset & TF RSI
Multi-Asset & TF RSI
This indicator allows you to compare the Relative Strength Index (RSI) values of two different assets across multiple timeframes in a single pane. It’s ideal for traders who wish to monitor momentum across different markets or instruments simultaneously.
Key Features:
Primary Asset RSI:
The indicator automatically calculates the RSI for the chart’s asset. You can adjust the timeframe for this asset using a dropdown that offers standard TradingView timeframes, a "Chart" option (which syncs with your current chart timeframe), or a "Custom" option where you can enter any timeframe.
Optional Second Asset RSI:
Enable the “Display Second Asset” option to compare another asset’s RSI. Simply select the symbol (default is “DXY”) and choose its timeframe from an identical dropdown. When enabled, the second asset’s RSI is computed and plotted for easy comparison.
RSI Settings:
Customize the RSI length and choose the data source (e.g., close price) to suit your trading strategy.
Visual Aids:
Overbought (70) and oversold (30) levels are clearly marked, along with a midline at 50. These visual cues help you quickly assess market conditions.
Asset Information Table:
A dynamic table at the top of the pane displays the symbols being analysed – the chart’s asset as the “1st” asset and, if enabled, the second asset as the “2nd.”
How to Use:
Apply the Indicator:
Add the indicator to your chart. By default, it will calculate the RSI for the chart’s current asset using your chart’s timeframe.
Adjust Primary Asset Settings:
Use the “Main Asset Timeframe” dropdown to choose the timeframe for the RSI calculation on the chart asset. Select “Chart” to automatically match your current chart’s timeframe or choose a preset/custom timeframe.
Enable and Configure the Second Asset:
Toggle the “Display Second Asset” option to enable the second asset’s RSI. Select the asset symbol and its desired timeframe using the provided dropdown. The RSI for the second asset will be plotted if enabled.
Monitor the RSI Values:
Observe the plotted RSI lines along with the overbought/oversold levels. Use the table at the top-centre of the pane to verify which asset symbols are being displayed.
This versatile tool is designed to support multi-asset analysis and can be a valuable addition to your technical analysis toolkit. Enjoy enhanced RSI comparison across markets and timeframes!
Happy Trading!
EMA 60 + MACD buy or sell signalConditions for Buy Signal:
Price is above the EMA 60.
The MACD line (blue) is above the Signal line (red).
The MACD line is above the zero line.
The slope of the MACD line is positive (MACD is increasing).
Conditions for Sell Signal:
Price is below the EMA 60.
The MACD line (blue) is below the Signal line (red).
The MACD line is below the zero line.
The slope of the MACD line is negative (MACD is decreasing).
Monthly Buy IndicatorIt shows us the the total balance when buying monthly, ploting the total invested amount and total current balance along the time.
Opening the Data Window, it displays the profit (%) and the number of trades.
The "Allow Fractional Purchase" flag can be used to check the the performance of the ticker, disregarding how much the monthly amount is set vs the price of the ticker.
The trades are considering buying the available amount on the 1st candle of each month, at the Open price. The "Total Balance" considers the close price of each candle.
MUR 9:15 AM 15-Minute Candle Open and Close Lines with Alert9:15 AM 15-Minute Candle Open and Close Lines with Alert
This script shows 9 15 high and low which means 15 minutes candles high and low with line which is easy to proceed with trade
Triple Moving Average by XeodiacBest indicator for Moving Averages . In finance, a moving average (MA) is a stock indicator commonly used in technical analysis. The reason for calculating the moving average of a stock is to help smooth out the price data by creating a constantly updated average price.
By calculating the moving average, the impacts of random, short-term fluctuations on the price of a stock over a specified time frame are mitigated. Simple moving averages (SMAs) use a simple arithmetic average of prices over some timespan, while exponential moving averages (EMAs) place greater weight on more recent prices than older ones over the time period.
Our indicator includes 4 MA modes which is SMA, SMMA, EMA and WMA. You can customize to any period of the MA line you want, any colours, any line pattern, thickness and so on. You will get 3 MA lines as default with this indicator. Why wait? Apply the indicator directly to your chart now and start winning!
Wick Size in USD with 10-Bar AverageWick Size in USD with 10-Bar Average
Version: 1.0
Author: QCodeTrader
🔍 Overview
This indicator converts the price wicks of your candlestick chart into USD values based on ticks, providing both raw and smoothed data via a 10-bar simple moving average. It helps traders visualize the monetary impact of price extremes, making it easier to assess volatility, potential risk, and plan appropriate stop loss levels.
⚙️ Key Features
Tick-Based Calculation:
Converts wick sizes into ticks (using a fixed tick size of 0.01, typical for stocks) and then into USD using a customizable tick value.
10-Bar Moving Average:
Smooths out the wick values over the last 10 bars, giving you a clearer view of average wick behavior.
Bullish/Bearish Visual Cues:
The chart background automatically highlights bullish candles in green and bearish candles in red for quick visual assessment.
Stop Loss Optimization:
The indicator highlights long wick sizes, which can help you set more accurate stop loss levels. Even when the price moves in your favor, long wicks may indicate potential reversals—allowing you to account for this risk when planning your stop losses.
User-Friendly Customization:
Easily adjust the USD value per tick through the settings to tailor the indicator to your specific instrument.
📊 How It Works
Wick Calculation:
The indicator calculates the upper and lower wicks by measuring the distance between the candle’s high/low and its body (open/close).
Conversion to Ticks & USD:
These wick sizes are first converted from price points to ticks (dividing by a fixed tick size of 0.01) and then multiplied by the user-defined tick value to convert the measurement into USD.
Smoothing Data:
A 10-bar simple moving average is computed for both the upper and lower wick values, providing smoothed data that helps identify trends and deviations.
Visual Representation:
Columns display the raw wick sizes in USD.
Lines indicate the 10-bar moving averages.
Background Color shifts between green (bullish) and red (bearish) based on candle type.
⚡ How to Use
Add the Indicator:
Apply it to your chart to begin visualizing wick sizes in monetary terms.
Customize Settings:
Adjust the Tick Value in USD in the settings to match your instrument’s tick value.
(Note: The tick size is fixed at 0.01, which is standard for many stocks.)
Optimize Your Stop Loss:
Analyze the raw and averaged wick values to understand volatility. Long wicks—even when the price moves in your favor—may indicate potential reversals. This insight can help you set more accurate stop loss levels to protect your gains.
Analyze:
Use the indicator’s data to gauge market volatility and assess the significance of price movements, aiding in more informed trading decisions.
This indicator is perfect for traders looking to understand the impact of extreme price movements in monetary terms, optimize stop loss levels, and effectively manage risk across stocks and other instruments with similar tick structures.
Day Ranges (IST)Divides trading session into parts - 09:15 am to 12:00 noon and 12:00 noon to 15:30pm
EMA Buy/Sell Signals//@version=5
indicator("EMA Buy/Sell Signals", overlay=true)
// Calculate the 20-period EMA on the 1-hour chart
ema20 = request.security(syminfo.tickerid, "60", ta.ema(close, 20))
// Calculate the 10-period EMA on the 3-minute chart
ema10 = ta.ema(close, 10)
// Determine the bias based on the 1-hour chart
var float bias = na
if (ema20 != na)
bias := close > ema20 ? 1 : -1
// Identify entry signals on the 3-minute chart
longCondition = (bias == 1) and ta.crossover(close, ema10)
shortCondition = (bias == -1) and ta.crossunder(close, ema10)
// Plot signals on the chart
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="Buy")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell")
// Plot EMA lines on the chart
plot(ema20, title="EMA 20", color=color.blue)
plot(ema10, title="EMA 10", color=color.orange)
EMA Buy/Sell Signals//@version=5
indicator("EMA Buy/Sell Signals", overlay=true)
// 1-घंटे के चार्ट पर 20-पीरियड EMA की गणना
ema20 = ta.ema(close, 20)
// 3-मिनट के चार्ट पर 10-पीरियड EMA की गणना
ema10 = ta.ema(close, 10)
// वर्तमान समय सीमा की जांच करें
is_1h = (timeframe.period == "60")
is_3m = (timeframe.period == "3")
// 1-घंटे के चार्ट पर बायस निर्धारित करें
var float bias = na
if (is_1h)
bias := close > ema20 ? 1 : -1
// 3-मिनट के चार्ट पर एंट्री सिग्नल की पहचान करें
longCondition = (bias == 1) and ta.crossover(close, ema10)
shortCondition = (bias == -1) and ta.crossunder(close, ema10)
// चार्ट पर संकेत दिखाएं
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="Buy")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell")
// EMA लाइनों को चार्ट पर प्लॉट करें
plot(ema20, title="EMA 20", color=color.blue)
plot(ema10, title="EMA 10", color=color.orange)
Triple Moving Average by KelvinTriple Moving Average by Kelvin.
In finance, a moving average (MA) is a stock indicator commonly used in technical analysis. The reason for calculating the moving average of a stock is to help smooth out the price data by creating a constantly updated average price.
By calculating the moving average, the impacts of random, short-term fluctuations on the price of a stock over a specified time frame are mitigated. Simple moving averages (SMAs) use a simple arithmetic average of prices over some timespan, while exponential moving averages (EMAs) place greater weight on more recent prices than older ones over the time period.
Moving averages are calculated to identify the trend direction of a stock or to determine its support and resistance levels. It is a trend-following or lagging indicator because it is based on past prices.
The longer the period for the moving average, the greater the lag. A 200-day moving average will have a much greater degree of lag than a 20-day MA because it contains prices for the past 200 days. Fifty-day and 200-day moving average figures are widely followed by investors and traders and are considered to be important trading signals.
Investors may choose different periods of varying lengths to calculate moving averages based on their trading objectives. Shorter moving averages are typically used for short-term trading, while longer-term moving averages are more suited for long-term investors.
How to use this indicator?
So in this indicator, you can customize three of the moving averages like changing their colour, changing the thickness, choose any moving averages mode smma, ema, sma and wma. Just apply directly to the chart and customize yourself.
Why use this indicator?
It let you customize with your creativity. Any ideas you have you can just change it directly in the settings. You can also change to any moving average period you want. Isn't it awesome?
We will update more customizable settings in the future to let our user get their most comfort moving averages.
EMA Crossover Indicator9 Day EMA Crosses Above 21 day EMA When this crossover happens on intraday and daily time frame it indicates for a buy. intraday time frame 5 min and 15 min.
Webhook Buy/Sell Signals Yogendra Kumar Singh//@version=5
indicator("Webhook Buy/Sell Signals", overlay=true)
// Fetching External Inputs
buySignal = request.security("WEBHOOK_SOURCE", timeframe.period, close) > 0
sellSignal = request.security("WEBHOOK_SOURCE", timeframe.period, close) < 0
// Plot Buy/Sell Markers
plotshape(buySignal, location=location.belowbar, color=color.green, style=shape.labelup, size=size.small, title="Buy Signal")
plotshape(sellSignal, location=location.abovebar, color=color.red, style=shape.labeldown, size=size.small, title="Sell Signal")
Enhanced SPY Rhythm Formations Detector with Alerts//@version=6
indicator("Enhanced SPY Rhythm Formations Detector with Alerts", overlay=true)
// Inputs
maLength1 = input.int(50, title="EMA Length 1", minval=1)
maLength2 = input.int(200, title="EMA Length 2", minval=1)
shortMaLength1 = input.int(5, title="Short EMA Length 1", minval=1)
shortMaLength2 = input.int(10, title="Short EMA Length 2", minval=1)
shortMaLength3 = input.int(20, title="Short EMA Length 3", minval=1)
rsiLength = input.int(14, title="RSI Length", minval=1)
macdShort = input.int(12, title="MACD Short Length", minval=1)
macdLong = input.int(26, title="MACD Long Length", minval=1)
macdSignal = input.int(9, title="MACD Signal Length", minval=1)
atrLength = input.int(14, title="ATR Length", minval=1)
atrMultiplier = input.float(1.5, title="ATR Multiplier for Target Price", minval=0.1)
// Calculations
ma1 = ta.ema(close, maLength1)
ma2 = ta.ema(close, maLength2)
shortMa1 = ta.ema(close, shortMaLength1)
shortMa2 = ta.ema(close, shortMaLength2)
shortMa3 = ta.ema(close, shortMaLength3)
rsi = ta.rsi(close, rsiLength)
= ta.macd(close, macdShort, macdLong, macdSignal)
macdHist = macdLine - signalLine
atr = ta.atr(atrLength)
// Moving Average Crossovers
goldenCross = ta.crossover(ma1, ma2)
deathCross = ta.crossunder(ma1, ma2)
// Short MAs Crossovers
shortCross1 = ta.crossover(shortMa1, shortMa2)
shortCross2 = ta.crossover(shortMa2, shortMa3)
shortCross3 = ta.crossover(shortMa1, shortMa3)
shortCross1Down = ta.crossunder(shortMa1, shortMa2)
shortCross2Down = ta.crossunder(shortMa2, shortMa3)
shortCross3Down = ta.crossunder(shortMa1, shortMa3)
// RSI Divergence Detection
rsiHigh = ta.highest(rsi, 20)
rsiLow = ta.lowest(rsi, 20)
priceHigh = ta.highest(high, 20)
priceLow = ta.lowest(low, 20)
bearishDivergence = (high == priceHigh and rsi < rsiHigh)
bullishDivergence = (low == priceLow and rsi > rsiLow)
// MACD Histogram Zero Cross
macdZeroCrossUp = ta.crossover(macdHist, 0)
macdZeroCrossDown = ta.crossunder(macdHist, 0)
// Day Trading Signals
dayLongEntry = shortCross1 and rsi < 30
dayShortEntry = shortCross1Down and rsi > 70
// Swing Trading Signals
swingLongEntry = goldenCross and macdHist > 0
swingShortEntry = deathCross and macdHist < 0
// Next Bar Prediction
nextBarUp = close > open and close + (atr * atrMultiplier) > high
nextBarDown = close < open and close - (atr * atrMultiplier) < low
// Shaded Bar Shadow for Next Bar Prediction
bgcolor(nextBarUp ? color.new(color.green, 90) : na, title="Next Bar Up")
bgcolor(nextBarDown ? color.new(color.red, 90) : na, title="Next Bar Down")
// Blinking Alerts
var bool blink = false
blink := not blink
if (dayLongEntry)
label.new(bar_index, low, text="Day Long Entry", color=blink ? color.green : color.white, style=label.style_label_up, textcolor=color.black, size=size.small)
alert("Day Long Entry Signal Detected!", alert.freq_once_per_bar_close)
if (dayShortEntry)
label.new(bar_index, high, text="Day Short Entry", color=blink ? color.red : color.white, style=label.style_label_down, textcolor=color.black, size=size.small)
alert("Day Short Entry Signal Detected!", alert.freq_once_per_bar_close)
if (swingLongEntry)
label.new(bar_index, low, text="Swing Long Entry", color=blink ? color.blue : color.white, style=label.style_label_up, textcolor=color.black, size=size.small)
alert("Swing Long Entry Signal Detected!", alert.freq_once_per_bar_close)
if (swingShortEntry)
label.new(bar_index, high, text="Swing Short Entry", color=blink ? color.orange : color.white, style=label.style_label_down, textcolor=color.black, size=size.small)
alert("Swing Short Entry Signal Detected!", alert.freq_once_per_bar_close)
// Plotting
plot(ma1, color=color.blue, title="EMA Length 1 (50)")
plot(ma2, color=color.red, title="EMA Length 2 (200)")
plot(shortMa1, color=color.green, title="Short EMA Length 1 (5)")
plot(shortMa2, color=color.orange, title="Short EMA Length 2 (10)")
plot(shortMa3, color=color.purple, title="Short EMA Length 3 (20)")
150-Day SMA//@version=5
indicator("150-Day SMA", overlay=true)
len = 150
sma150 = ta.sma(close, len)
plot(sma150, title="150-Day SMA", color=color.orange, linewidth=2)
Cash And Carry Arbitrage BTC Compare Month 6 by SeoNo1Detailed Explanation of the BTC Cash and Carry Arbitrage Script
Script Title: BTC Cash And Carry Arbitrage Month 6 by SeoNo1
Short Title: BTC C&C ABT Month 6
Version: Pine Script v5
Overlay: True (The indicators are plotted directly on the price chart)
Purpose of the Script
This script is designed to help traders analyze and track arbitrage opportunities between the spot market and futures market for Bitcoin (BTC). Specifically, it calculates the spread and Annual Percentage Yield (APY) from a cash-and-carry arbitrage strategy until a specific expiry date (in this case, June 27, 2025).
The strategy helps identify profitable opportunities when the futures price of BTC is higher than the spot price. Traders can then buy BTC in the spot market and short BTC futures contracts to lock in a risk-free profit.
1. Input Settings
Spot Symbol: The real-time BTC spot price from Binance (BTCUSDT).
Futures Symbol: The BTC futures contract that expires in June 2025 (BTCUSDM2025).
Expiry Date: The expiration date of the futures contract, set to June 27, 2025.
These inputs allow users to adjust the symbols or expiry date according to their trading needs.
2. Price Data Retrieval
Spot Price: Fetches the latest closing price of BTC from the spot market.
Futures Price: Fetches the latest closing price of BTC futures.
Spread: The difference between the futures price and the spot price (futures_price - spot_price).
The spread indicates how much higher (or lower) the futures price is compared to the spot market.
3. Time to Maturity (TTM) and Annual Percentage Yield (APY) Calculation
Current Date: Gets the current timestamp.
Time to Maturity (TTM): The number of days left until the futures contract expires.
APY Calculation:
Formula:
APY = ( Spread / Spot Price ) x ( 365 / TTM Days ) x 100
This represents the annualized return from holding a cash-and-carry arbitrage position if the trader buys BTC at the spot price and sells BTC futures.
4. Display Information Table on the Chart
A table is created on the chart's top-right corner showing the following data:
Metric: Labels such as Spread and APY
Value: Displays the calculated spread and APY
The table automatically updates at the latest bar to display the most recent data.
5. Alert Condition
This sets an alert condition that triggers every time the script runs.
In practice, users can modify this alert to trigger based on specific conditions (e.g., APY exceeds a threshold).
6. Plotting the APY and Spread
APY Plot: Displays the annualized yield as a blue line on the chart.
Spread Plot: Visualizes the futures-spot spread as a red line.
This helps traders quickly identify arbitrage opportunities when the spread or APY reaches desirable levels.
How to Use the Script
Monitor Arbitrage Opportunities:
A positive spread indicates a potential cash-and-carry arbitrage opportunity.
The larger the APY, the more profitable the arbitrage opportunity could be.
Timing Trades:
Execute a buy on the BTC spot market and simultaneously sell BTC futures when the APY is attractive.
Close both positions upon futures contract expiry to realize profits.
Risk Management:
Ensure you have sufficient margin to hold both positions until expiry.
Monitor funding rates and volatility, which could affect returns.
Conclusion
This script is an essential tool for traders looking to exploit price discrepancies between the BTC spot market and futures market through a cash-and-carry arbitrage strategy. It provides real-time data on spreads, annualized returns (APY), and visual alerts, helping traders make informed decisions and maximize their profit potential.