Futures Auto Levels [NariCapitalTrading]Futures Auto Levels Indicator
Introduction
The "Futures Auto Levels" (FAL) indicator shows the previous day's levels, weekly open, high, low, and the Initial Balance Range (IBR).
Indicator Components
The FAL indicator comprises the following components:
Previous Day's Levels: These include the open, high, low, and close of the previous trading day. They are represented on the chart by lines and labels, helping to identify significant price levels from the prior session.
Weekly Open, High, Low: These levels represent the open, high, and low prices of the current trading week.
Initial Balance Range (IBR): The IBR is calculated based on the price range during the first 60 minutes of the trading day. It helps identify initial trading range and potential breakout levels.
How to Use the Indicator
1. Previous Day's Levels:
Monitor the previous day's open, high, low, and close to identify key support and resistance levels.
Use these levels to gauge market sentiment and potential price reversals.
2. Weekly Open, High, Low:
Pay attention to the weekly open, high, and low to understand the market's behavior within the weekly timeframe.
These levels can act as reference points for setting profit targets and stop-loss orders.
3. Initial Balance Range (IBR):
Watch for price movements within the IBR to identify potential trading opportunities.
Breakouts above or below the IBR may signal the beginning of a new trend or continuation of the current trend.
Suggested/Potential Strategies
Reversal Trading: Look for price reversals around previous day's levels, especially when they coincide with other technical indicators or significant support/resistance zones.
Trend Following: Follow the trend by trading breakouts above/below the IBR or weekly high/low levels. Use trailing stops to capture profits while the trend remains intact.
Range Trading: Trade within the IBR when the market is consolidating. Buy near the IBR low and sell near the IBR high, with tight stop-loss orders to manage risk.
Conclusion
The Futures Auto Levels indicator is designed to help incorporate levels into trading analysis and trading strategies to improve profitability and consistency.
Cari dalam skrip untuk "Futures"
Futures Risk CalculatorThe "Futures Risk Calculator" is designed to assist traders in calculating the number of contracts to risk based on their account size, risk percentage, and stop loss level. This script provides a convenient way for traders to determine their position size in futures or other instruments where contracts are used.
The script prompts users to input their account size, risk percentage, entry price, and stop loss price. It then calculates the stop size in points, risk in dollars, and the number of contracts to risk. These calculations are based on standard risk management principles commonly used in trading.
The script plots the entry and stop loss lines on the chart for visual reference. Additionally, it displays a label in the top-right corner of the chart, showing the calculated number of contracts to risk. The label updates dynamically as the input values or market conditions change.
Originality and Usefulness:
This script is original and adds value to the TradingView community by providing traders with a practical tool for managing risk in their trading strategies. It is focusing on risk management, an essential aspect of successful trading.
By automating the calculation process, the script saves traders time and reduces the potential for manual errors. It encourages traders to adopt disciplined risk management practices, which are crucial for long-term profitability and capital preservation.
How to Use:
Input your account size, risk percentage, entry price, and stop loss price in the script settings.
Enter the pip size according to the instrument you are using (by default its's based for NASDAQ)
The script will automatically calculate the number of contracts to risk based on the provided inputs.
The entry and stop loss lines will be plotted on the chart for visual reference.
The calculated number of contracts to risk will be displayed in the top-right corner of the chart.
By following these steps, traders can effectively manage their risk exposure and make informed decisions when entering trades.
Herrick Payoff Index for Quandl DataUpdate to my previous Herrick Payoff Index script. This script pulls Quandl futures data with daily open interest. The prior version only used the weekly Commitment of Traders open interest data so could only be used on weekly bars. Note: Must use Quandl Symbol methodology in chart (i.e. enter symbol as QUANDL:CHRIS/CME_FC2, QUANDL:CME/FCX2016, ect.). Unfortunately, I haven't been able to program this to pull from the embedded futures data.
Futures Margin Lookup TableThis script applies a table to the upper right corner of the screen, which provides the intraday and overnight margin requirements of the currently selected symbol.
In this indicator the user must provide the broker data in the form of specifically formatted text blocks. The data for which should be found on the broker website.
The purpose for it's creation is due to the non-standard way each individual broker may price their margins and lack of information within TradingView when connected to some (maybe all) brokers, including when paper trading, as the flat percentage rule is not accurate.
An example of information for NinjaTrader could look like this
MES;Micro S&P;$50;$2406
ES;E-Mini S&P;$500;$24,053
GC;Gold;$500;$16500
NQ;E-Mini Nasdaq;$1,000;$34,810
FDAX;Dax Index;€2,000;€44,311
Each symbol begins a new line, and the values on that line are separated by semicolons (;)
Each line consists of the following...
SYMBOL : Search string used to match to the beginning of the current chart symbol.
NAME: Human readable name
INTRA: Intraday trading margin requirement per contract
OVERNIGHT: Overnight trading margin requirement per contract
The script simply finds a matching line within your provided information using the current chart symbol.
So for example the continuous chart for NQ1! would match to the user specified line starting with NQ... as would the individual contract dates such as NQM2025, NQK2025, etc.
NOTES:
There is a possibility that symbols with similar starting characters could match.
If this is the case put the longer symbol higher in the list.
There is also a line / character limit to the text input fields within pinescript
Ensure the text you paste into them is not truncated.
If so there are 3 input fields for just this purpose.
Find the last complete line and continue the remaining symbol lines on the subsequent inputs.
Futures Daily Settlement PricesDaily settlement prices reflect the fair market value of the underlying commodity or financial instrument, as determined by buyers and sellers during the settlement period or “close”. The price quoted in the evening news for items like a bush of corn, a barrel of crude oil, or a 10-year U.S. Treasury note frequently use the settlement price for the corresponding futures product that day.
Settlement prices are used to mark traders’ positions to market daily, determining profits or losses. Daily settlement prices play a key role in facilitating price discovery, risk management, and market integrity.
This indicator plots up to 30 settlement prices as well as the date of settlement on your chart, on time frames under 1 hour.
Customizable line types, colors, and label colors.
Futures All List / Sell SignalAs of May 2023, there are more than 180 usdt perpetual coins on the binance futures exchange. These coins are included in the indicator in lists of 40. They are sorted instantly in the table from largest to smallest. The sorting style can be changed in the indicator settings. This indicator collects RSI and TSI values at desired values. The result has a maximum value of 600. A value of 600 signals that the price will decrease or remain stable for a certain period of time. Generally, a short can be expected from the closest point to 600. If 3 separate lists are selected by using 3 of these indicators, 120 coins can be analyzed at the same time. Available in all time zones. Examine it in a 3-minute timeframe. The line inside the indicator draws the instantaneous values of the relevant coin.
Futures All List Candle Analysis - FALCAIn this command; There is an alphabetical list of USDS-M coins with the USDT PERP extension on the Binance Futures side.
There are 13 lists in total. Each list contains 39 data. Due to data limitation, 13 lists are formed. There are 13 coins in the first 11 of the lists. The 12th list contains 3 coins. The last list (FAVORITE LIST) is CRYPTOCAP:TOTAL, BINANCE:BTCUSDTPERP, BINANCE:BTCDOMUSDTPERP as standard. You must add 10 coins to the final list.
The lists show data for the time period you selected.
Explanation of the (C/H) header: Close /High takes a maximum value of 1. As long as this value is 1, a price increase is observed.
Explanation of the (C/O) header:
Close /Open can be greater than ,1. In this case, a price increase is observed.
Close /Open can be less than 1. In this case, a price decrease is observed.
The value Close /Open can be equal to 1. In this case, price stability is observed.
Explanation of the (C/L) header: Close /Low takes a minimum value of 1. As long as this value is 1, a price decrease is observed.
Coins with a price decrease are shown in red.
Coins with a price increase will turn green.
***NOTE: For this command to work, you must first add 10 favorite coins to the "FAVORITE LIST".
Futures & GBTC PremiumCalculates current Okcoin futures index price, and plots the current premiums for weekly and quarterly contracts. Also plots the GBTC premium divided by 10 based on the same index price. For reference, the calculated index price divided by 100 is also shown (the white line).
Note:
The index price is an estimate, and not entirely accurate because of the following limitations:
GDAX, one of the six exchanges that makes up the index, is not available on TW. Coinbase is used instead, as their prices are usually within $2 of GDAX
CNYUSD rate in the index is usually calculated every Friday, but follows some special rules that are impossible to replicate in this script. The current CNYUSD rate is used instead
,
The index price in this script has been within $2 of the actual index the past day.
GRID EXTENSIONGRID EXTENSION
Overview
The GRID EXTENSION is a simple grid-based indicator for TradingView, built with Pine Script v6. It plots horizontal price levels starting from a user-defined anchor price, with spacing set by a tick increment. Use it to identify key support, resistance, or price zones on charts for Crypto, Forex, or Futures.
Key Features
Custom Grid Levels: Plot up to 22 levels (e.g., 0, 0.25, 1.25, -2.50) with options to show/hide, set values, and choose colors.
Market-Specific Tick Increments: Select your asset type (Crypto, Forex, Futures) and choose from a range of tick increments tailored for each market:
Crypto: 1 to 5000 ticks (e.g., 100 ticks = $0.001 on ADA/USD, 5000 ticks = $50 on BTC/USD).
Forex: 5 to 5000 ticks (e.g., 100 ticks = 1 pip on EUR/USD, 5000 ticks = 50 pips).
Futures: 1 to 2500 ticks (e.g., 25 ticks = 6.25 points on E-mini S&P 500, $312.50 per contract).
Visual Options:
Extend lines to the right.
Show price and level labels (as values or percentages).
Place labels on the left or right.
Adjust background transparency for filled areas between levels.
How to Use
Set Asset Type: Choose "Crypto," "Forex," or "Futures" to match your chart.
Set Anchor Price: Enter a starting price for the grid.
Pick Tick Increment: Select a tick increment from the dropdown, following the guidance for your asset type (see Key Features).
Customize Levels: Turn levels on/off, set values, and pick colors.
Add to Chart: Apply the indicator to see the grid on your chart.
Tips
Use levels to mark support/resistance zones for entries or exits.
Extend lines to project future price zones.
Choose smaller increments (e.g., 5 ticks) for scalping, or larger ones (e.g., 1000 ticks) for swing trading.
Combine with indicators like moving averages for better signals.
Settings
Asset Type: Select "Crypto," "Forex," or "Futures" (default: "Crypto").
Anchor Price: Starting price for the grid (default: 0.0).
Tick Increment: Space between levels (options: 1, 5, 10, 25, 50, 100, 250, 500, 1000, 2500, 5000). Choose based on asset type.
Extend Right: Extend lines to the right (default: true).
Show Prices: Show price labels (default: true).
Show Levels: Show level values or percentages (default: true).
Format: Display levels as "Values" or "Percent" (default: "Values").
Labels Position: Place labels on "Left" or "Right" (default: "Left").
Background Transparency: Set transparency for filled areas (default: 100, range 0-100).
Level Options: Enable/disable levels, set values, and choose colors.
Notes
Set the anchor price to a key level (like a recent high or low) for best results.
Check the tick increment tooltip to ensure the spacing suits your market type.
Works on any chart, best for clear price trends or ranges.
Acknowledgments
Made with Pine Script v6 for TradingView. This is v1.0—feedback welcome for future updates!
LTA - Futures Contract Size CalculatorLTA - Futures Contract Size Calculator
This indicator helps futures traders calculate the potential stop-loss (SL) value for their trades with ease. Simply input your entry price, stop-loss price, and number of contracts, and the indicator will compute the ticks moved, price movement, and total SL value in USD.
Key Features:
Supports a wide range of futures contracts, including:
Index Futures: E-mini S&P 500 (ES), Micro E-mini S&P 500 (MES), E-mini Nasdaq-100 (NQ), Micro E-mini Nasdaq-100 (MNQ)
Commodity Futures: Crude Oil (CL), Gold (GC), Micro Gold (MGC), Silver (SI), Micro Silver (SIL), Platinum (PL), Micro Platinum (MPL), Natural Gas (NG), Micro Natural Gas (MNG)
Bond Futures: 30-Year T-Bond (ZB)
Currency Futures: Euro FX (6E), Japanese Yen (6J), Australian Dollar (6A), British Pound (6B), Canadian Dollar (6C), Swiss Franc (6S), New Zealand Dollar (6N)
Displays key metrics in a clean table (bottom-right corner):
Instrument, Entry Price, Stop-Loss Price, Number of Contracts, Tick Size, Ticks Moved, Price Movement, and Total SL Value.
Automatically calculates based on the selected instrument’s tick size and tick value.
User-friendly interface with a dark theme for better visibility.
How to Use:
Add the indicator to your chart.
Select your instrument from the dropdown (ensure it matches your chart’s symbol, e.g., "NG1!" for NATURAL GAS (NG)).
Input your Entry Price, Stop-Loss Price, and Number of Contracts.
View the results in the table, including the Total SL Value in USD.
Ideal For:
Futures traders looking to quickly assess stop-loss risk.
Beginners and pros trading indices, commodities, bonds, or currencies.
Note: Ensure your chart symbol matches the selected instrument for accurate calculations. For best results, test with a few contracts and price levels to confirm the output.
This description is tailored for TradingView’s audience, providing a clear overview of the indicator’s functionality, supported instruments, and usage instructions. It also includes a note to help users avoid common pitfalls (e.g., mismatched symbols). If you’d like to adjust the tone, add more details, or include specific TradingView tags (e.g., , ), let me know!
True Seasonal Pattern [tradeviZion]True Seasonal Pattern: Uncover Hidden Market Cycles
Markets have rhythms and patterns that repeat with surprising regularity. The True Seasonal Pattern indicator reveals these hidden cycles across different timeframes, helping you anticipate potential market movements based on historical seasonal tendencies.
What This Indicator Does
The True Seasonal Pattern analyzes years of historical price data to identify recurring seasonal trends. It then plots these patterns on your chart, showing you both the historical pattern and future projection based on past seasonal behavior.
Automatic Timeframe Detection: Works with Monthly, Weekly, and Daily charts
Historical Pattern Analysis: Analyzes up to 100 years of data (customizable)
Future Projection: Projects the seasonal pattern ahead on your chart
Smart Smoothing: Applies appropriate smoothing based on your timeframe
How to Use This Indicator
Add the indicator to a Daily, Weekly, or Monthly chart (not designed for intraday timeframes)
The indicator automatically detects your chart's timeframe
The blue line shows the historical seasonal pattern
Watch for potential turning points in the pattern that align with other technical signals
Seasonal patterns work best as a supporting factor in your analysis, not as standalone trading signals. They are particularly effective in markets with well-established seasonal influences.
Best Applications
Futures Markets: Commodities and futures often show strong seasonal tendencies due to production cycles, weather patterns, and economic factors
Stock Indices: Many stock markets demonstrate regular seasonal patterns (like the "Sell in May" phenomenon)
Individual Stocks: Companies with seasonal business cycles often show predictable price patterns
Practical Applications
Identify potential turning points based on historical seasonal patterns
Plan entries and exits around seasonal tendencies
Add seasonal context to your existing technical analysis
Understand why certain months or periods might show consistent behavior
Pro Tip: For best results, use this tool on instruments with at least 5+ years of historical data. Longer timeframes often reveal more reliable seasonal patterns.
Important Notes
This indicator works best on Daily, Weekly, and Monthly timeframes - not intraday charts
Seasonal patterns are tendencies, not guarantees
Always combine seasonal analysis with other technical tools
Past patterns may not repeat exactly in the future
// Sample of the seasonal calculation approach
float yearHigh = array.max(currentYearHighs)
float yearLow = array.min(currentYearLows)
// Calculate seasonality for each period
for i = 0 to array.size(currentYearCloses) - 1
float periodClose = array.get(currentYearCloses, i)
if not na(periodClose) and yearHigh != yearLow
float seasonality = (periodClose - yearLow) / (yearHigh - yearLow) * 100
I developed this indicator to help traders incorporate seasonal analysis into their trading approach without the complexity of traditional seasonal tools. Whether you're analyzing agricultural commodities, energy futures, or stock indices, understanding the seasonal context can provide valuable insights for your trading decisions.
Remember: Markets don't always follow seasonal patterns, but when they do, being aware of these tendencies can give you a meaningful edge in your analysis.
Bull Flag DetectionThe FuturesGod bull flag indicator aims to identify the occurrence of bull flags.
Bull flags are a popular trading pattern that allows users to gauge long entries into a given market. Flags consist of a pole that is followed by either a downward or sideways consolidation period.
This script can be used on any market but was intended for futures (NQ, ES) trading on the intraday timeframe.
The script does the following:
1. Identifies the occurrence of a flag pole. This is based on a lookback period and percentage threshold decided by the user.
2. Marks the consolidation area after the pole occurrence using swing highs and swing lows.
3. Visually the above is represented by a shaded green area.
4. When a pole is detected, it is marked by a downward off-white triangle. Note that if the percentage threshold is reached several times on the same upward climb, the script will continue to identify points where the threshold for pole detection is met.
5. Also visualized are the 20, 50 and 200 period exponential moving averages. The area between the 20 and 50 EMAs are shaded to provide traders a visual of a possible support area.
Currency Futures StatisticsThe "Currency Futures Statistics" indicator provides comprehensive insights into the performance and characteristics of various currency futures. This indicator is crucial for portfolio management as it combines multiple metrics that are instrumental in evaluating currency futures' risk and return profiles.
Metrics Included:
Historical Volatility:
Definition: Historical volatility measures the standard deviation of returns over a specified period, scaled to an annual basis.
Importance: High volatility indicates greater price fluctuations, which translates to higher risk. Investors and portfolio managers use volatility to gauge the stability of a currency future and to make informed decisions about risk management and position sizing (Hull, J. C. (2017). Options, Futures, and Other Derivatives).
Open Interest:
Definition: Open interest represents the total number of outstanding futures contracts that are held by market participants.
Importance: High open interest often signifies liquidity in the market, meaning that entering and exiting positions is less likely to impact the price significantly. It also reflects market sentiment and the degree of participation in the futures market (Black, F., & Scholes, M. (1973). The Pricing of Options and Corporate Liabilities).
Year-over-Year (YoY) Performance:
Definition: YoY performance calculates the percentage change in the futures contract's price compared to the same week from the previous year.
Importance: This metric provides insight into the long-term trend and relative performance of a currency future. Positive YoY performance suggests strengthening trends, while negative values indicate weakening trends (Fama, E. F. (1991). Efficient Capital Markets: II).
200-Day Simple Moving Average (SMA) Position:
Definition: This metric indicates whether the current price of the currency future is above or below its 200-day simple moving average.
Importance: The 200-day SMA is a widely used trend indicator. If the price is above the SMA, it suggests a bullish trend, while being below indicates a bearish trend. This information is vital for trend-following strategies and can help in making buy or sell decisions (Bollinger, J. (2001). Bollinger on Bollinger Bands).
Why These Metrics are Important for Portfolio Management:
Risk Assessment: Historical volatility and open interest provide essential information for assessing the risk associated with currency futures. Understanding the volatility helps in estimating potential price swings, which is crucial for managing risk and setting appropriate stop-loss levels.
Liquidity and Market Participation: Open interest is a critical indicator of market liquidity. Higher open interest usually means tighter bid-ask spreads and better liquidity, which facilitates smoother trading and better execution of trades.
Trend Analysis: YoY performance and the SMA position help in analyzing long-term trends. This analysis is crucial for making strategic investment decisions and adjusting the portfolio based on changing market conditions.
Informed Decision-Making: Combining these metrics allows for a holistic view of the currency futures market. This comprehensive view helps in making informed decisions, balancing risks and returns, and optimizing the portfolio to align with investment goals.
In summary, the "Currency Futures Statistics" indicator equips investors and portfolio managers with valuable data points that are essential for effective risk management, liquidity assessment, trend analysis, and overall portfolio optimization.
VIX Futures Basis StrategyVIX Futures Basis Strategy
The VIX Futures Basis Strategy is a trading approach that takes advantage of the unique characteristics of the VIX index and its futures market. The VIX, often referred to as the "fear index," measures market expectations of near-term volatility. This strategy focuses on how the VIX futures contracts behave in relation to the spot VIX index and seeks to capitalize on the market's contango and backwardation phases.
Key Concepts:
VIX Index and VIX Futures:
The VIX index reflects the market's expectation of volatility over the next 30 days.
VIX futures allow traders to speculate on the future value of the VIX index.
Contango and Backwardation:
Contango occurs when the futures price is higher than the spot price, often indicating that the market expects volatility to rise in the future.
Backwardation is when the futures price is lower than the spot price, suggesting that the market expects a decrease in volatility.
Basis:
The basis is the difference between the futures price and the spot price. This strategy examines the basis for two consecutive VIX futures contracts.
Strategy Overview:
The VIX Futures Basis Strategy uses the relationship between the VIX index and its futures contracts to generate trading signals:
Long Position on Contango:
When both the front month and the second month VIX futures contracts are in contango (their prices are above the spot VIX index by a specified threshold), the strategy takes a long position.
This implies an expectation that the market will move from a state of expected higher future volatility to a more stable state, allowing profits to be made as the futures prices converge toward the spot price.
Closing Position on Backwardation:
If the basis for both futures contracts indicates backwardation (their prices are below the spot VIX index by a threshold), the strategy closes any long positions.
This condition suggests that the market anticipates decreasing volatility, and closing positions helps to avoid potential losses.
BTC CME Futures Divergence TrackerThis script tracks divergences between price action and open interest for the BTC CME Futures contract (symbol "BTC1!") using the following components:
Key Features:
1. Price Analysis: Identifies lower highs in the price over a specified lookback period. Marks these points with red upward-facing triangles above the bars.
2. Open Interest Analysis: Retrieves open interest (OI) data for the BTC CME Futures contract via request.security. Detects lower highs in open interest over the same lookback period. Highlights these points with blue downward-facing triangles below the bars.
3. Divergence Detection: A divergence is identified when both price and open interest form lower highs simultaneously. Highlights such occurrences with a purple background, indicating potential bearish sentiment or weakening momentum.
4. Alerts: If divergences are detected, an alert is triggered (if enabled), notifying the trader to take action.
5. Visualization: Open interest is plotted as a blue line in a separate pane for added context. Red and blue markers highlight significant points in price and open interest trends.
Use Cases:
- Spot Weakening Trends: Divergences between price and open interest may indicate a loss of momentum or bearish sentiment, allowing traders to preemptively adjust their strategies.
- Monitor Institutional Activity: Open interest changes reflect shifts in market participation, especially in derivative markets like CME Futures.
- Set Alerts for Key Signals: With automated alerts, traders can stay informed of potential divergence signals without constant monitoring.
Customization Options:
- Lookback Period: Adjust the number of bars used to detect lower highs.
- Timeframe: Choose the timeframe for fetching open interest data (e.g., daily, hourly).
- Alert Activation: Enable or disable alerts for divergences.
This tool combines price action with open interest dynamics to provide a robust method for identifying market trends and potential reversals in BTC CME Futures.
SessionLibrary "Session"
Helper functions for trading sessions. TradingView doesn't provide correct data when
calling some of the convenience methods like session.ismarket when you are looking at futures charts. This library corrects those mistakes by providing functions with the same names as the TradingView default properties. that reference a custom defined set of session hours for futures. It also provides a way for consumers to customize the map values by calling getSessionMap() and then overwriting (or adding) custom session definitions.
getSessionMap()
Returns a map of the futures rth & eth session hours. The map is keyed with symbol:session format (eg. ES:market or ES:overnight).
Returns: A map of futures symbols and their associated session hours.
getSessionString(session, symbol, sessionMap)
Returns a session string representing the session hours (and days) for the requested symbol (or the chart's symbol if the symbol value is not provided). If the session string is not found in the collection, it will return a blank string.
Parameters:
session (string) : A string representing the session hour being requested. One of: market (regular trading hours), overnight (extended/electronic trading hours), postmarket (after-hours), premarket
symbol (string) : The symbol to check. Optional. Defaults to chart symbol.
sessionMap (map) : The map of futures session hours. Optional. Uses default if not provided.
inSession(session, sessionMap, barsBack)
Returns true if the current symbol is currently in the session parameters defined by sessionString.
Parameters:
session (string) : A string representing the session hour being requested. One of: market (regular trading hours), overnight (extended/electronic trading hours), postmarket (after-hours), premarket
sessionMap (map) : The map of futures session hours. Optional. Uses default if not provided.
barsBack (int) : Private. Only used by futures to check islastbar. Optional. The default is 0.
ismarket(sessionMap)
Returns true if the current bar is a part of the regular trading hours (i.e. market hours), false otherwise. Works for futures (TradingView's methods do not).
Parameters:
sessionMap (map) : The map of futures session hours. Optional. Uses default if not provided.
Returns: bool
isfirstbar()
Returns true if the current bar is the first bar of the day's session, false otherwise. If extended session information is used, only returns true on the first bar of the pre-market bars. Works for futures (TradingView's methods do not).
Returns: bool
islastbar()
Returns true if the current bar is the last bar of the day's session, false otherwise. If extended session information is used, only returns true on the last bar of the post-market bars. Works for futures (TradingView's methods do not).
Returns: bool
ispremarket(sessionMap)
Returns true if the current bar is a part of the pre-market, false otherwise. On non-intraday charts always returns false. Works for futures (TradingView's methods do not).
Parameters:
sessionMap (map) : The map of futures session hours. Optional. Uses default if not provided.
Returns: bool
ispostmarket(sessionMap)
Returns true if the current bar is a part of the post-market, false otherwise. On non-intraday charts always returns false. Works for futures (TradingView's methods do not).
Parameters:
sessionMap (map) : The map of futures session hours. Optional. Uses default if not provided.
Returns: bool
isfirstbar_regular(sessionMap)
Returns true on the first regular session bar of the day, false otherwise. The result is the same whether extended session information is used or not. Works for futures (TradingView's methods do not).
Parameters:
sessionMap (map) : The map of futures session hours. Optional. Uses default if not provided.
Returns: bool
islastbar_regular(sessionMap)
Returns true on the last regular session bar of the day, false otherwise. The result is the same whether extended session information is used or not. Works for futures (TradingView's methods do not).
Parameters:
sessionMap (map) : The map of futures session hours. Optional. Uses default if not provided.
Returns: bool
isovernight(sessionMap)
Returns true if the current bar is a part of the pre-market or post-market, false otherwise. On non-intraday charts always returns false.
Parameters:
sessionMap (map) : The map of futures session hours. Optional. Uses default if not provided.
Returns: bool
getSessionHighAndLow(session, sessionMap)
Returns a tuple containing the high and low print during the specified session.
Parameters:
session (string) : The session for which to get the high & low prints. Defaults to market.
sessionMap (map) : The map of futures session hours. Optional. Uses default if not provided.
Returns: A tuple containing
SMA with Std Dev Bands (Futures/US Stocks RTH)Rolling Daily SMA With Std Dev Bands
Upgrade your technical analysis with Rolling Daily SMA With Std Dev Bands, a powerful indicator that dynamically adjusts to your trading instrument. Whether you’re analyzing futures or US stocks during regular trading hours (RTH), this indicator seamlessly applies the correct logic to calculate a rolling daily Simple Moving Average (SMA) with customizable standard deviation bands for precise trend and volatility tracking.
Key Features:
✅ Automatic Instrument Detection– The indicator automatically recognizes whether you're trading futures or US equities and applies the correct daily lookback period based on your chart’s timeframe.
- Futures: Uses full trading day lengths (e.g., 1380 bars for 1‑minute charts).
- US Stocks (RTH): Uses regular session lengths (e.g., 390 bars for 1‑minute charts).
✅ Rolling Daily SMA (3‑pt Purple Line) – A continuously updated daily moving average, giving you an adaptive trend indicator based on market structure.
✅ Three Standard Deviation Bands (1‑pt White Lines) –
- Customizable multipliers allow you to adjust each band’s width.
- Toggle each band on or off to tailor the indicator to your strategy.
- The inner band area is color-filled: light green when the SMA is rising, light red when falling, helping you quickly identify trend direction.
✅ Works on Any Chart Timeframe – Whether you trade on 1-minute, 3-minute, 5-minute, or 15-minute charts, the indicator adjusts dynamically to provide accurate rolling daily calculations.
# How to Use:
📌 Identify Trends & Volatility Zones – The rolling daily SMA acts as a dynamic trend guide, while the standard deviation bands help spot potential overbought/oversold conditions.
📌 Customize for Precision – Adjust band multipliers and toggle each band on/off to match your trading style.
📌 Trade Smarter – The filled inner band offers instant visual feedback on market momentum, while the outer bands highlight potential breakout zones.
🔹 This is the perfect tool for traders looking to combine trend-following with volatility analysis in an easy-to-use, adaptive indicator.
🚀 Add Rolling Daily SMA With Std Dev Bands to your chart today and enhance your market insights!
---
*Disclaimer: This indicator is for informational and educational purposes only and should not be considered financial advice. Always use proper risk management and conduct your own research before trading.*
Crude Oil: Backwardation Vs ContangoCrude Oil, CL
Plots Futures Curve: Futures contract prices over the next 3.5 years; to easily visualize Backwardation Vs Contango(carrying charge) markets.
Carrying charge (contract prices increasing into the future) = normal, representing the costs of carrying/storage of a commodity. When this is flipped to Backwardation(As the above; contract prices decreasing into the future): it's a bullish sign: Buyers want this commodity, and they want it NOW.
Note: indicator does not map to time axis in the same way as price; it simply plots the progression of contract months out into the future; left to right; so timeframe DOESN'T MATTER for this plot
TO UPDATE (every year or so): in REQUEST CONTRACTS section, delete old contracts (top) and add new ones (bottom). Then in PLOTTING section, Delete old contract labels (bottom); add new contract labels (top); adjust the X in 'bar_index-(X+_historical)' numbers accordingly
This is one of several similar Futures Curve indicators: Meats | Metals | Grains | VIX | Crude Oil
If you want to build from this; to work on other commodities; be aware that Tradingview limits the number of contract calls to 40 (hence the multiple indicators)
Tips:
-Right click and reset chart if you can't see the plot; or if you have trouble with the scaling.
-Right click and add to new scale if you prefer this not to overlay directly on price. Or move to new pane below.
-If this takes too long to load (due to so many security calls); comment out the more distant future half of the contracts; and their respective labels. Or comment out every other contract and every other label if you prefer.
--Added historical input: input days back in time; to see the historical shape of the Futures curve via selecting 'days back' snapshot
updated 20th June 2022
© twingall
LibraryCOT█ OVERVIEW
This library is a Pine programmer's tool that provides functions to access Commitment of Traders (COT) data for futures. Four of our scripts use it:
• Commitment of Traders: Legacy Metrics
• Commitment of Traders: Disaggregated Metrics
• Commitment of Traders: Financial Metrics
• Commitment of Traders: Total
If you do not program in Pine and want to use COT data, please see the indicators linked above.
█ CONCEPTS
Commitment of Traders (COT) data is tallied by the Commodity Futures Trading Commission (CFTC) , a US federal agency that oversees the trading of derivative markets such as futures in the US. It is weekly data that provides traders with information about open interest for an asset. The CFTC oversees derivative markets traded on different exchanges, so COT data is available for assets that can be traded on CBOT, CME, NYMEX, COMEX, and ICEUS.
Accessing COT data from a Pine script requires the generation of a ticker ID string for use with request.security() . The ticker string must be encoded in a special format that includes both CFTC and TradingView-specific content. The format of the ticker IDs is somewhat complex; this library's functions make their generation easier. Note that if you know the COT ticker ID string for specific data, you can enter it from the chart's "Symbol Search" dialog box.
A ticker for COT data in Pine has the following structure:
COT:__<_metricDirection><_metricType>
where an underscore prefixing a component name inside <> is only included if the component is not a null string, and:
Is a digit representing the type of the COT report the data comes from: "" for legacy COT data, "2" for disaggregated data and "3" for financial data.
Is a six digit code that represents a commodity. Example: wheat futures (root "ZW") have the code "001602".
Is either "F" if the report data should exclude Options data, or "FO" if such data is included.
Is the TradingView code of the metric. This library's `metricNameAndDirectionToTicker()` function creates both
the and components of a COT ticker from the metric names and directions listed in the above chart.
The different metrics are explained in the CFTC's Explanatory Notes .
Is the direction of the metric: "Long", "Short", "Spreading" or "No direction".
Not all directions are applicable to all metrics. The valid ones are listed next to each metric in the above chart.
Is the type of the metric, possible values are "All", "Old" and "Other".
The difference between the types is explained in the "Old and Other Futures" section of the CFTC's Explanatory Notes .
As an example, the Legacy report Open Interest data for ZW futures (options included) in the old standard has the ticker "COT:001602_FO_OI_OLD". The same data using the current standard without futures has the ticker "COT:001602_F_OI".
█ USING THE LIBRARY
The first functions in the library are helper functions that generate components of a COT ticker ID. The last function, `COTTickerid()`, is the one that generates the full ticker ID string by calling some of the helper functions. We use it like this in our example:
exampleTicker = COTTickerid(
COTType = "Legacy",
CFTCCode = convertRootToCOTCode("Auto"),
includeOptions = false,
metricName = "Open Interest",
metricDirection = "No direction",
metricType = "All")
This library's chart displays the valid values for the `metricName` and `metricDirection` arguments. They vary for each of the three types of COT data (the `COTType` argument). The chart also displays the COT ticker ID string in the `exampleTicker` variable.
Look first. Then leap.
The library's functions are:
rootToCFTCCode(root)
Accepts a futures root and returns the relevant CFTC code.
Parameters:
root : Root prefix of the future's symbol, e.g. "ZC" for "ZC1!"" or "ZCU2021".
Returns: The part of a COT ticker corresponding to `root`, or "" if no CFTC code exists for the `root`.
currencyToCFTCCode(curr)
Converts a currency string to its corresponding CFTC code.
Parameters:
curr : Currency code, e.g., "USD" for US Dollar.
Returns: The corresponding to the currency, if one exists.
optionsToTicker(includeOptions)
Returns the part of a COT ticker using the `includeOptions` value supplied, which determines whether options data is to be included.
Parameters:
includeOptions : A "bool" value: 'true' if the symbol should include options and 'false' otherwise.
Returns: The part of a COT ticker: "FO" for data that includes options and "F" for data that doesn't.
metricNameAndDirectionToTicker(metricName, metricDirection)
Returns a string corresponding to a metric name and direction, which is one component required to build a valid COT ticker ID.
Parameters:
metricName : One of the metric names listed in this library's chart. Invalid values will cause a runtime error.
metricDirection : Metric direction. Possible values are: "Long", "Short", "Spreading", and "No direction".
Valid values vary with metrics. Invalid values will cause a runtime error.
Returns: The part of a COT ticker ID string, e.g., "OI_OLD" for "Open Interest" and "No direction",
or "TC_L" for "Traders Commercial" and "Long".
typeToTicker(metricType)
Converts a metric type into one component required to build a valid COT ticker ID.
See the "Old and Other Futures" section of the CFTC's Explanatory Notes for details on types.
Parameters:
metricType : Metric type. Accepted values are: "All", "Old", "Other".
Returns: The part of a COT ticker.
convertRootToCOTCode(mode, convertToCOT)
Depending on the `mode`, returns a CFTC code using the chart's symbol or its currency information when `convertToCOT = true`.
Otherwise, returns the symbol's root or currency information. If no COT data exists, a runtime error is generated.
Parameters:
mode : A string determining how the function will work. Valid values are:
"Root": the function extracts the futures symbol root (e.g. "ES" in "ESH2020") and looks for its CFTC code.
"Base currency": the function extracts the first currency in a pair (e.g. "EUR" in "EURUSD") and looks for its CFTC code.
"Currency": the function extracts the quote currency ("JPY" for "TSE:9984" or "USDJPY") and looks for its CFTC code.
"Auto": the function tries the first three modes (Root -> Base Currency -> Currency) until a match is found.
convertToCOT : "bool" value that, when `true`, causes the function to return a CFTC code.
Otherwise, the root or currency information is returned. Optional. The default is `true`.
Returns: If `convertToCOT` is `true`, the part of a COT ticker ID string.
If `convertToCOT` is `false`, the root or currency extracted from the current symbol.
COTTickerid(COTType, CTFCCode, includeOptions, metricName, metricDirection, metricType)
Returns a valid TradingView ticker for the COT symbol with specified parameters.
Parameters:
COTType : A string with the type of the report requested with the ticker, one of the following: "Legacy", "Disaggregated", "Financial".
CTFCCode : The for the asset, e.g., wheat futures (root "ZW") have the code "001602".
includeOptions : A boolean value. 'true' if the symbol should include options and 'false' otherwise.
metricName : One of the metric names listed in this library's chart.
metricDirection : Direction of the metric, one of the following: "Long", "Short", "Spreading", "No direction".
metricType : Type of the metric. Possible values: "All", "Old", and "Other".
Returns: A ticker ID string usable with `request.security()` to fetch the specified Commitment of Traders data.
█ AVAILABLE METRICS
Different COT types provide different metrics. The table of all metrics available for each of the types can be found below.
+------------------------------+------------------------+
| Legacy (COT) Metric Names | Directions |
+------------------------------+------------------------+
| Open Interest | No direction |
| Noncommercial Positions | Long, Short, Spreading |
| Commercial Positions | Long, Short |
| Total Reportable Positions | Long, Short |
| Nonreportable Positions | Long, Short |
| Traders Total | No direction |
| Traders Noncommercial | Long, Short, Spreading |
| Traders Commercial | Long, Short |
| Traders Total Reportable | Long, Short |
| Concentration Gross LT 4 TDR | Long, Short |
| Concentration Gross LT 8 TDR | Long, Short |
| Concentration Net LT 4 TDR | Long, Short |
| Concentration Net LT 8 TDR | Long, Short |
+------------------------------+------------------------+
+-----------------------------------+------------------------+
| Disaggregated (COT2) Metric Names | Directions |
+-----------------------------------+------------------------+
| Open Interest | No Direction |
| Producer Merchant Positions | Long, Short |
| Swap Positions | Long, Short, Spreading |
| Managed Money Positions | Long, Short, Spreading |
| Other Reportable Positions | Long, Short, Spreading |
| Total Reportable Positions | Long, Short |
| Nonreportable Positions | Long, Short |
| Traders Total | No Direction |
| Traders Producer Merchant | Long, Short |
| Traders Swap | Long, Short, Spreading |
| Traders Managed Money | Long, Short, Spreading |
| Traders Other Reportable | Long, Short, Spreading |
| Traders Total Reportable | Long, Short |
| Concentration Gross LE 4 TDR | Long, Short |
| Concentration Gross LE 8 TDR | Long, Short |
| Concentration Net LE 4 TDR | Long, Short |
| Concentration Net LE 8 TDR | Long, Short |
+-----------------------------------+------------------------+
+-------------------------------+------------------------+
| Financial (COT3) Metric Names | Directions |
+-------------------------------+------------------------+
| Open Interest | No Direction |
| Dealer Positions | Long, Short, Spreading |
| Asset Manager Positions | Long, Short, Spreading |
| Leveraged Funds Positions | Long, Short, Spreading |
| Other Reportable Positions | Long, Short, Spreading |
| Total Reportable Positions | Long, Short |
| Nonreportable Positions | Long, Short |
| Traders Total | No Direction |
| Traders Dealer | Long, Short, Spreading |
| Traders Asset Manager | Long, Short, Spreading |
| Traders Leveraged Funds | Long, Short, Spreading |
| Traders Other Reportable | Long, Short, Spreading |
| Traders Total Reportable | Long, Short |
| Concentration Gross LE 4 TDR | Long, Short |
| Concentration Gross LE 8 TDR | Long, Short |
| Concentration Net LE 4 TDR | Long, Short |
| Concentration Net LE 8 TDR | Long, Short |
+-------------------------------+------------------------+