Indicadores e estratégias
ADX with 20 ThresholdI wanted an ADX with a threshold line so I created an indicator.
ADX (20 Threshold) Cheat-Sheet
Purpose: Filter trades by trend strength.
Indicator: ADX (derived from DMI) with optional +DI/−DI lines.
Key Rules:
ADX > 20: Trend is strong → trade OK
ADX < 20: Trend is weak/choppy → avoid trades
Optional +DI / −DI: Shows momentum direction
HTF Use: Stable trend confirmation
LTF Use: Optional filter with EMA slope for entries
Tips:
Combine with EMAs or MACD for directional bias.
ADX does not indicate direction, only strength.
Best used to avoid low-probability trades in sideways markets.
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
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)**计算通道宽度。通道范围会随市场波动加剧而变宽,随波动平缓而收窄。
用法
震荡回归: 在横盘行情中,价格触及通道边缘时,往往有回调至中轴的倾向。
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.
3:55 PM Candle High/Low Levels (ARADO VERSION)a lil better in smaller tfs. Its a veryyyyy cool indicator guys (thanks ivan)
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*
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.
Candle Color FlipCandle Color Flip highlights potential short-term reversals caused by back-to-back candles closing in opposite colors.
The script:
Watches for a green candle that closes after a red candle without making a lower low, and for a red candle that closes after a green candle without making a higher high.
Plots compact markers on qualifying bars (green triangles below for red→green flips, red triangles above for green→red flips).
Offers alert conditions for both directions, so you can set notifications that fire only when a confirmed bar meets the flip rules.
Can also be used to determine exit points on trades by confirming reversals.
Use it to quickly spot where buyers or sellers may be stepping in while the prior candle’s extremes still hold. You can enable “Any alert() function call” for real-time notifications, or stick with bar-close alerts for confirmation.
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
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="상승 다이버전스 발생! 추세 반전 가능성")
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
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
Nifty Scalping System by Rakesh Sharma🎯 What This Indicator Does:
Core Features:
✅ Fast Entry/Exit Signals - Quick BUY/SELL labels on chart
✅ 3 Signal Modes:
Aggressive - More signals, faster entries
Moderate - Balanced (Recommended)
Conservative - Fewer but high-quality signals
✅ Automatic Target & Stop Loss - Plotted on chart as soon as you enter
✅ Time Filter - Only trades during your specified hours (9:20 AM - 3:15 PM default)
✅ Trade Statistics - Win rate, W/L ratio tracked automatically
✅ Live Dashboard - Shows trend, RSI, VWAP position, current trade status
Indicators Used:
📊 3 EMAs (9, 21, 50) - Trend direction
📈 Supertrend - Primary trend filter
💪 RSI - Momentum & overbought/oversold
💜 VWAP - Intraday support/resistance
📉 ATR - Dynamic stop loss & targets
📊 Volume - Confirmation of moves
⚙️ Best Settings for Nifty/Bank Nifty:
For 5-Minute Charts (Most Popular):
Signal Mode: Moderate
Target R:R: 1.5 (1:1.5 risk-reward)
Time Filter: 9:20 AM to 3:15 PM
For 3-Minute Charts (More Scalps):
Signal Mode: Aggressive
Target R:R: 1.0 (quick exits)
Time Filter: 9:20 AM to 3:15 PM
For 15-Minute Charts (Swing Scalping):
Signal Mode: Conservative
Target R:R: 2.0 (bigger targets)
Time Filter: 9:30 AM to 3:00 PM
💡 How to Use:
Step 1: Setup
Add indicator to 5-min Nifty or Bank Nifty chart
Choose your Signal Mode (start with Moderate)
Set Risk:Reward (1.5 is balanced)
Enable Time Filter (avoid first 10 mins)
Step 2: Trading
BUY Signal appears = Go LONG
Green label shows entry price
Green line = Target
Red line = Stop Loss
SELL Signal appears = Go SHORT
Red label shows entry price
Green line = Target
Red line = Stop Loss
Exit automatically when Target or SL is hit
Step 3: Risk Management
Automatic SL based on ATR (volatility)
Adjustable R:R ratio
Never trade outside session hours
🎯 Trading Rules (Important!):
✅ Take the Trade When:
Signal appears during trading session
Dashboard shows strong trend
Volume spike present
Price above/below VWAP (for buy/sell)
❌ Avoid Trading When:
First 10 minutes (9:15-9:25 AM)
Last 15 minutes (3:15-3:30 PM)
Dashboard shows "SIDEWAYS"
Major news events
📊 Dashboard Explained:
FieldWhat It MeansModeYour current signal sensitivityTrendOverall market directionRSIOverbought/Oversold/NeutralPrice vs VWAPAbove = Bullish, Below = BearishCurrent TradeShows if you're in a positionSessionTrading time active or notWin RateYour success %
🚀 Pro Tips for Nifty/Bank Nifty:
Best Timeframe: 5-minute chart
Best Time: 9:30 AM - 2:30 PM (avoid opening/closing rushes)
Risk per Trade: 1-2% of capital max
Follow the Trend: Take only BUY in uptrend, SELL in downtrend
Use Alerts: Set alerts so you don't miss signals
Start Small: Paper trade first with 1 lot
⚡ Quick Start Guide:
For Bank Nifty (5-min chart):
1. Signal Mode: Moderate
2. Target R:R: 1.5
3. Trading Hours: 9:20 AM - 3:15 PM
4. Watch for 3-5 signals per day
5. Average 30-50 points per trade
For Nifty 50 (5-min chart):
1. Signal Mode: Moderate
2. Target R:R: 1.5
3. Trading Hours: 9:20 AM - 3:15 PM
4. Watch for 3-5 signals per day
5. Average 15-30 points per trade
📈 Expected Performance:
Conservative Mode: 2-4 trades/day, 65-70% win rate
Moderate Mode: 4-8 trades/day, 55-65% win rate
Aggressive Mode: 8-15 trades/day, 45-55% win rate
This is a complete scalping system, Rakesh! All you need to do is:
Add to chart
Wait for signals
Follow the targets/stop losses
Track your stats
Ready to test it? Let me know if you want any adjustments! 🎯💰Claude can make mistakes. Please double-check responses.
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.
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.
Real Relative Strength Indicator### What is RRS (Real Relative Strength)?
RRS is a volatility-normalized relative strength indicator that shows you – in real time – whether your stock, crypto, or any asset is genuinely beating or lagging the broader market after adjusting for risk and volatility. Unlike the classic “price ÷ SPY” line that gets completely fooled by volatility regimes, RRS answers the only question that actually matters to professional traders:
“Is this ticker moving better (or worse) than the market on a risk-adjusted basis right now?”
It does this by measuring the excess momentum of your ticker versus a benchmark (SPY, QQQ, BTC, etc.) and then dividing that excess by the average volatility (ATR) of both instruments. The result is a clean, centered-around-zero oscillator that works the same way in calm markets, crash markets, or parabolic bull runs.
### How to Use the RRS Indicator (Aqua/Purple Area Version) in Practice
The indicator is deliberately simple to read once you know the rules:
Positive area (aqua) means genuine outperformance.
Negative area (purple) means genuine underperformance.
The farther from zero, the stronger the leadership or weakness.
#### Core Signals and How to Trade Them
- RRS crossing above zero → one of the highest-probability long signals in existence. The asset has just started outperforming the market on a risk-adjusted basis. Enter or add aggressively if price structure agrees.
- RRS crossing below zero → leadership is ending. Tighten stops, take partial or full profits, or flip short if you trade both sides.
- RRS above +2 (bright aqua area) → clear leadership. This is where the real money is made in bull markets. Trail stops, add on pullbacks, let winners run.
- RRS below –2 (bright purple area) → clear distribution or capitulation. Avoid new longs, consider short entries or protective puts.
- Extreme readings above +4 or below –4 (background tint appears) → rare, very high-conviction moves. Treat these like once-a-month opportunities.
- Divergence (not plotted here, but easy to spot visually): price making new highs while the aqua area is shrinking → distribution. Price making new lows while the purple area is shrinking → hidden buying and coming reversal.
#### Best Settings by Style and Asset Class
For stocks and ETFs: keep benchmark as SPY (or QQQ for tech-heavy names) and length 14–20 on daily/4H charts.
For crypto: change the benchmark to BTCUSD (or ETHUSD) immediately — otherwise the reading is meaningless. Length 10–14 works best on 1H–4H crypto charts because volatility is higher.
For day trading: drop length to 10–12 and use 15-minute or 5-minute charts. Signals are faster and still extremely clean.
#### Highest-Edge Setups (What Actually Prints Money)
- RRS crosses above zero while price is still below a major moving average (50 EMA, 200 SMA, etc.) → early leadership, often catches the exact bottom of a new leg up.
- RRS already deep aqua (+3 or higher) and price pulls back to support without RRS dropping below +1 → textbook add-on or re-entry zone.
- RRS deep purple and suddenly turns flat or starts curling up while price is still falling → hidden accumulation, usually the exact low tick.
That’s it. Master these few rules and the RRS becomes one of the most powerful edge tools you will ever use for rotation trading...
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)
PST Super Simple System v2.5+PinkSlips Trading was built to give traders real structure, real tools, and real support — without the confusion or false promises you find everywhere else. Everything we provide is focused on helping you trade with clarity and confidence.
Professional-Grade Indicators
We develop custom TradingView indicators designed to simplify your decision-making. Clean, reliable, and built to support consistent trading.
Daily Live Trading Sessions
Members can watch the market with us in real time. We walk through bias, key levels, trade execution, and risk management so you can learn the process step-by-step.
Personal Guidance and Trade Planning
Whether you need help building a strategy, fixing your discipline, or understanding your data, we offer direct support and tailored plans to help you improve faster.
A Focused, Results-Driven Community
PinkSlips Trading is built for traders who want to get better — not for hype. You’ll be surrounded by people who take trading seriously and are committed to long-term growth.
Camarilla Pivots with Pre-Market (Labeled)This Script for day trading , including pre market level
Enjoy
Charbillionaire






















