Trading Continuous Futures Contracts from TradingView on TradersPost
When algo trading futures contracts, it’s essential to understand how continuous contracts are rolled over on different platforms.
Co-Founder / CSO
-
TradingView now documents syminfo.current_contract and continuous-contract switch events, so the manual workaround and request for a new placeholder are no longer the only options while explicit contract symbols remain recommended.
This is especially important for traders using TradingView to send signals to TradersPost, as differences in contract rollover schedules can lead to unexpected outcomes. In this post, we’ll explore this issue, explain the discrepancy, and provide a workaround to ensure you trade the correct contract.
What are Continuous Contracts?
Continuous contract symbols are unique identifiers used to represent an ongoing series of futures contracts, providing a seamless chart that spans multiple contract periods. These symbols, such as NQ1! for the Nasdaq-100 futures, aggregate historical data across contract rollovers to create a continuous price series. They differ from standard contract symbols, which specify a particular expiration date, such as NQM2024 or NQU2024. Continuous contract symbols simplify long-term analysis by eliminating gaps and abrupt price changes that occur at contract expirations, offering a cohesive view of market trends.
How is the switching date of contracts determined in continuous futures on TradingView?
TradingView rolls over these contracts based on specific criteria around volume, where the main condition for contracts switching in continuous futures charts is the excess of the daily volume of the next contract over the daily volume of the current futures contract. More info on this can be here in the TradingView documentation.
However, this rollover schedule differs from how we handle rollovers at TradersPost.
The Rollover Discrepancy
As an example, let's consider the June 2024 contract rollover period for NQ1!. The contract itself expires on June 21, 2024. But, TradingView rolled over their contract around June 14 and TradersPost rolled over theirs on June 19, 2024.
TradingView rolled over the NQ1! continuous contract to NQU2024 because it met their criteria for rollover. At TradersPost, we roll over our contracts 2 days before the expiration date of the current front contract, which is based on the TradersPost contract rollover rules.
This means there is a period where traders using the continuous contract symbol NQ1! might receive signals for NQU2024 on TradingView but end up trading NQM2024 on TradersPost due to our different rollover schedules.
This discrepancy can result in significant price disparities between the expected and executed trades, leading to potential losses or confusion. Since TradingView now provides syminfo.current_contract in Pine Script to identify the underlying contract for continuous symbols, traders have another option in addition to using explicit symbols1.
The Workaround
To mitigate this issue, traders should explicitly define the contract symbol in their alerts or use syminfo.current_contract in Pine Script to identify the current contract1. When using explicit contract symbols, this means updating your alerts every quarter or every contract rollover period to match the specific contract symbol you intend to trade1. For example, instead of using NQ1!, you should use NQM2024 or NQU2024 directly in your TradingView alerts.
Steps to Update Your Alerts
Identify the Current Front Contract: Determine which contract is currently being traded. This information can be found on TradingView or your trading platform. On TradingView, it's in the Security Info window.
Update Your TradingView Alerts: Modify your alerts to use the specific contract symbol (e.g., NQM2024) instead of the continuous contract symbol (e.g., NQ1!).
Review Quarterly: At the end of each quarter or before the contract expiration, update your alerts to the new front contract.
Advocate for a Solution
While explicit contract symbols remain recommended, TradingView now provides syminfo.current_contract in Pine Script to identify the underlying contract for continuous symbols1. TradingView also documents continuous contract switch events to help traders plan for rollovers1. This would allow for automatic updates and reduce the risk of discrepancies.
Conclusion
Understanding the differences in contract rollover schedules between TradingView and TradersPost is crucial for seamless trading. By explicitly defining the contract symbols in your alerts or using syminfo.current_contract in Pine Script, you can ensure more accurate and efficient trades1.
For any questions or further assistance, feel free to reach out to our support team. Happy trading!
References
1 Using Continuous Futures Contracts with TradersPost - Blog