sDEFI IndexThe Synthetix Exchange provides a DeFi index that has too many components to be used as a chart ticker.
So here is an indicator to bypass the ticker limit.
From the Synthetics docs : docs.synthetix.io
DeFi Index (sDEFI)
Contract: 0xe1aFe1Fd76Fd88f78cBf599ea1846231B8bA3B6B
Token | Initial Weight
---------------------------
Aave | 15%
Synthetix Network Token | 15%
yearn.finance | 15%
Uniswap | 10%
Compound | 7.50%
Maker | 7.50%
Balancer | 5%
Curve DAO Token | 5%
Kyber Network | 5%
Ren | 5%
UMA | 5%
Wrapped Nexus Mutual | 5%
The chart shows it in comparison to FTX's DeFi index, quite a difference as you can see!
ابحث في النصوص البرمجية عن "文华财经tick价格"
CC - Consolidated Interval Display (CID)Ever wish you didn't have to rapidly flip between 6 different intervals to get the full picture?
Yeah, me too. Do you also wish that you kind of understood how the shift / unshift function works for arrays?
Yeah, I did too. Both of those birds are taken care of with one stone!
The Consolidated Interval Display uses the new Array structure and security to display data for 5m, 15m, 45m, 1h, 4h and 1d intervals SIMUTANEOUSLY! Regardless of which interval you're looking at you can get the full picture of numerical data without flipping around to get it.
This is my first script trying to use arrays. It basically shows the following for the given ticker:
ATR14, RSI7, RSI14, SMA50, SMA200 and VWAP at the 5 minute level.
ATR14, RSI7, RSI14, SMA50, SMA200 and VWAP at the 15 minute level.
ATR14, RSI7, RSI14, SMA50, SMA200 and VWAP at the 45 minute level.
ATR14, RSI7, RSI14, SMA50, SMA200 and VWAP at the 1 hour level.
ATR14, RSI7, RSI14, SMA50, SMA200 and VWAP at the 4 hour level.
ATR14, RSI7, RSI14, SMA50, SMA200 and VWAP at the 1 day level.
To make it more or less busy, I've allowed you to toggle off any of the levels you wish. I've also chosen to leave this as open source, as it's nothing too experimental, and I hope that it can gain some traction as an Array example that the public can use! If you don't like the different values that are shown, use this source code example as a spring-board to put values that you do care about onto the labels.
If this code has helped you at all please drop me a like or some constructive criticism if you do not think it's worth a like.
Good luck and happy trading friends.
If this gets traction, I will post something similar for a combination of SPY, VIX, GOLD, QQQ, IWM and TLT.
Margin Zones 5 (MZE5)Extended version of MZE script.
This indicator can be set up for 5 different tickers, so you can fill up your favourite tikers as fixed and switch between them without changing settings options of Tick Count, Margin and POC
Using option "Show default Zones if not Matched" - you can set up default options,
switching off "Show default Zones if not Matched" - will hide indicator for not matched tikers
By default option is Off
RUS:
Расширенная версия индикатора MZE, которая позволяет сделать настройки одновременно для 5 разных тикеров, соответственно переключаясь между отслеживаемыми тикерами не нужно каждый раз менять настройки. Достаточно один раз настроить базовые настройки к любимым тикерам и только корректировать значение Маржи и Обеспечения.
Используя Опцию "Show default Zones if not Matched" ("Показывать, когда нет совпадения") - индикатор будет отображаться для всех тикеров с настройками по умолчанию.
И наоборот (по умолчанию): при снятой галочке - индикатор будет отображаться только на тех тикерах, к которым привязан, и не будет мешать на остальных
Bitcoin Logarithmic Curves OscillatorThis a companion indicator for the Bitcoin Logarithmic Growth Curves indicator.
This is an oscillator version of the above. When the indicator is at / near 1 then Bitcoin price is at / near the upper range of its long-term logarithmic growth trend. When at / near 0 then price is at / near the lower range of that trend.
This indicator only works with the BLX Brave New Coin Index (ticker:BLX) and only on 1 day, 3 day, or 1 week timeframes.
ANN MACD : 25 IN 1 SCRIPTIn this script, I tried to fit deep learning series to 1 command system up to the maximum point.
After selecting the ticker, select the instrument from the menu and the system will automatically turn on the appropriate ann system.
Listed instruments with alternative tickers and error rates:
WTI : West Texas Intermediate (WTICOUSD , USOIL , CL1! ) Average error : 0.007593
BRENT : Brent Crude Oil (BCOUSD , UKOIL , BB1! ) Average error : 0.006591
GOLD : XAUUSD , GOLD , GC1! Average error : 0.012767
SP500 : S&P 500 Index (SPX500USD , SP1!) Average error : 0.011650
EURUSD : Eurodollar (EURUSD , 6E1! , FCEU1!) Average error : 0.005500
ETHUSD : Ethereum (ETHUSD , ETHUSDT ) Average error : 0.009378
BTCUSD : Bitcoin (BTCUSD , BTCUSDT , XBTUSD , BTC1!) Average error : 0.01050
GBPUSD : British Pound (GBPUSD,6B1! , GBP1!) Average error : 0.009999
USDJPY : US Dollar / Japanese Yen (USDJPY , FCUY1!) Average error : 0.009198
USDCHF : US Dollar / Swiss Franc (USDCHF , FCUF1! ) Average error : 0.009999
USDCAD : Us Dollar / Canadian Dollar (USDCAD) Average error : 0.012162
SOYBNUSD : Soybean (SOYBNUSD , ZS1!) Average error : 0.010000
CORNUSD : Corn (ZC1! ) Average error : 0.007574
NATGASUSD : Natural Gas (NATGASUSD , NG1!) Average error : 0.010000
SUGARUSD : Sugar (SUGARUSD , SB1! ) Average error : 0.011081
WHEATUSD : Wheat (WHEATUSD , ZW1!) Average error : 0.009980
XPTUSD : Platinum (XPTUSD , PL1! ) Average error : 0.009964
XU030 : Borsa Istanbul 30 Futures ( XU030 , XU030D1! ) Average error : 0.010727
VIX : S & P 500 Volatility Index (VX1! , VIX ) Average error : 0.009999
YM : E - Mini Dow Futures (YM1! ) Average error : 0.010819
ES : S&P 500 E-Mini Futures (ES1! ) Average error : 0.010709
GAZP : Gazprom Futures (GAZP , GZ1! ) Average error : 0.008442
SSE : Shangai Stock Exchange Composite (Index ) ( 000001 ) Average error : 0.011287
XRPUSD : Ripple (XRPUSD , XRPUSDT ) Average error : 0.009803
Note 1 : Australian Dollar (AUDUSD , AUD1! , FCAU1! ) : Instrument has been removed because it has an average error rate of over 0.13.
The average error rate is 0.1850.
I didn't delete it from the menu just because there was so much request,
You can use.
Note 2 : Friends have too many requests, it took me a week in total and 1 other script that I'll share in 2 days.
Reaching these error rates is a very difficult task, and when I keep at a low learning rate, they are trained for a very long time.
If I don't see the error rate at an average low, I increase the layers and go back into a longer process.
It takes me 45 minutes per instrument to command artificial neural networks, so I'll release one more open source, and then we'll be laying 70-80 percent of the world trade volume with artificial neural networks.
Note 3 :
I would like to thank wroclai for helping me with this script.
This script is subject to MIT License on behalf of both of us.
You can review my original idea scripts from my Github page.
You can use it free but if you are going to modify it, just quote this script .
I hope it will help everyone, after 1-2 days I will share another ann script that I think is of the same importance as this, stay tuned.
Regards , Noldo .
Premium/Discount (Input)Used to show Contango or Backwardation in futures contracts vs spot price. You can input your own tickers so can technically can be used to compare anything.
* In this example I'm showing Okex Quarterly contract vs Okex spot index price because it showcases it better.
* If you are using this after 2019 the default setting will not work because I set it to Bitmex which does not currently have a "current contract in front" ticker available.
It should be fairly self explanatory, but just ask below if you have any questions.
ck - Crypto Correlation IndicatorA simple Correlation Indicator initially configured for Crypto Trader use (but other markets can use this too).
It plots the correlation between the current chart (say BTCUSD ) versus 4 user-definable indices, currency pairs, stocks etc.
By default, the indicator is preconfigured for:
GOLD (Oz/$),
Dow Jones Index (DJI),
Standard & Poor 500 Index (SPX) ,
Dollar Index ( DXY )
You can set the period (currently 1D resolution) in the "Period" box in the settings, valid inputs are:
minutes (number), days (1D, 2D, 3D etc), weeks (1W, 2W etc), months (1M, 2M etc)
Length is the lagging period/smoothing applied - default is 14
When changing comparison instruments/tickers, you may find it useful to prefix the exchange with the instrument's ticker, for example:
Binance:BTCUSDT, NYSE:GOOG etc
*** Idea originally from the brilliant Backtest Rookies - backtest-rookies.com ***
WOW no repainting and no security() call! 100% real results!If you couldn't tell by the title, this is a joke lmao.
TV has an awful backtesting engine and I just wanted to prove this with a super simple script.
We buy when close > open
and sell when close < open.
That's it.
There is also some risk management and trade closing when we reach a certain drawdown, but wait!
TradingView doesn't know what equity drawdown is because they don't use tick data or any lower timeframe data! Wowow!
Ps - all tickdata for Forex & CFD historical data is free from Dukascopy if you want to perform your own backtesting ;)
Dukascopy Data
Enjoy
-DasanC
Put/Call Ratio De-TrendedExperimenting with de-trending the various Put/Call Ratios.
Use with tickers PCCE, PCC, PCE, PCOEX, etc. Type "PUT" in the ticker field to see the many options. Use daily charts. Then you can hide the put call ratio and overlay SPX to see the signals. The default MAs are a common way to detrend. Basically takes the 10 day moving average and 127 day moving average(half year in trading days), to "de-trend" the ratio to weed out the noise that is seen in the ratio.
If you can find anything useful or interesting with this, let me know. I think it is useful as is, but if you find an interesting way to use it let me know.
BFXLS - BitFinex Long/Shorts
Small improvement upon the above script - all credit should really go to pigloo
Auto-detects ticker and automatically loads the long/shorts for it - so works on more than just BTC
Note - only works on BitFinex and only works for tickers which have long and short data available!
Green area = Longs
Red area = Shorts
Lighter area = Longs - Shorts
EVWMA Acc/Dist. Pressure & FRACTAL BANDS by @XeL_ArjonaEVWMA ACCUMULATION/DISTRIBUTION PRESSURE & FRACTAL BANDS
Version: 3.0 @ 4.11.2015
By Ricardo M Arjona @XeL_Arjona
DISCLAIMER:
The following indicator IS NOT INTENDED TO BE A FORMAL INVESTMENT ADVICE OR TRADING RECOMMENDATION BY THE AUTHOR, nor should be construed as such. Users will be fully responsible by their use regarding any kind of trading vehicles or assets.
The following script and ideas within this work are FREELY AND PUBLICLY availables on the Web for NON LUCRATIVE ACTIVITIES and must remain as is.
-== IMPORTANT: THIS IS AN EXPERIMENTAL INDICATOR ==-
What is this?
This work is a derivation of my previous Accumulation/Distribution scripts publicly available in TradingView in an effort to clean, speedup and make the indicator cleaner as possible.
The current indicator is based on already tested and Mathematically proof concepts as described below:
The MAIN Rolling back median line or "Vortex" is constructed by a simple and equal weighting of distributed volume along the candle range (This approach is just an "estimator" of Buyers Vs. Sellers given the lack of tick resolution in TradingView, a real "DELTA" can only be 100% reliable with Market Depth (Ask/Bid ticks)), Given this, with each "volume weights", the price is post-processed against a true statistical Average calculation formerly: ELASTIC VOLUME WEIGHTED MOVING AVERAGE.
The FRACTAL BANDS are just Standard Deviation's with GOLDEN RATIO as multiplier (1.618) derived one from each other within it's origin on the former "Vortex Median".
The Standard Error Bands comply as the original indicator described by Jon Andersen but given the true statistical nature of EVWMA, the original LinReg line has been substituted by the former.
ALL NEW IDEAS OR MODIFICATIONS to this indicator are welcome in favor to deploy a better technical tool. Any important addition to this work MUST REMAIN PUBLIC by means of CreativeCommons CC & TradingView user rules. (C) 2015 @XeL_Arjona
FirstStrike Long 200 - Daily Trend Rider [KedArc Quant]Strategy Description
FirstStrike Long 200 is a disciplined, long-only momentum strategy designed for daily "strike-first" entries in trending markets. It scans for RSI momentum above a customizable trigger (default 50), confirmed by EMA trend filters, and limits you to *exactly one trade per day* to avoid overtrading. It uses ATR for dynamic risk management (1.5x stop, 2:1 RR target) and optional trailing stops to ride winners. Backtested with realistic commissions and sizing, it prioritizes low drawdowns (<1% max in tests) over aggressive gains—ideal for swing traders seeking quality setups in bull runs.
Why It's Different from Other Strategies
Unlike generic RSI crossover bots or EMA ribbon mashups that spam signals and bleed in chop, FirstStrike enforces a "one-and-done" daily gate, blending precision momentum (RSI modes with grace/sustain) with robust filters (volume, sessions, rearm dips).
How It Helps Traders
- Reduces Emotional Trading: One entry/day forces discipline—miss a setup? Wait for tomorrow. Perfect for busy pros avoiding screen fatigue.
- Adapts to Regimes: Switch modes for trends ("Cross+Grace") vs. ranges ("Any bar")—boosts win rates 5-10% in backtests on high-beta names like .
- Risk-First Design: ATR scales stops to vol capping DD at 0.2% while targeting 2R winners. Trailing option locks +3-5% runs without early exits.
- Quick Insights: Labels/alerts flag entries with RSI values; bgcolor highlights signals for visual scanning. Helps spot "first-strike" edges in uptrends, filtering ~60% noise.
Why This Is Not a Mashup
This isn't a Frankenstein of off-the-shelf indicators—while it uses standard RSI/EMA/ATR (core Pine primitives), the innovation lies in:
- Custom Trigger Engine: Switchable modes (e.g., "Cross+Grace+Sustain" requires post-cross hold) prevent perpetual signals, unlike basic `ta.crossover()`.
- Daily Rearm Gate: Resets eligibility only after a dip (if enabled), tying momentum to mean-reversion—original logic not found in common scripts.
- Per-Day Isolation: `var` vars + `ta.change(time("D"))` ensure zero pyramiding/overlaps, beyond simple session filters.
All formulae are derived in-house for "first-strike" (early RSI pops in trends), not copied from public repos.
Input Configurations
Let's break down every input in the FirstStrike Long 200 strategy. These settings let you tweak the strategy like a dashboard—start with defaults for quick testing,
then adjust based on your asset or timeframe (5m for intraday). They're grouped logically to keep things organized, and most have tooltips in the script for quick reminders.
RSI / Trigger Group: The Heart of Momentum Detection
This is where the magic starts—the strategy hunts for "upward energy" using RSI (Relative Strength Index), a tool that measures if a stock is overbought (too hot) or oversold (too cold) on a 0-100 scale.
- RSI Length: How many bars (candles) back to calculate RSI. Default is 14, like a 14-day window for daily charts. Shorter (e.g., 9) makes it snappier for fast markets; longer (21) smooths out noise but misses quick turns.
- Trigger Level (RSI >= this): The key RSI value where the strategy says, "Go time!" Default 50 means enter when RSI crosses or holds above the neutral midline. Why is this trigger required? It acts as your "green light" filter—without it, you'd enter on every tiny price wiggle, leading to endless losers. RSI above this shows building buyer power, avoiding weak or sideways moves. It's essential for quality over quantity, especially in one-trade-per-day setups.
- Trigger Mode: Picks how strict the RSI signal must be. Options: "Cross only" (exact RSI crossover above trigger—super precise, fewer trades); "Cross+Grace" (crossover or within a grace window after—gives a second chance); "Cross+Grace+Sustain" (crossover/grace plus RSI holding steady for bars—best for steady climbs); "Any bar >= trigger" (looser, any bar above—more opportunities but riskier in chop). Start with "Any bar" for trends, switch to "Cross only" for caution.
- Grace Window (bars after cross): If mode allows, how many bars post-RSI-cross you can still enter if RSI dips but recovers. Default 30 (about 2.5 hours on 5m). Zero means no wiggle room—pure precision.
- Sustain Bars (RSI >= trigger): In sustain mode, how many straight bars RSI must stay above trigger. Default 3 ensures it's not a fluke spike.
- Require RSI Dip Below Rearm Before Any Entry?: A yes/no toggle. If on, the strategy "rearms" only after RSI dips below a low level (like a breather), preventing back-to-back signals in overextended rallies.
- Rearm Level (if requireDip=true): The dip threshold for rearming. Default 45—RSI must go below this to reset eligibility. Lower (30) for deeper pullbacks in volatile stocks.
For the trigger level itself, presets matter a lot—default 50 is neutral and versatile for broad trends. Bump to 55-60 for "strong momentum only" (fewer but higher-win trades, great in bull runs like tech surges); drop to 40-45 for "early bird" catches in recoveries (more signals but watch for fakes in ranges). The optimize hint (40-60) lets you test these in TradingView to match your risk—higher presets cut noise by 20-30% in backtests.
Trend / Filters Group: Keeping You on the Right Side of the Market
These EMAs (Exponential Moving Averages) act like guardrails, ensuring you only long in uptrends.
- EMA (Fast) Confirmation: Short-term EMA for price action. Default 20 periods—price must be above this for "recent strength." Shorter (10) reacts faster to intraday pops.
- EMA (Trend Filter): Long-term EMA for big-picture trend. Default 200 (classic "above the 200-day" rule)—price above it confirms bull market. Minimum 50 to avoid over-smoothing.
Optional Hour Window Group: Timing Your Strikes
Avoid bad hours like lunch lulls or after-hours tricks.
- Restrict by Session?: Yes/no for using exact market hours. Default off.
- Session (e.g., 0930-1600 for NYSE): Time string like "0930-1600" for open to close. Auto-skips pre/post-market noise.
- Restrict by Hour Range?: Fallback yes/no for simple hours. Default off.
- Start Hour / End Hour: Clock times (0-23). Defaults 9-15 ET—focus on peak volume.
Volume Filter Group: No Volume, No Party
Confirms conviction—big moves need big participation.
- Require Volume > SMA?: Yes/no toggle. Default off—only fires on above-average volume.
- Volume SMA Length: Periods for the average. Default 20—compares current bar to recent norm.
Risk / Exits Group: Protecting and Profiting Smartly
Dynamic stops based on volatility (ATR = Average True Range) keep things realistic.
- ATR Length: Bars for ATR calc. Default 14—measures recent "wiggle room" in price.
- ATR Stop Multiplier: How far below entry for stop-loss. Default 1.5x ATR—gives breathing space without huge risk
- Take-Profit R Multiple: Reward target as multiple of risk. Default 2.0 (2:1 ratio)—aims for twice your stop distance.
- Use Trailing Stop?: Yes/no for profit-locking trail. Default off—activates after entry.
- Trailing ATR Multiplier: Trail distance. Default 2.0x ATR—looser than initial stop to let winners run.
These inputs make the strategy plug-and-play: Defaults work out-of-box for trending stocks, but tweak RSI trigger/modes first for your style.
Always backtest changes—small shifts can flip a 40% win rate to 50%+!
Outputs (Visuals & Alerts):
- Plots: Blue EMA200 (trend line), Orange EMA20 (price filter), Green dashed entry price.
- Labels: Green "LONG" arrow with RSI value on entries.
- Background: Light green highlight on signal bars.
- Alerts: "FirstStrike Long Entry" fires on conditions (integrates with TradingView notifications).
Entry-Exit Logic
Entry (Long Only, One Per Day):
1. Daily Reset: New day clears trade gate and (if required) rearm status.
2. Filters Pass: Time/session OK + Close > EMA200 (trend) + Close > EMA20 (price) + Volume > SMA (if enabled) + Rearmed (dip below rearm if toggled).
3. Trigger Fires: RSI >= trigger via selected mode (e.g., crossover + grace window).
4. Execute: Enter long at close; set daily flag to block repeats.
Exit:
- Stop-Loss: Entry - (ATR * 1.5) – dynamic, vol-scaled.
- Take-Profit: Entry + (Risk * 2.0) – fixed RR.
- Trailing (Optional): Activates post-entry; trails at Close - (ATR * 2.0), updating on each bar for trend extension.
No shorts or hedging—pure long bias.
Formulae Used
- RSI: `ta.rsi(close, rsiLen)` – Standard 14-period momentum oscillator (0-100).
- EMAs: `ta.ema(close, len)` – Exponential moving averages for trend/price filters.
- ATR: `ta.atr(atrLen)` – True range average for stop sizing: Stop = Entry - (ATR * mult).
- Volume SMA: `ta.sma(volume, volLen)` – Simple average for relative strength filter.
- Grace Window: `bar_index - lastCrossBarIndex <= graceBars` – Counts bars since RSI crossover.
- Sustain: `ta.barssince(rsi < trigger) >= sustainBars` – Consecutive bars above threshold.
- Session Check: `time(timeframe.period, sessionStr) != 0` – TradingView's built-in session validator.
- Risk Distance: `riskPS = entry - stop; TP = entry + (riskPS * RR)` – Asymmetric reward calc.
FAQ
Q: Why only one trade/day?
A: Prevents revenge trading in volatile sessions . Backtests show it cuts losers by 20-30% vs. multi-entry bots.
Q: Does it work on all assets/timeframes?
A: Best for trending stocks/indices on 5m-1H. Test on crypto/forex with wider ATR mult (2.0+).
Q: How to optimize?
A: Use TradingView's optimizer on RSI trigger (40-60) and EMA fast (10-30). Aim for PF >1.0 over 1Y data.
Q: Alerts don't fire—why?
A: Ensure `alertcondition` is enabled in script settings. Test with "Any alert() function calls only."
Q: Trailing stop too loose?
A: Tune `trailMult` to 1.5 for tighter; it activates alongside fixed TP/SL for hybrid protection.
Glossary
- Grace Window: Post-RSI-cross period (bars) where entry still allowed if RSI holds trigger.
- Rearm Dip: Optional pullback below a low RSI level (e.g., 45) to "reset" eligibility after signals.
- Profit Factor (PF): Gross profit / gross loss—>1.0 means winners outweigh losers.
- R Multiple: Risk units (e.g., 2R = 2x stop distance as target).
- Sustain Bars: Consecutive bars RSI stays >= trigger for mode confirmation.
Recommendations
- Backtest First: Run on your symbols (/) over 6-12M; tweak RSI to 55 for +5% win rate.
- Live Use: Start paper trading with `useSession=true` and `useVol=true` to filter noise.
- Pairs Well With: Higher TF (daily) for bias; add ADX (>25) filter for strong trends (code snippet in prior chats).
- Risk Note: 10% sizing suits $100k+ accounts; scale down for smaller. Not financial advice—past performance ≠ future.
- Publish Tip: Add tags like "momentum," "RSI," "long-only" on TradingView for visibility.
Strategy Properties & Backtesting Setup
FirstStrike Long 200 is configured with conservative, realistic backtesting parameters to ensure reliable performance simulations. These settings prioritize capital preservation and transparency, making it suitable for both novice and experienced traders testing on stocks.
Initial Capital
$100,000 Standard starting equity for portfolio-level testing; scales well for retail accounts. Adjust lower (e.g., $10k) for smaller simulations.
Base Currency
Default (USD) Aligns with most US equities (e.g., NASDAQ symbols); auto-converts for other assets.
Order Size
1 (Quantity) Fixed share contracts for simplicity—e.g., buys 1 share per trade. For % of equity, switch to "Percent of Equity" in strategy code.
Pyramiding
0 Orders No additional entries on open positions; enforces strict one-trade-per-day discipline to avoid overexposure.
Commission
0.1% Realistic broker fee (e.g., Interactive Brokers tier); factors in round-trip costs without over-penalizing winners.
Verify Price for Limit Orders
0 Ticks No slippage delay on TPs—assumes ideal fills for historical accuracy.
Slippage
0 Ticks Zero assumed slippage for clean backtests; real-world trading may add 1-2 ticks on volatile opens.
These defaults yield low drawdowns (<0.3% max in tests) while capturing trend edges. For live trading, enable slippage (1-3 ticks) to mimic execution gaps. Always forward-test before deploying!
⚠️ Disclaimer
This script is provided for educational purposes only.
Past performance does not guarantee future results.
Trading involves risk, and users should exercise caution and use proper risk management when applying this strategy.
MACD-V+ (ATR Normalized MACD)MACD-V+ is an ATR-normalized MACD tool that focuses on true turning points inside Overbought/Oversold zones. It marks a signal only when the MACD’s slope changes direction and shows real progress back toward the zero line, with an optional dwell (depth & time) filter so you don’t get faked out by shallow pokes into a zone. Clean visuals, “first-in-zone” gating, and configurable labeling make it practical for discretionary and systematic traders alike.
For best results, adjust Overbought and Oversold levels based on stock volatility. The default settings of 150 and -150 are for highly volatile tickers. Reduce for less volatile tickers.
Please help me improve the code for everyone.
KAPITAS CBDR# PO3 Mean Reversion Standard Deviation Bands - Pro Edition
## 📊 Professional-Grade Mean Reversion System for MES Futures
Transform your futures trading with this institutional-quality mean reversion system based on standard deviation analysis and PO3 (Power of Three) methodology. Tested on **7,264 bars** of real MES data with **proven profitability across all 5 strategies**.
---
## 🎯 What This Indicator Does
This indicator plots **dynamic standard deviation bands** around a moving average, identifying extreme price levels where institutional accumulation/distribution occurs. Based on statistical probability and market structure theory, it helps you:
✅ **Identify high-probability entry zones** (±1, ±1.5, ±2, ±2.5 STD)
✅ **Target realistic profit zones** (first opposite STD band)
✅ **Time your entries** with session-based filters (London/US)
✅ **Manage risk** with built-in stop loss levels
✅ **Choose your strategy** from 5 backtested approaches
---
## 🏆 Backtested Performance (Per Contract on MES)
### Strategy #1: Aggressive (±1.5 → ∓0.5) 🥇
- **Total Profit:** $95,287 over 1,452 trades
- **Win Rate:** 75%
- **Profit Factor:** 8.00
- **Target:** 80 ticks ($100) | **Stop:** 30 ticks ($37.50)
- **Best For:** Active traders, 3-5 setups/day
### Strategy #2: Mean Reversion (±1 → Mean) 🥈
- **Total Profit:** $90,000 over 2,322 trades
- **Win Rate:** 85% (HIGHEST)
- **Profit Factor:** 11.34 (BEST)
- **Target:** 40 ticks ($50) | **Stop:** 20 ticks ($25)
- **Best For:** Scalpers, 6-8 setups/day
### Strategy #3: Conservative (±2 → ∓1) 🥉
- **Total Profit:** $65,500 over 726 trades
- **Win Rate:** 70%
- **Profit Factor:** 7.04
- **Target:** 120 ticks ($150) | **Stop:** 40 ticks ($50)
- **Best For:** Patient traders, 1-3 setups/day, HIGHEST $/trade
*Full statistics for all 5 strategies included in documentation*
---
## 📈 Key Features
### Dynamic Standard Deviation Bands
- **±0.5 STD** - Intraday mean reversion zones
- **±1.0 STD** - Primary reversion zones (68% of price action)
- **±1.5 STD** - Extended zones (optimal balance)
- **±2.0 STD** - Extreme zones (95% of price action)
- **±2.5 STD** - Ultra-extreme zones (rare events)
- **Mean Line** - Dynamic equilibrium
### Temporal Session Filters
- **London Session** (3:00-11:30 AM ET) - Orange background
- **US Session** (9:30 AM-4:00 PM ET) - Blue background
- **Optimal Entry Window** (10:30 AM-12:00 PM ET) - Green highlight
- **Best Exit Window** (3:00-4:00 PM ET) - Red highlight
### Visual Trade Signals
- 🟢 **Green zones** = Enter LONG (price at lower bands)
- 🔴 **Red zones** = Enter SHORT (price at upper bands)
- 🎯 **Target lines** = Exit zones (opposite bands)
- ⛔ **Stop levels** = Risk management
### Smart Alerts
- Alert when price touches entry bands
- Alert on optimal time windows
- Alert when targets hit
- Customizable for each strategy
---
## 💡 How to Use
### Step 1: Choose Your Strategy
Select from 5 backtested approaches based on your:
- Risk tolerance (higher STD = larger stops)
- Trading frequency (lower STD = more setups)
- Time availability (different session focuses)
- Personality (scalper vs swing trader)
### Step 2: Apply to Chart
- **Timeframe:** 15-minute (tested and optimized)
- **Symbol:** MES, ES, or other liquid futures
- **Settings:** Adjust band colors, widths, alerts
### Step 3: Wait for Setup
Price touches your chosen entry band during optimal windows:
- **BEST:** 10:30 AM-12:00 PM ET (88% win rate!)
- **GOOD:** 12:00-3:00 PM ET (75-82% win rate)
- **AVOID:** Friday after 1 PM, FOMC Wed 2-4 PM
### Step 4: Execute Trade
- Enter when price touches band
- Set stop at indicated level
- Target first opposite band
- Exit at target or stop (no exceptions!)
### Step 5: Manage Risk
- **For $50K funded account ($250 limit): Use 2 MES contracts**
- Stop after 3 consecutive losses
- Reduce size in low-probability windows
- Track cumulative daily P&L
---
## 📅 Optimal Trading Windows
### By Time of Day
- **10:30 AM-12:00 PM ET:** 88% win rate (BEST) ⭐⭐⭐
- **12:00-1:30 PM ET:** 82% win rate (scalping)
- **1:30-3:00 PM ET:** 76% win rate (afternoon)
- **3:00-4:00 PM ET:** Best EXIT window
### By Day of Week
- **Wednesday:** 82% win rate (BEST DAY) ⭐⭐⭐
- **Tuesday:** 78% win rate (highest volume)
- **Thursday:**
Cumulative Returns by Session [BackQuant]Cumulative Returns by Session
What this is
This tool breaks the trading day into three user-defined sessions and tracks how much each session contributes to return, volatility, and volume. It then aggregates results over a rolling window so you can see which session has been pulling its weight, how streaky each session has been, and how sessions relate to one another through a compact correlation heatmap.
We’ve also given the functionality for the user to use a simplified table, just by switching off all settings they are not interested in.
How it works
1) Session segmentation
You define APAC, EU, and US sessions with explicit hours and time zones. The script detects when each session starts and ends on every intraday bar and records its open, intraday high and low, close, and summed volume.
2) Per-session math
At each session end the script computes:
Return — either Percent: (Close−Open)÷Open×100(Close − Open) ÷ Open × 100(Close−Open)÷Open×100 or Points: (Close−Open)(Close − Open)(Close−Open), based on your selection.
Volatility — either Range: (High−Low)÷Open×100(High − Low) ÷ Open × 100(High−Low)÷Open×100 or ATR scaled by price: ATR÷Open×100ATR ÷ Open × 100ATR÷Open×100.
Volume — total volume transacted during that session.
3) Storage and lookback
Each day’s three session stats are stored as a row. You choose how many recent sessions to keep in memory. The script then:
Builds cumulative returns for APAC, EU, US across the lookback.
Computes averages, win rates, and a Sharpe-like ratio avgreturn÷avgvolatilityavg return ÷ avg volatilityavgreturn÷avgvolatility per session.
Tracks streaks of positive or negative sessions to show momentum.
Tracks drawdowns on cumulative returns to show worst runs from peak.
Computes rolling means over a short window for short-term drift.
4) Correlation heatmap
Using the stored arrays of session returns, the script calculates Pearson correlations between APAC–EU, APAC–US, and EU–US, and colors the matrix by strength and sign so you can spot coupling or decoupling at a glance.
What it plots
Three lines: cumulative return for APAC, EU, US over the chosen lookback.
Zero reference line for orientation.
A statistics table with cumulative %, average %, positive session rate, and optional columns for volatility, average volume, max drawdown, current streak, return-to-vol ratio, and rolling average.
A small correlation heatmap table showing APAC, EU, US cross-session correlations.
How to use it
Pick the asset — leave Custom Instrument empty to use the chart symbol, or point to another symbol for cross-asset studies.
Set your sessions and time zones — defaults approximate APAC, EU, and US hours, but you can align them to exchange times or your workflow.
Choose calculation modes — Percent vs Points for return, Range vs ATR for volatility. Points are convenient for futures and fixed-tick assets, Percent is comparable across symbols.
Decide the lookback — more sessions smooths lines and stats; fewer sessions makes the tool more reactive.
Toggle analytics — add volatility, volume, drawdown, streaks, Sharpe-like ratio, rolling averages, and the correlation table as needed.
Why session attribution helps
Different sessions are driven by different flows. Asia often sets the overnight tone, Europe adds liquidity and direction changes, and the US session can dominate range expansion. Separating contributions by session helps you:
Identify which session has been the main driver of net trend.
Measure whether volatility or volume is concentrated in a specific window.
See if one session’s gains are consistently given back in another.
Adapt tactics: fade during a mean-reverting session, press during a trending session.
Reading the tables
Cumulative % — sum of session returns over the lookback. The sign and slope tell you who is carrying the move.
Avg Return % and Positive Sessions % — direction and hit rate. A low average but high hit rate implies many small moves; the reverse implies occasional big swings.
Avg Volatility % — typical intrabars range for that session. Compare with Avg Return to judge efficiency.
Return/Vol Ratio — return per unit of volatility. Higher is better for stability.
Max Drawdown % — worst cumulative give-back within the lookback. A quick way to spot riskiness by session.
Current Streak — consecutive up or down sessions. Useful for mean-reversion or regime awareness.
Rolling Avg % — short-window drift indicator to catch recent turnarounds.
Correlation matrix — green clusters indicate sessions tending to move together; red indicates offsetting behavior.
Settings overview
Basic
Number of Sessions — how many recent days to include.
Custom Instrument — analyze another ticker while staying on your current chart.
Session Configuration and Times
Enable or hide APAC, EU, US rows.
Set hours per session and the specific time zone for each.
Calculation Methods
Return Calculation — Percent or Points.
Volatility Calculation — Range or ATR; ATR Length when applicable.
Advanced Analytics
Correlation, Drawdown, Momentum, Sharpe-like ratio, Rolling Statistics, Rolling Period.
Display Options and Colors
Show Statistics Table and its position.
Toggle columns for Volatility and Volume.
Pick individual colors for each session line and row accents.
Common applications
Session bias mapping — find which window tends to trend in your market and plan exposure accordingly.
Strategy scheduling — allocate attention or risk to the session with the best return-to-vol ratio.
News and macro awareness — see if correlation rises around central bank cycles or major data releases.
Cross-asset monitoring — set the Custom Instrument to a driver (index future, DXY, yields) to see if your symbol reacts in a particular session.
Notes
This indicator works on intraday charts, since sessions are defined within a day. If you change session clocks or time zones, give the script a few bars to accumulate fresh rows. Percent vs Points and Range vs ATR choices affect comparability across assets, so be consistent when comparing symbols.
Session context is one of the simplest ways to explain a messy tape. By separating the day into three windows and scoring each one on return, volatility, and consistency, this tool shows not just where price ended up but when and how it got there. Use the cumulative lines to spot the steady driver, read the table to judge quality and risk, and glance at the heatmap to learn whether the sessions are amplifying or canceling one another. Adjust the hours to your market and let the data tell you which session deserves your focus.
Gann Fan Strategy [KedarArc Quant]Description
A single-concept, rule-based strategy that trades around a programmatic Gann Fan.
It anchors to a swing (or a manual point), builds 1×1 and related fan lines numerically, and triggers entries when price interacts with the 1×1 (breakout or bounce). Management is done entirely with the fan structure (next/previous line) plus optional ATR trailing.
What TV indicators are used
* Pivots: `ta.pivothigh/ta.pivotlow` to confirm swing highs/lows for anchor selection.
* ATR: `ta.atr` only to scale the 1×1 slope (optional) and for an optional trailing stop.
* EMA: `ta.ema` as a trend filter (e.g., only long above the EMA, short below).
No RSI/MACD/Stoch/Heikin/etc. The logic is one coherent framework: Gann price–time geometry, with ATR as a scale and EMA as a risk filter.
How it works
1. Anchor
* Auto: chooses the most recent *confirmed* pivot (you control Left/Right).
* Manual: set a price and bar index and the fan will hold that point (no re-anchoring).
* Optional Re-anchor when a newer pivot confirms.
2. 1×1 Slope (numeric, not cosmetic)
* ATR mode: `1×1 = ATR(Length) × Multiplier` (adapts to volatility).
* Fixed mode: `ticks per bar` (constant slope).
Because slope is numeric, it doesn’t change with chart zoom, unlike the drawing tool.
3. Fan Lines
Builds classic ratios around the 1×1: 1/8, 1/4, 1/3, 1/2, 1/1, 2/1, 3/1, 4/1, 8/1.
4. Signals
* Breakout: cross of price over/under the 1×1 in the EMA-aligned direction.
* Bounce (optional): touch + reversal across the 1×1 to reduce whipsaw.
5. Exits & Risk
* Take-profit at the next fan line; Stop at the previous fan line.
* If a level is missing (right after re-anchor), a fallback Risk-Reward (RR) is used.
* Optional ATR trailing stop.
Why this is unique
* True numeric fan: The 1×1 slope is calculated from ATR or fixed ticks—not from screen geometry—so it is scale-invariant and reproducible across users/timeframes.
* Deterministic anchor logic: Uses confirmed pivots (with your L/R settings). No look-ahead; anchors update only when the right bars complete.
* Fan-native trade management: Both entries and exits come from the fan structure itself (with a minimal ATR/EMA assist), keeping the method pure.
* Two entry archetypes: Breakout for momentum days; Bounce for range days—switchable without changing the core model.
* Manual mode: Lock a session’s bias by anchoring to a chosen swing (e.g., day’s first major low/high) and keep the fan constant all day.
Inputs (quick guide)
* Auto Anchor (Left/Right): pivot sensitivity. Higher values = fewer, stronger anchors.
* Re-anchor: refresh to newer pivots as they confirm.
* Manual Anchor Price / Bar Index: fixes the fan (turn Auto off).
* Scale 1×1 by ATR: on = adaptive; off = use ticks per bar.
* ATR Length / ATR Multiplier: controls adaptive slope; start around 14 / 0.25–0.35.
* Ticks per bar: exact fixed slope (match a hand-drawn fan by computing slope ÷ mintick).
* EMA Trend Filter: e.g., 50–100; trades only in EMA direction.
* Use Bounce: require touch + reverse across 1×1 (helps in chop).
* TP/SL at fan lines; Fallback RR for missing levels; ATR Trailing Stop optional.
* Transparency/Plot EMA: visual preferences.
Tips
* Range days: larger pivots (L/R 8–12), Bounce ON, ATR Multiplier \~0.30–0.40, EMA 100.
* Trend days: L/R 5–6, Breakout, Multiplier \~0.20–0.30, EMA 50, ATR trail 1.0–1.5.
* Match the TV Gann Fan drawing: turn ATR scale OFF, set ticks per bar = `(Δprice between anchor and 1×1 target) / (bars) / mintick`.
Repainting & testing notes
* Pivots require Right bars to confirm; anchors are set after confirmation (no look-ahead).
* Signals use the current bar close with TradingView strategy mechanics; real-time vs. bar-close can differ slightly, as with any strategy.
* Re-anchoring legitimately moves the structure when new pivots confirm—by design.
⚠️ Disclaimer
This script is provided for educational purposes only.
Past performance does not guarantee future results.
Trading involves risk, and users should exercise caution and use proper risk management when applying this strategy.
Intrabar Volume Delta — RealTime + History (Stocks/Crypto/Forex)Intrabar Volume Delta Grid — RealTime + History (Stocks/Crypto/Forex)
# Short Description
Shows intrabar Up/Down volume, Delta (absolute/relative) and UpShare% in a compact grid for both real-time and historical bars. Includes an MTF (M1…D1) dashboard, contextual coloring, density controls, and alerts on Δ and UpShare%. Smart historical splitting (“History Mode”) for Crypto/Futures/FX.
---
# What it does (Quick)
* **UpVol / DownVol / Δ / UpShare%** — visualizes order-flow inside each candle.
* **Real-time** — accumulates intrabar volume live by tick-direction.
* **History Mode** — splits Up/Down on closed bars via simple or range-aware logic.
* **MTF Dashboard** — one table view across M1, M5, M15, M30, H1, H4, D1 (Vol, Up/Down, Δ%, Share, Trend).
* **Contextual opacity** — stronger signals appear bolder.
* **Label density** — draw every N-th bar and limit to last X bars for performance.
* **Alerts** — thresholds for |Δ|, Δ%, and UpShare%.
---
# How it works (Real-Time vs History)
* **Real-time (open bar):** volume increments into **UpVolRT** or **DownVolRT** depending on last price move (↑ goes to Up, ↓ to Down). This approximates live order-flow even when full tick history isn’t available.
* **History (closed bars):**
* **None** — no split (Up/Down = 0/0). Safest for equities/indices with unreliable tick history.
* **Approx (Close vs Open)** — all volume goes to candle direction (green → Up 100%, red → Down 100%). Fast but yields many 0/100% bars.
* **Price Action Based** — splits by Close position within High-Low range; strength = |Close−mid|/(High−Low). Above mid → more Up; below mid → more Down. Falls back to direction if High==Low.
* **Auto** — **Stocks/Index → None**, **Crypto/Futures/FX → Approx**. If you see too many 0/100 bars, switch to **Price Action Based**.
---
# Rows & Meaning
* **Volume** — total bar volume (no split).
* **UpVol / DownVol** — directional intrabar volume.
* **Delta (Δ)** — UpVol − DownVol.
* **Absolute**: raw units
* **Relative (Δ%)**: Δ / (Up+Down) × 100
* **Both**: shows both formats
* **UpShare%** — UpVol / (Up+Down) × 100. >50% bullish, <50% bearish.
* Helpful icons: ▲ (>65%), ▼ (<35%).
---
# MTF Dashboard (🔧 Enable Dashboard)
A single table with **Vol, Up, Down, Δ%, Share, Trend (🔼/🔽/⏭️)** for selected timeframes (M1…D1). Great for a fast “panorama” read of flow alignment across horizons.
---
# Inputs (Grouped)
## Display
* Toggle rows: **Volume / Up / Down / Delta / UpShare**
* **Delta Display**: Absolute / Relative / Both
## Realtime & History
* **History Mode**: Auto / None / Approx / Price Action Based
* **Compact Numbers**: 1.2k, 1.25M, 3.4B…
## Theme & UI
* **Theme Mode**: Auto / Light / Dark
* **Row Spacing**: vertical spacing between rows
* **Top Row Y**: moves the whole grid vertically
* **Draw Guide Lines**: faint dotted guides
* **Text Size**: Tiny / Small / Normal / Large
## 🔧 Dashboard Settings
* **Enable Dashboard**
* **📏 Table Text Size**: Tiny…Huge
* **🦓 Zebra Rows**
* **🔲 Table Border**
## ⏰ Timeframes (for Dashboard)
* **M1…D1** toggles
## Contextual Coloring
* **Enable Contextual Coloring**: opacity by signal strength
* **Δ% cap / Share offset cap**: saturation caps
* **Min/Max transparency**: solid vs faint extremes
## Label Density & Size
* **Show every N-th bar**: draw labels only every Nth bar
* **Limit to last X bars**: keep labels only in the most recent X bars
## Colors
* Up / Down / Text / Guide
## Alerts
* **Delta Threshold (abs)** — |Δ| in volume units
* **UpShare > / <** — bullish/bearish thresholds
* **Enable Δ% Alert**, **Δ% > +**, **Δ% < −** — relative delta levels
---
# How to use (Quick Start)
1. Add the indicator to your chart (overlay=false → separate pane).
2. **History Mode**:
* Crypto/Futures/FX → keep **Auto** or switch to **Price Action Based** for richer history.
* Stocks/Index → prefer **None** or **Price Action Based** for safer splits.
3. **Label Density**: start with **Limit to last X bars = 30–150** and **Show every N-th bar = 2–4**.
4. **Contextual Coloring**: keep on to emphasize strong Δ% / Share moves.
5. **Dashboard**: enable and pick only the TFs you actually use.
6. **Alerts**: set thresholds (ideas below).
---
# Alerts (in TradingView)
Add alert → pick this indicator → choose any of:
* **Delta exceeds threshold** (|Δ| > X)
* **UpShare above threshold** (UpShare% > X)
* **UpShare below threshold** (UpShare% < X)
* **Relative Delta above +X%**
* **Relative Delta below −X%**
**Starter thresholds (tune per symbol & TF):**
* **Crypto M1/M5**: Δ% > +25…35 (bullish), Δ% < −25…−35 (bearish)
* **FX (tick volume)**: UpShare > 60–65% or < 40–35%
* **Stocks (liquid)**: set **Absolute Δ** by typical volume scale (e.g., 50k / 100k / 500k)
---
# Notes by Market Type
* **Crypto/Futures**: 24/7 and high liquidity — **Price Action Based** often gives nicer history splits than Approx.
* **Forex (FX)**: TradingView volume is typically **tick volume** (not true exchange volume). Treat Δ/Share as tick-based flow, still very useful intraday.
* **Stocks/Index**: historical tick detail can be limited. **None** or **Price Action Based** is a safer default. If you see too many 0/100% shares, switch away from Approx.
---
# “All Timeframes” accuracy
* Works on **any TF** (M1 → D1/W1).
* **Real-time accuracy** is strong for the open bar (live accumulation).
* **Historical accuracy** depends on your **History Mode** (None = safest, Approx = fastest/simplest, Price Action Based = more nuanced).
* The MTF dashboard uses `request.security` and therefore follows the same logic per TF.
---
# Trade Ideas (Use-Cases)
* **Scalping (M1–M5)**: a spike in Δ% + UpShare>65% + rising total Vol → momentum entries.
* **Intraday (M5–M30–H1)**: when multiple TFs show aligned Δ%/Share (e.g., M5 & M15 bullish), join the trend.
* **Swing (H4–D1)**: persistent Δ% > 0 and UpShare > 55–60% → structural accumulation bias.
---
# Advantages
* **True-feeling live flow** on the open bar.
* **Adaptable history** (three modes) to match data quality.
* **Clean visual layout** with guides, compact numbers, contextual opacity.
* **MTF snapshot** for quick bias read.
* **Performance controls** (last X bars, every N-th bar).
---
# Limitations & Care
* **FX uses tick volume** — interpret Δ/Share accordingly.
* **History Mode is an approximation** — confirm with trend/structure/liquidity context.
* **Illiquid symbols** can produce noisy or contradictory signals.
* **Too many labels** can slow charts → raise N, lower X, or disable guides.
---
# Best Practices (Checklist)
* Crypto/Futures: prefer **Price Action Based** for history.
* Stocks: **None** or **Price Action Based**; be cautious with **Approx**.
* FX: pair Δ% & UpShare% with session context (London/NY) and volatility.
* If labels overlap: tweak **Row Spacing** and **Text Size**.
* In the dashboard, keep only the TFs you actually act on.
* Alerts: start around **Δ% 25–35** for “punchy” moves, then refine per asset.
---
# FAQ
**1) Why do some closed bars show 0%/100% UpShare?**
You’re on **Approx** history mode. Switch to **Price Action Based** for smoother splits.
**2) Δ% looks strong but price doesn’t move — why?**
Δ% is an **order-flow** measure. Price also depends on liquidity pockets, sessions, news, higher-timeframe structure. Use confirmations.
**3) Performance slowdown — what to do?**
Lower **Limit to last X bars** (e.g., 30–100), increase **Show every N-th bar** (2–6), or disable **Draw Guide Lines**.
**4) Dashboard values don’t “match” the grid exactly?**
Dashboard is multi-TF via `request.security` and follows the history logic per TF. Differences are normal.
---
# Short “Store” Marketing Blurb
Intrabar Volume Delta Grid reveals the order-flow inside every candle (Up/Down, Δ, UpShare%) — live and on history. With smart history splitting, an MTF dashboard, contextual emphasis, and flexible alerts, it helps you spot momentum and bias across Crypto, Forex (tick volume), and Stocks. Tidy labels and compact numbers keep the panel readable and fast.
COT INDEX
// Users & Producers: Commercial Positions
// Large Specs (Hedge Fonds): Non-commercial Positions
// Retail: Non-reportable Positions
//@version=5
int weeks = input.int(26, "Number of weeks", minval=1)
int upperExtreme = input.int(80, "Upper Threshold in %", minval=50)
int lowerExtreme = input.int(20, "Lower Threshold in %", minval=1)
bool hideCurrentWeek = input(true, "Hide the current week until market close")
bool markExtremes = input(false, "Mark long and short extremes")
bool showSmallSpecs = input(true, "Show small speculators index")
bool showProducers = input(true, "Show producers index")
bool showLargeSpecs = input(true, "Show large speculators index")
indicator("COT INDEX", shorttitle="COT INDEX", format=format.percent, precision=0)
import TradingView/LibraryCOT/2 as cot
// Function to fix some symbols.
var string Root_Symbol = syminfo.root
var string CFTC_Code_fixed = cot.convertRootToCOTCode("Auto")
if Root_Symbol == "HG"
CFTC_Code_fixed := "085692"
else if Root_Symbol == "LBR"
CFTC_Code_fixed := "058644"
// Function to request COT data for Futures only.
dataRequest(metricName, isLong) =>
tickerId = cot.COTTickerid('Legacy', CFTC_Code_fixed, false, metricName, isLong ? "Long" : "Short", "All")
value = request.security(tickerId, "1D", close, ignore_invalid_symbol = true)
if barstate.islastconfirmedhistory and na(value)
runtime.error("Could not find relevant COT data based on the current symbol.")
value
// Function to calculate net long positions.
netLongCommercialPositions() =>
commercialLong = dataRequest("Commercial Positions", true)
commercialShort = dataRequest("Commercial Positions", false)
commercialLong - commercialShort
netLongLargePositions() =>
largeSpecsLong = dataRequest("Noncommercial Positions", true)
largeSpecsShort = dataRequest("Noncommercial Positions", false)
largeSpecsLong - largeSpecsShort
netLongSmallPositions() =>
smallSpecsLong = dataRequest("Nonreportable Positions", true)
smallSpecsShort = dataRequest("Nonreportable Positions", false)
smallSpecsLong - smallSpecsShort
calcIndex(netPos) =>
minNetPos = ta.lowest(netPos, weeks)
maxNetPos = ta.highest(netPos, weeks)
if maxNetPos != minNetPos
100 * (netPos - minNetPos) / (maxNetPos - minNetPos)
else
na
// Calculate the Commercials Position Index.
commercialsIndex = calcIndex(netLongCommercialPositions())
largeSpecsIndex = calcIndex(netLongLargePositions())
smallSpecsIndex = calcIndex(netLongSmallPositions())
// Conditional logic based on user input
plotValueCommercials = hideCurrentWeek ? (timenow >= time_close ? commercialsIndex : na) : (showProducers ? commercialsIndex : na)
plotValueLarge = hideCurrentWeek ? (timenow >= time_close ? largeSpecsIndex : na) : (showLargeSpecs ? largeSpecsIndex : na)
plotValueSmall = hideCurrentWeek ? (timenow >= time_close ? smallSpecsIndex : na) : (showSmallSpecs ? smallSpecsIndex : na)
// Plot the index and horizontal lines
plot(plotValueCommercials, "Commercials", color=color.blue, style=plot.style_line, linewidth=2)
plot(plotValueLarge, "Large Speculators", color=color.red, style=plot.style_line, linewidth=1)
plot(plotValueSmall, "Small Speculators", color=color.green, style=plot.style_line, linewidth=1)
hline(upperExtreme, "Upper Threshold", color=color.green, linestyle=hline.style_solid, linewidth=1)
hline(lowerExtreme, "Lower Threshold", color=color.red, linestyle=hline.style_solid, linewidth=1)
/// Marking extremes with background color
bgcolor(markExtremes and (commercialsIndex >= upperExtreme or largeSpecsIndex >= upperExtreme or smallSpecsIndex >= upperExtreme) ? color.new(color.gray, 90) : na, title="Upper Threshold")
bgcolor(markExtremes and (commercialsIndex <= lowerExtreme or largeSpecsIndex <= lowerExtreme or smallSpecsIndex <= lowerExtreme) ? color.new(color.gray, 90) : na, title="Lower Threshold")
Auto-Pivot Levels with Alerts and 4 methods [ChartWhizzperer]🚀 Auto-Pivot Levels – Dynamic Edition
Now with
Live Mode,
4 Pivot Methods
PineConnector-Ready Alerts!
Free, Open Source, Pine Script v6-compliant.
🟢 NEW: Live Mode (Ultra-Dynamic, Repainting) – Switchable in UI!
Instantly switch between Classic (session-based, repaint-free) and Live (rolling window, real-time, repainting) using the simple checkbox in the settings!
Live Mode recalculates all pivots on every tick/bar, using the current high/low/close for the chosen session (daily, weekly, monthly).
Perfect for:
Scalping and high-frequency trading
Real-time bot/automation setups (PineConnector-ready)
Fast-moving or breakout markets
Classic Mode: For traditional, stable levels based on confirmed session data – ideal for backtesting and trading history.
📊 Four Calculation Methods (Choose What Fits YOU):
1️⃣ Classic
Standard pivot calculation.
Based on previous session’s High, Low, Close.
Simple, proven, and suitable for any asset.
2️⃣ Fibonacci
Projects levels using Fibonacci ratios of the prior session’s range.
Great for traders who want to align pivots with fib retracements and extensions.
3️⃣ Camarilla
Uses unique multipliers for support/resistance, focusing on mean reversion and volatility.
Popular among futures and forex day traders.
4️⃣ Woodie
Puts extra weight on previous Close for more responsive pivots.
Often used in trending or choppy conditions.
Switch methods anytime in the UI – the script recalculates instantly and keeps your chart clean!
🔔 Level-Specific Alerts – PineConnector Ready!
Dedicated alert for EVERY level and direction (Up/Down):
Pivot (P), R1, R2, R3, S1, S2, S3
No configuration hassle:
All alerts are pre-defined in the TradingView Alert Panel.
Machine-readable message format:
PIVOT=R1 DIR=UP SYMBOL={{ticker}} PRICE={{close}}
Direct plug-and-play with PineConnector, webhooks, Discord, Telegram, bots, and other automation tools.
Never miss a breakout, reversal, or key support/resistance touch.
🛠 Powerful Customization & Performance
Session selection: Daily, Weekly, Monthly (choose what suits your trading style).
Show/hide any level (Pivot, R1–R3, S1–S3) for minimal chart clutter.
Color selection for each level to match your theme or highlight key pivots.
Auto-cleanup: Old lines and labels are cleared on every recalculation or session change for maximum performance and visual clarity.
Zero runtime errors: Strict Pine Script v6 practices for stability.
💡 How To Use – Quick Start
Add the indicator to your TradingView chart.
Pick your calculation method (Classic, Fibonacci, Camarilla, Woodie).
Set session type (Daily, Weekly, Monthly).
Switch between Classic and Live Mode with a single click in settings.
Customize your levels (on/off, colors).
Open the Alert Panel, select any pre-configured alert (e.g. "R2 Cross Down"), and go live!
Connect with PineConnector or any webhook system instantly using the pre-formatted alert messages.
🤖 Who Is It For?
Active scalpers & bot traders: Live Mode + PineConnector-ready alerts = instant, automated reactions.
Swing and position traders: Use Classic Mode for stable, repaint-free levels.
Strategy developers: Seamless integration into automated and manual trading workflows.
🏷 License & Community
Open Source, Non-Commercial:
Free for personal & educational use under CC BY-NC-SA 4.0.
Feedback, bug reports & ideas:
Drop a comment, or contact me for feature requests.
Trade smart. Trade dynamic. Unlock the true power of pivots – with ChartWhizzperer !
[Top] LHAMA Consolidation DetectorIntroducing the Low-High Adaptive Moving Average (LHAMA 🦙), a powerful tool designed to help traders visually distinguish between trending and consolidating market phases. Unlike traditional moving averages that can produce false signals in choppy markets, the LHAMA is engineered to flatten out during periods of consolidation and become more responsive when a clear trend emerges.
This indicator's primary function is to act as a "Consolidation Detector." When the LHAMA line goes flat and adopts its "Flat Color," it serves as a clear visual cue that the market is range-bound. Conversely, when the line begins to slope and changes to its Bullish or Bearish color, it signals a potential breakout or the start of a new trend.
How It Works
The LHAMA is a type of adaptive moving average. Its adaptiveness is derived from a unique calculation that measures market "trendiness." It does this by tracking whether new highs or new lows are being made within a specified lookback period.
In a Trending Market: When the price consistently makes new highs or lows, the indicator's responsiveness increases, causing the LHAMA to track the price much more closely and responsively.
In a Consolidating Market: When the price is range-bound and fails to make new highs or lows, the responsiveness decreases significantly. This causes the LHAMA to flatten out and become less sensitive to minor price fluctuations, effectively filtering out market noise.
Key Features
Adaptive Calculation: The core engine of the indicator, which automatically adjusts its smoothing based on trend strength.
Slope-Based Coloring: The line's color dynamically changes based on its slope, providing an at-a-glance view of market conditions: bullish, bearish, or flat.
Multi-Line & Multi-Timeframe (MTF): You can enable up to six fully customizable LHAMA lines. Each line can be configured with its own length, colors, and can even be set to a different timeframe, allowing for comprehensive multi-timeframe analysis on a single chart.
Volatility Clouds: Each LHAMA can display an optional cloud around it. The cloud's width is based on your choice of either the Average True Range (ATR) or Standard Deviation (StdDev), offering a visual representation of volatility.
Volume Weighting: An option to incorporate volume into the adaptive calculation, making the LHAMA even more responsive during high-volume price movements.
How to Use
Identify Consolidation: The primary use case. A flat and consistently colored LHAMA line is a strong indication of a sideways or consolidating market. This can help traders avoid taking trend-following trades in choppy conditions.
Confirm Trends: When the LHAMA begins to slope upwards or downwards and changes to its trend color, it can be used to confirm the direction and strength of a new trend. The steeper the slope, the stronger the momentum, and more solid the directional color.
Dynamic Support & Resistance: Like other moving averages, the LHAMA can act as a dynamic level of support in an uptrend or resistance in a downtrend. The optional cloud can further define these zones.
Multi-MA Ribbon Strategy: By enabling multiple LHAMAs with different lengths (e.g., Fibonacci sequence like 14, 21, 34, 55), you can create a ribbon. The expansion of the ribbon indicates a strong trend, while its contraction signals a weakening trend or consolidation.
Settings Explained
Enable 🦙 Line: A simple checkbox to turn each of the six LHAMA lines on or off.
Length: The lookback period for the LHAMA calculation. Shorter lengths are more responsive, while longer lengths are smoother.
Timeframe: Set a specific timeframe for each LHAMA. Leave blank to use the chart's current timeframe.
Volume Weight: If checked, adds volume weighting to make the LHAMA more responsive to high-volume moves.
Colors (Bullish, Bearish, Flat): Customize the colors for each market state. To only see the line during consolidation, set the Bullish and Bearish colors to 100% transparency. To hide the line during consolidation, set the Flat color to 100% transparency.
Color Sensitivity: This is a crucial setting. Because price scales (tick sizes) vary widely between symbols, this setting allows you to adjust the sensitivity of the slope detection. A lower value requires a steeper slope to trigger a trend color, while a higher value is more sensitive.
Recommended settings are provided in the input tooltip as a starting point:
$5 Tick: 0.25 Sensitivity
$1 Tick: 0.75 Sensitivity
$0.25 Tick: 3 Sensitivity
$0.01 Tick: 50 Sensitivity
$0.005 Tick: 100 Sensitivity
Cloud Settings:
Show Cloud: Toggles the visibility of the volatility cloud around the LHAMA.
Width Based On: Choose between "ATR" or "StdDev" to calculate the cloud's width.
Cloud Length & Width: Set the lookback period and multiplier for the ATR/StdDev calculation to control the size of the cloud.
Micro Futures Contract Calculator Micro Futures Contract Calculator
Synopsis: The Micro Futures Contract Calculator is a sleek, minimalist indicator that calculates the number of Micro E-mini Nasdaq-100 (MNQ) or S&P 500 (MES) contracts you can trade based on a fixed dollar risk and stop-loss (in ticks). Displayed in a compact, professional table in the top-right corner, it shows your risk, stop-loss, contract type, and calculated contracts, helping traders maintain consistent risk management.
How to Use:
Add the indicator to your chart (search “Micro Futures Contract Calculator”).
In settings, input:
Maximum Risk ($): Your total risk per trade (e.g., $100).
Stop-Loss (Ticks): Stop-loss size in ticks (e.g., 20 ticks = 5 points).
Contract Type: Select MNQ or MES.
Check the top-right table for:
Risk, stop-loss, contract type, and number of contracts (e.g., “10” for MNQ, “4” for MES).
Use the contract number to size trades, ensuring risk stays fixed.
Why Standardized Risk is Important:
Consistency: Fixed risk per trade (e.g., $100) prevents oversized losses, stabilizing long-term performance.
Discipline: Removes emotional guesswork, enforcing a systematic approach across MNQ/MES trades.
Capital Protection: Limits exposure, preserving your account during losing streaks and volatile markets.
Scalability: Aligns position sizing with your risk tolerance, enabling confident scaling as your account grows.
This indicator simplifies risk management, making it essential for disciplined futures trading.
A+ Trade CheckList with Comprehensive Relative StrengthThe indicator designed for traders who need real-time market assessment across multiple timeframes and benchmarks. This comprehensive tool combines traditional technical analysis with sophisticated relative strength measurements to provide a complete market picture in one convenient table display.
The indicator tracks essential trading levels including:
QQQ and SPY trend analysis using exponential moving averages
Previous day and week high/low levels for key support and resistance
Market open levels from the first 5 and 15 minutes of trading (9:30 AM ET)
VWAP positioning for institutional price reference
Short-term EMA positioning for momentum assessment
Advanced Relative Strength Analysis
The standout feature of this indicator is its comprehensive 8-metric relative strength scoring system that compares your current ticker against both QQQ (Nasdaq-100) and SPY (S&P 500) benchmarks.
The 4-Metric Relative Strength System Explained
Metric 1: Relative Strength Ratio (RSR)
Purpose: Measures whether your ticker is outperforming or underperforming relative to its historical relationship with the benchmarks.
How it works:
Calculates the ratio of your ticker's price to QQQ/SPY prices
Compares current ratio to a 20-period moving average of the ratio
Scores +1 if ratio is above average (relative strength), -1 if below (relative weakness)
Trading significance: Identifies when a stock is breaking out of its normal correlation pattern with major indices.
Metric 2: Percentage-Based Relative Performance
Purpose: Compares short-term percentage changes to identify immediate relative momentum.
How it works:
Calculates 5-day percentage change for your ticker and benchmarks
Subtracts benchmark performance from ticker performance
Scores +1 if outperforming by >1%, -1 if underperforming by >1%, 0 for neutral
Trading significance: Captures recent momentum shifts and identifies stocks moving independently of market direction.
Metric 3: Beta-Adjusted Relative Strength (Alpha)
Purpose: Measures risk-adjusted performance by accounting for the ticker's natural volatility relationship with benchmarks.
How it works:
Calculates rolling beta (correlation and variance relationship)
Determines expected returns based on benchmark moves and beta
Measures alpha (excess returns above/below expectations)
Scores based on whether alpha is consistently positive or negative
Trading significance: Identifies stocks generating returns beyond what their risk profile would suggest, indicating fundamental strength or weakness.
Metric 4: Volume-Weighted Relative Strength
Purpose: Incorporates volume analysis to validate price-based relative strength signals.
How it works:
Compares VWAP-based percentage changes between ticker and benchmarks
Applies volume weighting factor based on relative volume strength
Enhances score when high relative volume confirms price movements
Trading significance: Distinguishes between genuine institutional-driven moves and low-volume price action that may not sustain.
Combined Scoring System
The indicator generates 8 individual scores (4 metrics × 2 benchmarks) that combine into a single strength assessment:
Score Interpretation
Strong (4-8 points): Ticker significantly outperforming both benchmarks across multiple methodologies
Moderate Strong (1-3 points): Ticker showing good relative strength with some mixed signals
Neutral (0 points): Balanced performance relative to benchmarks
Moderate Weak (-1 to -3 points): Ticker showing relative weakness with some mixed signals
Weak (-4 to -8 points): Ticker significantly underperforming both benchmarks
Display Format
The indicator shows results as: "Strong (6/8)" indicating the ticker scored 6 out of 8 possible points.
EMA Pullback Speed Strategy 📌 **Overview**
The **EMA Pullback Speed Strategy** is a trend-following approach that combines **price momentum** and **Exponential Moving Averages (EMA)**.
It aims to identify high-probability entry points during brief pullbacks within ongoing uptrends or downtrends.
The strategy evaluates **speed of price movement**, **relative position to dynamic EMA**, and **candlestick patterns** to determine ideal timing for entries.
One of the key concepts is checking whether the price has **“not pulled back too much”**, helping focus only on situations where the trend is likely to continue.
⚠️ This strategy is designed for educational and research purposes only. It does not guarantee future profits.
🧭 **Purpose**
This strategy addresses the common issue of **"jumping in too late during trends and taking unnecessary losses."**
By waiting for a healthy pullback and confirming signs of **trend resumption**, traders can enter with greater confidence and reduce false entries.
🎯 **Strategy Objectives**
* Enter in the direction of the prevailing trend to increase win rate
* Filter out false signals using pullback depth, speed, and candlestick confirmations
* Predefine Take-Profit (TP) and Stop-Loss (SL) levels for safer, rule-based trading
✨ **Key Features**
* **Dynamic EMA**: Reacts faster when price moves quickly, slower when market is calm – adapting to current momentum
* **Pullback Filter**: Avoids trades when price pulls back too far (e.g., more than 5%), indicating a trend may be weakening
* **Speed Check**: Measures how strongly the price returns to the trend using candlestick body speed (open-to-close range in ticks)
📊 **Trading Rules**
**■ Long Entry Conditions:**
* Current price is above the dynamic EMA (indicating uptrend)
* Price has pulled back toward the EMA (a "buy the dip" situation)
* Pullback depth is within the threshold (not excessive)
* Candlesticks show consecutive bullish closes and break the previous high
* Price speed is strong (positive movement with momentum)
**■ Short Entry Conditions:**
* Current price is below the dynamic EMA (indicating downtrend)
* Price has pulled back up toward the EMA (a "sell the rally" setup)
* Pullback is within range (not too deep)
* Candlesticks show consecutive bearish closes and break the previous low
* Price speed is negative (downward momentum confirmed)
**■ Exit Conditions (TP/SL):**
* **Take-Profit (TP):** Fixed 1.5% target above/below entry price
* **Stop-Loss (SL):** Based on recent price volatility, calculated using ATR × 4
💰 **Risk Management Parameters**
* Symbol & Timeframe: BTCUSD on 1-hour chart (H1)
* Test Capital: \$3000 (simulated account)
* Commission: 0.02%
* Slippage: 2 ticks (minimal execution lag)
* Max risk per trade: 5% of account balance
* Backtest Period: Aug 30, 2023 – May 9, 2025
* Profit Factor (PF): 1.965 (Net profit ÷ Net loss, including spreads & fees)
⚙️ **Trading Parameters & Indicator Settings**
* Maximum EMA Length: 50
* Accelerator Multiplier: 3.0
* Pullback Threshold: 5.0%
* ATR Period: 14
* ATR Multiplier (SL distance): 4.0
* Fixed TP: 1.5%
* Short-term EMA: 21
* Long-term EMA: 50
* Long Speed Threshold: ≥ 1000.0 (ticks)
* Short Speed Threshold: ≤ -1000.0 (ticks)
⚠️Adjustments are based on BTCUSD.
⚠️Forex and other currency pairs require separate adjustments.
🔧 **Strategy Improvements & Uniqueness**
Unlike basic moving average crossovers or RSI triggers, this strategy emphasizes **"momentum-supported pullbacks"**.
By combining dynamic EMA, speed checks, and candlestick signals, it captures trades **as if surfing the wave of a trend.**
Its built-in filters help **avoid overextended pullbacks**, which often signal the trend is ending – making it more robust than traditional trend-following systems.
✅ **Summary**
The **EMA Pullback Speed Strategy** is easy to understand, rule-based, and highly reproducible – ideal for both beginners and intermediate traders.
Because it shows **clear visual entry/exit points** on the chart, it’s also a great tool for practicing discretionary trading decisions.
⚠️ Past performance is not a guarantee of future results.
Always respect your Stop-Loss levels and manage your position size according to your risk tolerance.