new alertable spacemanhope these alerts work. open to fixes
slight modification to Key Levels SpacemanBTC IDWM script
credit: spacemanbtc
المؤشرات والاستراتيجيات
BTC Price Prediction Model [Global PMI]🇨🇳 中文说明 (Chinese Version)
1. 简介
本指标由 GW Capital 使用 Gemini Vibe Coding 技术制作。利用先进的 AI 编程能力,将复杂的宏观经济模型重构为可执行的交易工具。
2. 致谢
特别感谢模型原作者 Marty Kendall。他对这一算法的研究奠定了基础,揭示了比特币价格与宏观经济因素之间的深层联系。
3. 模型原理与公式
该模型基于四大宏观经济支柱计算比特币的“公允价值”。它假设比特币的价格是全球流动性、网络安全性、风险偏好和经济周期的函数。
模型公式
$$\ln(BTC) = \alpha + (1 + \beta \cdot PMI_{z}) \times $$
全球流动性 (M2): 美、中、欧、日四大经济体的 M2 总量(折算为美元)。代表可流入资产的法币资金池。
网络安全性 (Hashrate): 比特币全网算力,代表网络的物理安全性和实用价值。
风险偏好 (S&P 500): 作为全球风险情绪的代理指标。
经济周期 (PMI Z-Score): 美国制造业 PMI 用于根据商业周期(扩张 vs 收缩)来放大或抑制估值。
4. 指标用法
指标会在图表上绘制 公允价值 (白线) 以及基于统计偏差 (Z-Score) 的四条情绪带。
情绪区间
🚨 极度贪婪 (红色区域): 价格 > +0.3 标准差。历史上通常预示市场顶部或情绪过热。
⚠️ 一般贪婪 (橙色区域): 价格 > +0.15 标准差。多头动能强劲,但需谨慎。
⚖️ 公允价值 (白线): 基于宏观数据的理论“正确”价格。
😨 一般恐惧 (青色区域): 价格 < -0.15 标准差。进入低估区域。
💎 极度恐惧 (绿色区域): 价格 < -0.3 标准差。历史上通常是代际级别的买入机会。
情绪评分 (0-100)
100: 极度贪婪 (顶部)
50: 公允价值
0: 极度恐惧 (底部)
5. 使用建议
周期: 仅限日线 (1D) 或周线 (1W)。
原因: 底层数据源(M2, PMI)是月度更新的。标普500和算力是日度更新的。在日内图表(如15分钟、1小时、4小时)上使用此指标没有任何意义,因为基本面数据不会变化得那么快。
长期视角: 这是一个宏观周期指标,旨在识别数月甚至数年的周期顶部和底部,而非用于日内交易。
6. 免责声明
本指标仅供教育和参考使用,不构成任何财务建议。该模型依赖于历史相关性,未来可能不再适用。所有交易均涉及风险。GW Capital 及制作者不对任何交易损失承担责任。
🇺🇸 English Guide (英文说明)
1. Introduction
This indicator was created by GW Capital using Gemini Vibe Coding technology. It leverages advanced AI coding capabilities to reconstruct complex macroeconomic models into actionable trading tools.
2. Credits
Special thanks to the original model author, Marty Kendall. His research into the correlation between Bitcoin's price and macroeconomic factors lays the foundation for this algorithm.
3. Model Principles & Formula
This model calculates the "Fair Value" of Bitcoin based on four key macroeconomic pillars. It assumes that Bitcoin's price is a function of Global Liquidity, Network Security, Risk Appetite, and the Economic Cycle.
The Formula
$$\ln(BTC) = \alpha + (1 + \beta \cdot PMI_{z}) \times $$
Global Liquidity (M2): Sum of M2 supply from US, China, Eurozone, and Japan (converted to USD). Represents the pool of fiat money available to flow into assets.
Network Security (Hashrate): Bitcoin's hashrate, representing the physical security and utility of the network.
Risk Appetite (S&P 500): Used as a proxy for global risk sentiment.
Economic Cycle (PMI Z-Score): US Manufacturing PMI is used to amplify or dampen the valuation based on where we are in the business cycle (Expansion vs. Contraction).
4. How to Use
The indicator plots the Fair Value (White Line) and four sentiment bands based on statistical deviation (Z-Score).
Sentiment Zones
🚨 Extreme Greed (Red Zone): Price > +0.3 StdDev. Historically indicates a market top or overheated sentiment.
⚠️ Greed (Orange Zone): Price > +0.15 StdDev. Bullish momentum is strong but caution is advised.
⚖️ Fair Value (White Line): The theoretical "correct" price based on macro data.
😨 Fear (Teal Zone): Price < -0.15 StdDev. Undervalued territory.
💎 Extreme Fear (Green Zone): Price < -0.3 StdDev. Historically a generational buying opportunity.
Sentiment Score (0-100)
100: Maximum Greed (Top)
50: Fair Value
0: Maximum Fear (Bottom)
5. Usage Recommendations
Timeframe: Daily (1D) or Weekly (1W) ONLY.
Reason: The underlying data sources (M2, PMI) are updated monthly. The S&P 500 and Hashrate are daily. Using this indicator on intraday charts (e.g., 15m, 1h, 4h) adds no value because the fundamental data does not change that fast.
Long-Term View: This is a macro-cycle indicator designed for identifying cycle tops and bottoms over months and years, not for day trading.
6. Disclaimer
This indicator is for educational and informational purposes only. It does not constitute financial advice. The model relies on historical correlations which may not hold true in the future. All trading involves risk. GW Capital and the creators assume no responsibility for any trading losses.
MA + ATR Channel V2This script creates a dynamic volatility channel (similar to a Keltner Channel). It plots a central Moving Average (SMA or EMA) to represent the baseline trend and uses the Average True Range (ATR) to calculate the Upper and Lower bands. The channel automatically widens during high volatility and narrows during low volatility.
Usage
Mean Reversion: In sideways markets, prices touching the outer bands often tend to revert back to the central line.
该脚本构建了一个基于波动率的动态通道(类似肯特纳通道)。它以**移动平均线(SMA或EMA)为中轴判断趋势,并利用真实波幅(ATR)**计算通道宽度。通道范围会随市场波动加剧而变宽,随波动平缓而收窄。
用法
震荡回归: 在横盘行情中,价格触及通道边缘时,往往有回调至中轴的倾向。
Candlewick Detector Heinken AshiTrend reversal detector based on no-wick candle analysis at the opening side. Identifies momentum shifts by marking the first reversal candle after a bullish or bearish sequence. The indicator scans up to 5 candles after a color change to detect the first candle without wick on the opening side (red candle with no upper wick or green candle with no lower wick). Clear visual signals with colored triangles. Fully customizable parameters including minimum sequence length, body size percentage, wick tolerance, and lookback period to adapt to all trading styles.
EMA + Sessions + RSI This is a simple on-demand indicator. It includes 3 customizable exponential moving averages, three customizable market sessions, and a table showing the status of the RSI
-3 Custom EMAs
-3 Custom Sessions
-1 RSI Table
OTA ATR Stop BufferOTA ATR indicator calculates and displays the Daily Average True Range (ATR), and two customizable ATR percentage values in a clean table format. It provides values in ticks and points, helping traders set stop-loss buffers based on market volatility.
S.T. TREND INDICATORIt is TREND indicator. it has 8 supertrends which can be used for different higher time frame & with different atr & multiplier.which will give better idea of varius trend like long ,medium,short & immediate trend.it also has daily & weekly vwap. and two sma with adjustable length & timeframe. source used for calculation of supertrends is 1min HA candles.yyou can use it onnormal japnees candle also.
RSI < 25 + Price Below 200 SMA (4H) - Text Signal
Price below 200MA on 4hr chart
RSI is below 25 ovsersold
Start buying small positions at every signal
Eventually price will capture the 200MA on 4hr
This will work great for NVDA, AAPL, MSFT, NFLX, PANW, AMZN, PLTR, CRWD and META.
Good for swing trading based on price action, RSI oversold and reversal
Add more on the Pin bar candles on 4hr time frame once the price is oversold.
複合ガチイカ🦑🦑🦑 日本語説明は英文の後ーーーーーーーーーーーーーーー
🦑 Composite Gachi Squid Indicator – A fun and intuitive trading overlay combining SuperTrend, ATR, and RSI.
Body color shows trend direction and strength.
Tentacles visualize volatility.
Eyes indicate overbought/oversold conditions.
🦑↑ / 🦑↓ marks provide clear entry signals.
Perfect for visual traders who want both style and actionable insights.
日本語説明-------------------------------------------------------------
🦑 複合ガチイカ・インジケーター – SuperTrend、ATR、RSI を組み合わせた遊び心と実用性を両立したチャートオーバーレイ。
イカの体の色でトレンドの方向と強さを表示
触手でボラティリティを可視化
目で買われすぎ・売られすぎを表示
🦑↑ / 🦑↓ が分かりやすいエントリーシグナル
見た目も楽しく、トレード判断にも使えるインジケーターです。
The Alchemist's Trend [wjdtks255]📊 The Alchemist's Trend - Filtered Trading Guide
This indicator, named The Alchemist's Trend, is a High-Confidence Trend-Following Strategy designed to maximize reliability. It generates a final entry signal only when the QQE (Quantitative Qualitative Estimation) momentum signal is validated by four robust filters: Long-Term Trend (MA200), Mid-Term Trend (HMA), Momentum Strength (CCI), and Higher Timeframe (HTF) Trend.
1. Indicator Mechanism and Core Components
A. Chart Visualization and Trend Identification
Trend Line (HMA): Appears as a Yellow or Purple Thick Line. It represents the direction of the current short/mid-term market trend. Candle colors follow this line.
MA 200: Appears as a Dotted Line (color configurable in settings). It is the Long-Term Trend Line. Price above it suggests a long-term bullish view; below it, a long-term bearish view.
Candle Background: Appears as Light Yellow or Purple. It matches the Trend Line direction, providing a visual cue of the trend's strength.
B. The Four-Filter System
For a confirmed entry signal ('L' or 'S') to fire, the following four conditions must all align in the same direction:
QQE (Momentum Base): Generates the primary Long/Short crossover signal.
MA & HMA (Trend Alignment):
For Long Entries: Price must be above both the MA200 and the HMA Trend Line.
For Short Entries: Price must be below both the MA200 and the HMA Trend Line.
CCI (Momentum Strengthening):
For Long Entries: CCI value must be above +50. (Confirms strong buying momentum)
For Short Entries: CCI value must be below -50. (Confirms strong selling momentum)
HTF (Higher Timeframe Trend): Checks if the price on the set higher timeframe (default 4H) is above its own Trend Line, confirming alignment with the broader market direction.
2. Trading Strategy and Usage Rules
This indicator aims to maximize signal reliability over frequency.
🔔 Entry Rule
Enter a trade only when the 'L' or 'S' label appears on the chart AND the Action panel on the dashboard displays LONG SIGNAL or SHORT SIGNAL.
Long Entry (L):
Condition: 'L' label appears (All Long conditions met).
Verification: Confirm the Trend Line and candle color are in the yellow range.
Short Entry (S):
Condition: 'S' label appears (All Short conditions met).
Verification: Confirm the Trend Line and candle color are in the purple range.
🛡️ Risk and Position Management
Stop-Loss (SL): A common practice is to place the Stop-Loss below the low of the signal candle (for Long) or above the high of the signal candle (for Short), or beyond a recent significant support/resistance level.
Exit Strategy (Three Options):
Opposite Signal: Close the position immediately if the opposite signal ('S' during a Long, or 'L' during a Short) occurs.
RSI Extremes: Consider taking partial profits if the RSI reaches 70 (for Long) or 30 (for Short), indicating potential exhaustion.
Trend Line Crossover: Exit the position if the price breaks or crosses the Trend Line, causing the candle color to change.
🖥️ Dashboard Utilization Tips
The dashboard provides contextual information to validate the signal:
RSI: Signals occurring within the neutral 30-70 zone suggest a stronger developing trend. If near 70/30, consider the risk of reversal.
Vol Status ('High'): If the volume status is 'High' when the signal fires, the signal's power is likely high, indicating a higher probability of significant movement.
Day High/Low: Use these values as a secondary reference for setting initial Stop-Loss or Take-Profit targets.
V-CORE SMA Matrix LiteV-CORE SMA Matrix Lite
A clean, lightweight 5-SMA structure tool built using Pine Script v6.
This open-source Lite edition provides a simple visual framework for identifying market structure using the most commonly used moving averages:
21 SMA
50 SMA
80 SMA
100 SMA
200 SMA
Each line is individually adjustable and colour-coded for easy trend reading.
No signals, no alerts, no automation — purely a visual tool for traders who prefer clarity over complexity.
This Lite version exposes only basic, non-proprietary logic.
Advanced regime systems, multi-stage confirmation models, and automation features are available only in the full V-CORE Engine suite.
Part of the V-CORE Lite Series
Free open-source tools designed for education, research, and clean charting.
Follow our work:
TradingView: VectorCoresAI
X (Twitter): vectorcoresai
Telegram: vectorcoresai
MM Wash Detector (Fool-Proof)MM Wash Detector (Stealth) is a market-structure tool designed to identify wash candles created during liquidity hunts.
These candles typically show unusually long wicks with tiny bodies, signalling where market makers have swept stop-losses before reversing price.
The indicator marks:
Bear Wash → Long bottom wick (stop-hunt down, reversal up)
Bull Wash → Long top wick (stop-hunt up, reversal down)
This helps traders spot manipulation areas, liquidity grabs, and potential reversal zones with simple, discreet chart labels.
BankNifty - 2x Nifty Differencedifference between Banknifty near month future - 2x nifty near month future
Reversal_Detector//@version=6
indicator("상승 반전 탐지기 (Reversal Detector)", overlay=true)
// ==========================================
// 1. 설정 (Inputs)
// ==========================================
rsiLen = input.int(14, title="RSI 길이")
lbR = input.int(5, title="다이버전스 확인 범위 (오른쪽)")
lbL = input.int(5, title="다이버전스 확인 범위 (왼쪽)")
rangeUpper = input.int(60, title="RSI 과매수 기준")
rangeLower = input.int(30, title="RSI 과매도 기준")
// ==========================================
// 2. RSI 상승 다이버전스 계산 (핵심 로직)
// ==========================================
osc = ta.rsi(close, rsiLen)
// 피벗 로우(Pivot Low) 찾기: 주가의 저점
plFound = na(ta.pivotlow(osc, lbL, lbR)) ? false : true
// 다이버전스 조건 확인
// 1) 현재 RSI 저점이 이전 RSI 저점보다 높아야 함 (상승)
// 2) 현재 주가 저점이 이전 주가 저점보다 낮아야 함 (하락)
showBull = false
if plFound
// 이전 피벗 지점 찾기
oscLow = osc
priceLow = low
// 과거 데이터를 탐색하여 직전 저점과 비교
for i = 1 to 60
if not na(ta.pivotlow(osc, lbL, lbR) ) // 이전에 저점이 있었다면
prevOscLow = osc
prevPriceLow = low
// 다이버전스 조건: 가격은 더 떨어졌는데(Lower Low), RSI는 올랐을 때(Higher Low)
if priceLow < prevPriceLow and oscLow > prevOscLow and oscLow < rangeLower
showBull := true
break // 하나 찾으면 루프 종료
// ==========================================
// 3. 보조 조건 (MACD 골든크로스 & 이평선)
// ==========================================
= ta.macd(close, 12, 26, 9)
macdCross = ta.crossover(macdLine, signalLine) // MACD 골든크로스
ma5 = ta.sma(close, 5)
ma20 = ta.sma(close, 20)
maCross = ta.crossover(ma5, ma20) // 5일선이 20일선 돌파
// ==========================================
// 4. 시각화 (Plotting)
// ==========================================
// 1) 상승 다이버전스 발생 시 (강력한 바닥 신호)
plotshape(showBull,
title="상승 다이버전스",
style=shape.labelup,
location=location.belowbar,
color=color.red,
textcolor=color.white,
text="Bull Div (바닥신호)",
size=size.small,
offset=-lbR) // 과거 시점에 표시
// 2) MACD 골든크로스 (추세 확인용)
plotshape(macdCross and macdLine < 0, // 0선 아래에서 골든크로스 날 때만
title="MACD 골든크로스",
style=shape.triangleup,
location=location.belowbar,
color=color.yellow,
size=size.tiny,
text="MACD")
// 3) 이동평균선
plot(ma5, color=color.blue, title="5일선")
plot(ma20, color=color.orange, title="20일선")
// 알림 설정
alertcondition(showBull, title="상승 다이버전스 포착", message="상승 다이버전스 발생! 추세 반전 가능성")
dual moving average crossover Erdal//@version=5
indicator("MA Cross Simple", overlay=true)
// Inputs
fastLen = input.int(10)
slowLen = input.int(100)
// Moving averages
fastMA = ta.sma(close, fastLen)
slowMA = ta.sma(close, slowLen)
// Plot
plot(fastMA, color=color.green)
plot(slowMA, color=color.red)
// Cross signals
bull = ta.crossover(fastMA, slowMA)
bear = ta.crossunder(fastMA, slowMA)
// Labels
if bull
label.new(bar_index, low, "BUY", style=label.style_label_up, color=color.green)
if bear
label.new(bar_index, high, "SELL", style=label.style_label_down, color=color.red)
DWM HLOC, Mid & WicksSimple, yet effective.
1. Automatically calculate and projects key price levels from a previous period (Yesterday, OR Last Week / Month) onto the current trading session. It acts as an immediate Support & Resistance map based on historical price action.
2. Multi-Timeframe Logic
Modes --
Daily Mode: Projects yesterday's data onto today.
Weekly Mode: Projects last week's data onto the current week.
3. Key Levels Visualized The script calculates seven distinct price levels:
OHLC: Previous Open, High, Low, and Close.
Equilibrium (Mid): The exact 50% mark between the previous High and Low.
Wick Midpoints (New):
Upper Wick 50%: The midpoint between the High and the top of the body.
Lower Wick 50%: The midpoint between the Low and the bottom of the body.
4. Smart "Gap" Visualization The script uses unique starting points to help traders visualize market gaps:
Standard Levels (High, Low, Open, Mids): These lines originate from the Previous Period's Open, showing the full context of the level relative to time.
Close Level: This line originates from the Current Period's Open. This visually highlights the "Gap" (the jump in price between where the market closed previously and where it opened today).
5. Full Customization
Aesthetics: Every line can be individually toggled on/off.
Styling: Users can independently change the color, line style (Solid, Dotted, Dashed), and thickness for every specific level.
Buffett Quality Filter (TTM)//@version=6
indicator("Buffett Quality Filter (TTM)", overlay = true, max_labels_count = 500)
// 1. Get financial data (TTM / FY / FQ)
// EPS (TTM) for P/E
eps = request.financial(syminfo.tickerid, "EARNINGS_PER_SHARE_BASIC", "TTM")
// Profitability & moat (annual stats)
roe = request.financial(syminfo.tickerid, "RETURN_ON_EQUITY", "FY")
roic = request.financial(syminfo.tickerid, "RETURN_ON_INVESTED_CAPITAL", "FY")
// Margins (TTM – rolling 12 months)
grossMargin = request.financial(syminfo.tickerid, "GROSS_MARGIN", "TTM")
netMargin = request.financial(syminfo.tickerid, "NET_MARGIN", "TTM")
// Balance sheet safety (quarterly)
deRatio = request.financial(syminfo.tickerid, "DEBT_TO_EQUITY", "FQ")
currentRat = request.financial(syminfo.tickerid, "CURRENT_RATIO", "FQ")
// Growth (1-year change, TTM)
epsGrowth1Y = request.financial(syminfo.tickerid, "EARNINGS_PER_SHARE_BASIC_ONE_YEAR_GROWTH", "TTM")
revGrowth1Y = request.financial(syminfo.tickerid, "REVENUE_ONE_YEAR_GROWTH", "TTM")
// Free cash flow (TTM) and shares to build FCF per share for P/FCF
fcf = request.financial(syminfo.tickerid, "FREE_CASH_FLOW", "TTM")
sharesOut = request.financial(syminfo.tickerid, "TOTAL_SHARES_OUTSTANDING", "FQ")
fcfPerShare = (not na(fcf) and not na(sharesOut) and sharesOut != 0) ? fcf / sharesOut : na
// 2. Valuation ratios from price
pe = (not na(eps) and eps != 0) ? close / eps : na
pFcf = (not na(fcfPerShare) and fcfPerShare > 0) ? close / fcfPerShare : na
// 3. Thresholds (Buffett-style, adjustable)
minROE = input.float(15.0, "Min ROE %")
minROIC = input.float(12.0, "Min ROIC %")
minGM = input.float(30.0, "Min Gross Margin %")
minNM = input.float(8.0, "Min Net Margin %")
maxDE = input.float(0.7, "Max Debt / Equity")
minCurr = input.float(1.3, "Min Current Ratio")
minEPSG = input.float(8.0, "Min EPS Growth 1Y %")
minREVG = input.float(5.0, "Min Revenue Growth 1Y %")
maxPE = input.float(20.0, "Max P/E")
maxPFCF = input.float(20.0, "Max P/FCF")
// 4. Individual conditions
cROE = not na(roe) and roe > minROE
cROIC = not na(roic) and roic > minROIC
cGM = not na(grossMargin) and grossMargin > minGM
cNM = not na(netMargin) and netMargin > minNM
cDE = not na(deRatio) and deRatio < maxDE
cCurr = not na(currentRat) and currentRat > minCurr
cEPSG = not na(epsGrowth1Y) and epsGrowth1Y > minEPSG
cREVG = not na(revGrowth1Y) and revGrowth1Y > minREVG
cPE = not na(pe) and pe < maxPE
cPFCF = not na(pFcf) and pFcf < maxPFCF
// 5. Composite “Buffett Score” (0–10) – keep it on ONE line to avoid line-continuation errors
score = (cROE ? 1 : 0) + (cROIC ? 1 : 0) + (cGM ? 1 : 0) + (cNM ? 1 : 0) + (cDE ? 1 : 0) + (cCurr ? 1 : 0) + (cEPSG ? 1 : 0) + (cREVG ? 1 : 0) + (cPE ? 1 : 0) + (cPFCF ? 1 : 0)
// Strictness
minScoreForPass = input.int(7, "Min score to pass (0–10)", minval = 1, maxval = 10)
passes = score >= minScoreForPass
// 6. Visuals
bgcolor(passes ? color.new(color.green, 80) : na)
plot(score, "Buffett Score (0–10)", color = color.new(color.blue, 0))
// Info label on last bar
var label infoLabel = na
if barstate.islast
if not na(infoLabel)
label.delete(infoLabel)
infoText = str.format(
"Buffett score: {0} ROE: {1,number,#.0}% | ROIC: {2,number,#.0}% GM: {3,number,#.0}% | NM: {4,number,#.0}% P/E: {5,number,#.0} | P/FCF: {6,number,#.0} D/E: {7,number,#.00} | Curr: {8,number,#.00}",
score, roe, roic, grossMargin, netMargin, pe, pFcf, deRatio, currentRat)
infoLabel := label.new(bar_index, high, infoText,
style = label.style_label_right,
color = color.new(color.black, 0),
textcolor = color.white,
size = size.small)
67 2.0Major Market Trading Hours
New York Stock Exchange (NYSE)
Open: 9:30 AM (ET)
Close: 4:00 PM (ET)
Pre-Market: 4:00 AM – 9:30 AM (ET)
After Hours: 4:00 PM – 8:00 PM (ET)
Nasdaq
Open: 9:30 AM (ET)
Close: 4:00 PM (ET)
Pre-Market: 4:00 AM – 9:30 AM (ET)
After Hours: 4:00 PM – 8:00 PM (ET)
London Stock Exchange (LSE)
Open: 8:00 AM (GMT)
Close: 4:30 PM (GMT)
Tokyo Stock Exchange (TSE)
Open: 9:00 AM (JST)
Lunch Break: 11:30 AM – 12:30 PM (JST)
Close: 3:00 PM (JST)
Hong Kong Stock Exchange (HKEX)
Open: 9:30 AM (HKT)
Lunch Break: 12:00 PM – 1:00 PM (HKT)
Close: 4:00 PM (HKT)
Trend Trader//@version=6
indicator("Trend Trader", shorttitle="Trend Trader", overlay=true)
// User-defined input for moving averages
shortMA = input.int(10, minval=1, title="Short MA Period")
longMA = input.int(100, minval=1, title="Long MA Period")
// User-defined input for the instrument selection
instrument = input.string("US30", title="Select Instrument", options= )
// Set target values based on selected instrument
target_1 = instrument == "US30" ? 50 :
instrument == "NDX100" ? 25 :
instrument == "GER40" ? 25 :
instrument == "GOLD" ? 5 : 5 // default value
target_2 = instrument == "US30" ? 100 :
instrument == "NDX100" ? 50 :
instrument == "GER40" ? 50 :
instrument == "GOLD" ? 10 : 10 // default value
// User-defined input for the start and end times with default values
startTimeInput = input.int(12, title="Start Time for Session (UTC, in hours)", minval=0, maxval=23)
endTimeInput = input.int(17, title="End Time Session (UTC, in hours)", minval=0, maxval=23)
// Convert the input hours to minutes from midnight
startTime = startTimeInput * 60
endTime = endTimeInput * 60
// Function to convert the current exchange time to UTC time in minutes
toUTCTime(exchangeTime) =>
exchangeTimeInMinutes = exchangeTime / 60000
// Adjust for UTC time
utcTime = exchangeTimeInMinutes % 1440
utcTime
// Get the current time in UTC in minutes from midnight
utcTime = toUTCTime(time)
// Check if the current UTC time is within the allowed timeframe
isAllowedTime = (utcTime >= startTime and utcTime < endTime)
// Calculating moving averages
shortMAValue = ta.sma(close, shortMA)
longMAValue = ta.sma(close, longMA)
// Plotting the MAs
plot(shortMAValue, title="Short MA", color=color.blue)
plot(longMAValue, title="Long MA", color=color.red)
// MACD calculation for 15-minute chart
= request.security(syminfo.tickerid, "15", ta.macd(close, 12, 26, 9))
macdColor = macdLine > signalLine ? color.new(color.green, 70) : color.new(color.red, 70)
// Apply MACD color only during the allowed time range
bgcolor(isAllowedTime ? macdColor : na)
// Flags to track if a buy or sell signal has been triggered
var bool buyOnce = false
var bool sellOnce = false
// Tracking buy and sell entry prices
var float buyEntryPrice_1 = na
var float buyEntryPrice_2 = na
var float sellEntryPrice_1 = na
var float sellEntryPrice_2 = na
if not isAllowedTime
buyOnce :=false
sellOnce :=false
// Logic for Buy and Sell signals
buySignal = ta.crossover(shortMAValue, longMAValue) and isAllowedTime and macdLine > signalLine and not buyOnce
sellSignal = ta.crossunder(shortMAValue, longMAValue) and isAllowedTime and macdLine <= signalLine and not sellOnce
// Update last buy and sell signal values
if (buySignal)
buyEntryPrice_1 := close
buyEntryPrice_2 := close
buyOnce := true
if (sellSignal)
sellEntryPrice_1 := close
sellEntryPrice_2 := close
sellOnce := true
// Apply background color for entry candles
barcolor(buySignal or sellSignal ? color.yellow : na)
/// Creating buy and sell labels
if (buySignal)
label.new(bar_index, low, text="BUY", style=label.style_label_up, color=color.green, textcolor=color.white, yloc=yloc.belowbar)
if (sellSignal)
label.new(bar_index, high, text="SELL", style=label.style_label_down, color=color.red, textcolor=color.white, yloc=yloc.abovebar)
// Creating labels for 100-point movement
if (not na(buyEntryPrice_1) and close >= buyEntryPrice_1 + target_1)
label.new(bar_index, high, text=str.tostring(target_1), style=label.style_label_down, color=color.green, textcolor=color.white, yloc=yloc.abovebar)
buyEntryPrice_1 := na // Reset after label is created
if (not na(buyEntryPrice_2) and close >= buyEntryPrice_2 + target_2)
label.new(bar_index, high, text=str.tostring(target_2), style=label.style_label_down, color=color.green, textcolor=color.white, yloc=yloc.abovebar)
buyEntryPrice_2 := na // Reset after label is created
if (not na(sellEntryPrice_1) and close <= sellEntryPrice_1 - target_1)
label.new(bar_index, low, text=str.tostring(target_1), style=label.style_label_up, color=color.red, textcolor=color.white, yloc=yloc.belowbar)
sellEntryPrice_1 := na // Reset after label is created
if (not na(sellEntryPrice_2) and close <= sellEntryPrice_2 - target_2)
label.new(bar_index, low, text=str.tostring(target_2), style=label.style_label_up, color=color.red, textcolor=color.white, yloc=yloc.belowbar)
sellEntryPrice_2 := na // Reset after label is created
Grok/Claude Quantum Signal Pro * Enhanced v2# QSig Pro+ v2 — Dynamic RSI Enhancement
## Release: Quantum Signal Pro Enhanced v2
**Author:** ralis24 (with Claude assistance)
**Version:** 2.0
**Platform:** TradingView (Pine Script v6)
---
## Overview
Version 2 introduces **Trend-Adaptive RSI Thresholds** — a significant enhancement that dynamically adjusts buy and sell levels based on real-time trend strength. This allows the indicator to more effectively capture dips in uptrends and sell bounces in downtrends, rather than waiting for extreme oversold/overbought conditions that rarely occur during strong directional moves.
---
## The Problem v2 Solves
In the original QSig Pro+, RSI thresholds were fixed at 30 (oversold) and 70 (overbought). While these levels work well in ranging markets, they create issues in trending conditions:
- **Strong Uptrends:** Price rarely drops to RSI 30. Pullbacks typically bottom around RSI 40-50, causing missed buy opportunities.
- **Strong Downtrends:** Relief rallies rarely push RSI above 70. Bounces often exhaust around RSI 55-65, causing missed sell opportunities.
The v2 solution: **Let the market's trend strength dictate the appropriate RSI levels.**
---
## New Feature: Dynamic RSI Thresholds
### How It Works
The indicator now detects three distinct market states and applies corresponding RSI thresholds:
| Market State | Detection Criteria | RSI Buy Level | RSI Sell Level |
|--------------|-------------------|---------------|----------------|
| **Strong Uptrend** | +DI > -DI, ADX > 24, ADX rising | < 40 | > 80 |
| **Strong Downtrend** | -DI > +DI, ADX > 24, ADX rising | < 20 | > 60 |
| **Neutral/Ranging** | ADX < 24 or ADX falling | < 30 | > 70 |
### Trend State Detection Logic
```
Strong Uptrend = (+DI > -DI) AND (ADX > threshold) AND (ADX > ADX )
Strong Downtrend = (-DI > +DI) AND (ADX > threshold) AND (ADX > ADX )
Neutral = Neither condition met
```
### Anti-Whipsaw Protection
To prevent rapid switching between threshold sets during choppy transitions, a **confirmation buffer** requires the trend state to persist for a configurable number of bars (default: 2) before the indicator switches regimes.
---
## New Input Parameters
A new input group "**Dynamic RSI Thresholds**" has been added with the following settings:
| Parameter | Default | Range | Description |
|-----------|---------|-------|-------------|
| Enable Trend-Adaptive RSI Levels | ON | toggle | Master switch for the feature |
| ADX Strong Trend Threshold | 24 | 15-40 | ADX must exceed this to qualify as "strong" trend |
| ADX Rising Lookback (bars) | 3 | 1-10 | ADX must be higher than N bars ago to confirm rising |
| Trend Confirmation Bars | 2 | 1-5 | Bars trend must persist before switching thresholds |
| RSI Buy Level (Strong Uptrend) | 40 | 30-55 | Oversold threshold during confirmed uptrends |
| RSI Sell Level (Strong Uptrend) | 80 | 70-90 | Overbought threshold during confirmed uptrends |
| RSI Buy Level (Strong Downtrend) | 20 | 10-30 | Oversold threshold during confirmed downtrends |
| RSI Sell Level (Strong Downtrend) | 60 | 50-70 | Overbought threshold during confirmed downtrends |
| RSI Buy Level (Neutral/Ranging) | 30 | 20-40 | Standard oversold threshold |
| RSI Sell Level (Neutral/Ranging) | 70 | 60-80 | Standard overbought threshold |
---
## Enhanced Info Panel
The information panel now displays two new rows:
1. **Trend State** — Shows current regime: "STRONG UP" (green), "STRONG DOWN" (red), or "NEUTRAL" (gray)
2. **RSI Levels** — Displays the currently active thresholds (e.g., "40 / 80" during uptrends)
Additionally, the **ADX row** now includes a directional arrow (↑ or ↓) indicating whether ADX is rising or falling.
---
## Enhanced Signal Labels
Buy and sell labels on the chart now include contextual information:
**Before (v1):**
```
BUY: 97,234.50
```
**After (v2):**
```
BUY: 97,234.50
STRONG UP | RSI<40
```
This provides immediate visual confirmation of which threshold regime triggered the signal.
---
## Enhanced Alert System
### New Alert Conditions
Three new alerts have been added for trend state changes:
- **🔼 Strong Uptrend Started** — Fires when market transitions to strong uptrend (thresholds shift to 40/80)
- **🔽 Strong Downtrend Started** — Fires when market transitions to strong downtrend (thresholds shift to 20/60)
- **⚖️ Trend Neutralized** — Fires when trend weakens and thresholds reset to 30/70
### Enhanced Webhook JSON
The JSON alert payload now includes additional fields for bot integration:
```json
{
"action": "BUY",
"symbol": "BTC/USDT",
"price": "97234.50",
"rsi": "38.5",
"rsi_threshold": "40",
"adx": "28.3",
"fisher": "-1.87",
"trend_state": "STRONG UP"
}
```
---
## Bonus Enhancement: Dynamic Fisher Thresholds
As an additional refinement, the Fisher Transform thresholds now adjust slightly based on trend state:
| Trend State | Fisher Buy Level | Fisher Sell Level |
|-------------|------------------|-------------------|
| Strong Uptrend | -1.5 (loosened) | -2.0 (standard) |
| Strong Downtrend | -2.0 (standard) | +1.5 (loosened) |
| Neutral | -2.0 (standard) | +2.0 (standard) |
This allows the indicator to trigger signals in strong trends where momentum oscillators rarely reach extreme levels.
---
## Practical Trading Impact
### Strong Uptrend Example (BTC rally)
- **Before:** Waiting for RSI < 30 means missing most pullback entries
- **After:** RSI < 40 triggers buy signals on normal pullbacks within the trend
### Strong Downtrend Example (Bear market bounce)
- **Before:** Waiting for RSI > 70 means holding through entire relief rallies
- **After:** RSI > 60 triggers sell signals on bounce exhaustion
### Ranging Market
- Thresholds remain at traditional 30/70 levels where mean reversion works best
---
## Backward Compatibility
The dynamic RSI feature can be completely disabled by turning off "Enable Trend-Adaptive RSI Levels" in the settings. When disabled, the indicator behaves identically to v1 using the neutral threshold values (30/70).
---
## Summary of Changes
| Component | v1 | v2 |
|-----------|----|----|
| RSI Thresholds | Fixed 30/70 | Dynamic based on trend state |
| Trend State Detection | Not present | +DI/-DI + ADX + Rising confirmation |
| Whipsaw Protection | Not present | Configurable confirmation bars |
| Info Panel Rows | 10 | 12 (added Trend State, RSI Levels) |
| ADX Display | Value only | Value + direction arrow |
| Signal Labels | Price only | Price + Trend State + Threshold |
| Alert Conditions | 10 | 13 (added 3 trend state alerts) |
| Webhook Fields | 5 | 7 (added rsi_threshold, trend_state) |
| Fisher Thresholds | Fixed | Adaptive (subtle adjustment) |
---
## Recommended Settings by Market Type
### Crypto (High Volatility)
- ADX Strong Trend Threshold: 24
- RSI Buy (Uptrend): 40-45
- RSI Sell (Downtrend): 55-60
### Forex (Medium Volatility)
- ADX Strong Trend Threshold: 22
- RSI Buy (Uptrend): 38-42
- RSI Sell (Downtrend): 58-62
### Stocks/Indices (Lower Volatility)
- ADX Strong Trend Threshold: 20
- RSI Buy (Uptrend): 35-40
- RSI Sell (Downtrend): 60-65
---
## Installation
1. Open TradingView and navigate to Pine Editor
2. Remove or rename existing QSig Pro+ indicator
3. Paste the complete v2 code
4. Click "Add to Chart"
5. Configure Dynamic RSI Thresholds in settings as desired
---
*QSig Pro+ v2 — Smarter entries through trend-aware signal generation*
SUPER TREND + RSI FILTER PRO@version=5
indicator("SUPER TREND + RSI FILTER PRO", overlay=true, timeframe="", timeframe_gaps=true)
//---------------------------
// INPUTS
//---------------------------
factor = input.float(3.0, "SuperTrend Factor")
atr_len = input.int(10, "ATR Length")
rsi_len = input.int(14, "RSI Length")
rsi_buy = input.int(50, "RSI Buy Level")
rsi_sell = input.int(50, "RSI Sell Level")
//---------------------------
// SUPERTREND CALCULATION
//---------------------------
atr = ta.atr(atr_len)
upperBand = close + factor * atr
lowerBand = close - factor * atr
trend = 0.0
trend := close > nz(trend ) ? math.max(lowerBand, nz(trend )) : math.min(upperBand, nz(trend ))
// Coloration
bull = close > trend
bear = close < trend
//---------------------------
// RSI FILTER
//---------------------------
rsi = ta.rsi(close, rsi_len)
//---------------------------
// BUY & SELL SIGNALS
//---------------------------
buySignal = bull and rsi > rsi_buy and close > trend
sellSignal = bear and rsi < rsi_sell and close < trend
//---------------------------
// PLOT SUPERTREND
//---------------------------
plot(trend, color=bull ? color.green : color.red, linewidth=2, title="SuperTrend")
//---------------------------
// BUY / SELL MARKERS
//---------------------------
plotshape(buySignal, title="Buy", style=shape.labelup, color=color.green, size=size.small, text="BUY")
plotshape(sellSignal, title="Sell", style=shape.labeldown, color=color.red, size=size.small, text="SELL")
//---------------------------
// ALERTS
//---------------------------
alertcondition(buySignal, title="Buy Signal", message="BUY Signal - SuperTrend + RSI Filter")
alertcondition(sellSignal, title="Sell Signal", message="SELL Signal - SuperTrend + RSI Filter")
Distance From MA 52W Low+High This script shows the distance in percentage form of price from its ema and 52 week high and low. It can be seen on the chart as line or pinned to the scale as in the picture above.






















