Futures Trading
TradersPost supports buying, selling and shorting futures contracts with support for over 100 tickers.
Supported Brokers
Click below to see the full list of supported futures brokers and prop firms.
Supported Tickers
TradersPost currently supports trading with the following futures tickers through TradeStation.
The ticker names are not always the same from TradingView to TradersPost. Because of this, it's recommended that you hard code your ticker symbol into your alerts instead of using the {{ticker}} TradingView variable. For example, Lumber with TradeStation is LB and on TradingView it's LBR.
Here is an example:
Symbol Format
TradersPost standardizes the futures symbol format to have a 4 digit year. We convert this symbol format back and fourth when communicating with each broker so you don't have to worry about the differences between brokers.
Signals
It's easy to send signals to TradersPost using Webhooks from platforms like TradingView or TrendSpider. You just need to send JSON like the following to the webhook URL you create within TradersPost.
Enter Bullish
The buy action is a bullish signal. When TradersPost receives a buy signal, we will Buy To Cover any bearish (short) position for the ticker and Buy To Open a bullish (long).
Exit Bullish
The exit action will exit any open position. So for example if you have a long shares position open, then TradersPost will Sell To Close those long contracts.
Enter Bearish
The sell action is a bearish signal. When TradersPost receives a sell signal, we will Sell To Close any bullish (long) position for the ticker and Sell To Open a bearish (short) position.
Exit Bearish
The exit action will exit any open position. So for example if you have a short contracts position open, then TradersPost will Buy to Cover those short contracts.
Full Signal Example
You can optionally include a price and quantity in the signal that can then be used in the calculated orders that we send to your broker. Here is a full example signal.
If you configure your strategy subscription to use limit orders and to use the signal quantity, then you will get a Buy Limit order for 2 contracts at a price of $1420.50.
Market Orders
While futures trading generally supports market orders, under certain conditions market orders may be REJECTED by your broker or exchange. For example, during major news announcements like unemployment or inflation numbers, the exchange can go into reserve and during this time market orders are not accepted.
During these market conditions, you may receive rejected orders with a reject reason of the following:

Whenever trading futures and you are facing upcoming volatile market conditions, you have two options:
Don't hold positions over upcoming major news announcements (CPI, FOMC announcements, etc)
Watch your positions and be ready to take manual action with limit orders if your market orders are rejected.
To keep track of the different news events that may cause the market to move in one direction or another you can use the following calendars.
Contract Rollover
You are responsible for ensuring futures contract positions are exited before expiration or are rolled over manually. TradersPost does not automatically do anything special for futures contract positions based on expiration date.
If your position is held through a futures rollover, any exit signal must reference the new contract symbol. Once the broker rolls the position forward, exits must be sent using the rolled contract ticker.
For example, if you entered using MNQH2025 and the broker rolls the position to MNQM2025, your exit signal must use:
Continuous Futures Symbols
Simply put, do not use continuous symbols with TradersPost. We understand they are convenient, but at this time we do not reliably resolve the correct front month or second month contract behind continuous symbols.
Using symbols like 1! or 2! can lead to mismatches between TradersPost and charting platforms such as TradingView, especially around roll periods, where each platform may reference a different underlying contract.
This mismatch can result in orders being sent to an unexpected contract and cause unnecessary confusion or execution issues. Until we introduce a more robust contract resolution process, we strongly recommend always sending explicit contract symbols instead of continuous symbols.
We recommend sending the hard-coded symbol instead:
Please see our Blog Post on our recommendations for trading continuous futures on TradingView.
TradersPost currently rolls futures contracts based on expiration dates, not volume. We switch from the current contract to the next contract two days before the contract’s expiration date.
Because this is not a volume-based rollover, there are times when charting platforms like TradingView may identify a different front month contract than TradersPost. In some cases, TradingView may already be pointing several months ahead while TradersPost is still referencing the next expiring contract.
For example, MNQZ2023 expires on Friday, December 15, 2023. On TradersPost, the continuous symbol MNQ1! rolls to MNQH2024 at the start of December 13, 2023.
Determining the Continuous Futures Contract Symbol
You can see the contract rollovers planned by TradingView using the Continuous contract switch event. On TradingView charts, head to Settings, click Events, and turn on "Continuous contract switch".

This will now show you an event at the bottom of the chart with a purple arrow that indicates when the contract rollover will take place and what ticker it will change from and to. You can use this to hard-code your alerts on the day of a rollover.

TradingView has also added the variable syminfo.current_contract to Pine Script. This would return the underlying contract for the current symbol if it is a continuous futures contract (na otherwise).
Futures Asset Class Subscription Settings Walkthrough
The subscription settings page is where you edit all settings for your individual subscriptions. It's also where you can override the settings you've sent in your webhook signal.
Auto Submit
Checking this will submit your subscription orders automatically to your broker. Otherwise, you will need to manually approve or reject each order.
Allowed Tickers
You can allow any ticker that is in your asset class or you can filter a subscription to only trade tickers you've added.
Futures tickers will need to be formatted like this: MNQ, NQ, MES.
Not MNQ1! (continuous contract) or MNQU2025 (specific contract)
Allowed Sides
Choose which trade directions are allowed: take both bullish and bearish trades, or restrict to just one side.
Both (Bullish and Bearish)
Bullish
Bearish
None
Allow Side Swapping (Advanced)
Normally, if a signal comes in for the opposite side, TradersPost will treat it like an exit signal by closing your position and stopping there. When this is turned on, we'll exit what you have and immediately open a new position on the opposite side.
Example: You are long 2 contracts and send the below JSON:
Scenario 1:
Your 2 contract long will immediately be closed, all open orders cancelled, and you'll be entered into a 2 contract short.
Scenario 2:
Your 2 contract long will immediately be closed and all open orders cancelled. You will be out of all positions and net flat.
Subtract Exit Quantity from Signal Quantity (Advanced)
When side swapping is enabled, enable this option to take the exit quantity and subtract it from the signal quantity before side swapping. (Sides must be set to Both and Side swapping and Use signal quantity are set to enabled)
Example: You are long 2 contracts and send the below JSON:
Scenario 1:
All open orders will be closed and 4 contracts will be subtracted from your open long, leaving you net short 2 contracts.
Scenario 2:
Your 2 contract long will immediately be closed, all open orders cancelled, and you'll be entered into a 4 contract short.
Sides Isolated (Advanced)
If there is an open position on the opposite side, do not allow the trade signal to exit the position. (Sides must be set to Bullish or Bearish)
Example: You are short 2 contracts, have this setting set to "Bullish" and send the below JSON:
Scenario 1:
Your trade will fail and your short will not be exited.
Scenario 2:
Your 2 contract short will immediately be closed, all open orders cancelled, and you'll be entered into a 2 contract long.
Trading Window
Trading Window
Define your trading windows. Trade signals received outside these windows will be ignored. "From" is inclusive; "To" is exclusive.
When trading windows are defined, any trading signals submitted outside those windows are ignored by default.
Enabling the "Allow exits and cancels outside of trading windows" option allows exit or cancel signals to be processed even if they occur outside the defined trading windows. This is helpful if you want to ensure entries happen within your window but still allow exits or cancellations at any time.
Example: You are in a 2 contract long that was entered during a trading window that ends at 4pm. It's now 4:01pm and the following signal is received:
Scenario 1:
Your 2 contract long will immediately be closed, all open orders cancelled, and you'll be net flat.
Scenario 2:
Your 2 contract long will remain open and your sell trade will reject.
Position Size
Fixed Quantity
Hardcode a fixed quantity for each position instead of calculating a quantity dynamically.
This option allows you to specify a fixed quantity for your entries. For example, if you set the fixed quantity to 5, the strategy will always enter a quantity of 5 contracts when the trade is entered.
Allow Add To Position
Allow adding to an existing open position. If this is not checked, trades will be rejected if there is already an open position.
Example: You are long 2 contracts and send the below JSON:
Scenario 1:
Your 2 contract long will have 2 more contracts added to it, making it a net 4 contract long position.
Scenario 2:
Your 2 contract long will remain open, your add will reject, and you'll still be net 2 contracts long.
Signal Quantity Multiplier
Multiply the signal quantity by a fixed number to scale position size up or down. For example, a signal with quantity 2 and a multiplier of 2.5 results in a final quantity of 5. Only applies when use signal quantity is enabled.
The Signal Quantity Multiplier allows you to scale the quantity provided in a trade signal up or down by a fixed decimal value.
This multiplier is applied only if the “Use signal quantity” option is enabled. When enabled, TradersPost will take the quantity value from the incoming webhook signal and multiply it by the number you provide here.
Example: You send in the following JSON
Signal quantity multiplier: 2.5
Result: TradersPost will submit a market order for 5 contracts (2 × 2.5).
Use Cases
You want to follow a signal provider’s trades, but your account is larger or smaller than theirs.
You want to scale all trade sizes from a strategy, regardless of what quantity it sends.
You want to reduce exposure (e.g. use
0.5to take half-size positions).
Notes
Supports decimal values like
0.1,1.5,2,10, etc.Can be used to scale down as well as up.
Works with both whole and fractional quantities (if your broker supports fractional trading and "Use fractional quantity" is enabled).
If the calculated final quantity results in a decimal and your broker does not support fractional shares/contracts, the value will be rounded down.
Tip
If you don't want to use the quantity from the signal, you can leave "Use signal quantity" disabled and configure your own quantity calculation method instead.
Cancel
Cancel
Check this if you do not want TradersPost to cancel open orders before submitting new orders. Beware that if you disable this and you use take profit or stop losses in your broker and you send an exit signal, the broker may reject your exit order due to the take profit or stop loss orders still being open.
Example: You are long 2 contracts with a stop loss and take profit, and send the below JSON:
Scenario 1:
Your 2 contract long will be exited, but the stop loss and take profit will not be cancelled.
Scenario 2:
Your 2 contract long will immediately be closed, all open orders cancelled, and you'll be net flat.
Entries
Entry Order Type
If the broker you are using does not support quotes (Tradovate and ProjectX) you must always send a price in your signal if you are sending limit orders or bracket orders (ProjectX does not yet support brackets).
Choose the order type to use for entry orders. Your choices are below:
Limit
Market
Stop Market
Stop Limit
Trailing Stop
For Trailing Stop orders, you'll also need to add one of the following
Entry Trail Amount (in points on the underlying futures ticker)
Entry Trail Percent (based off the % of the underlying futures ticker)
Not supported for the Futures class
Entry Time In Force
By default, TradersPost will send the appropriate time in force of either gtc or day depending on the scenario and broker
Choose the entry time in force to use for entry orders. Your choices are below:
Good For Day: The order is valid for the trading day and will be canceled if not executed by the end of the trading day
Good Until Cancelled: The order is good until canceled and will remain active until it is executed or canceled.Fill Or Kill
Immediate Or Cancel: The order is immediate or canceled, meaning it must be executed immediately or canceled.
Fill Or Kill: The order is fill or kill, meaning it must be executed immediately in its entirety or canceled.
Entry Price
If the broker you are using does not support quotes (Tradovate and ProjectX) you must always send a price in your signal if you are sending limit orders or bracket orders (ProjectX does not yet support brackets).
For TradeStation (or other futures firms which support quotes) if you don't include a price and want to send a limit order or send a bracket with your entry, your choices are below for how you want TradersPost to estimate the signal price:
Bid-ask midpoint
Use ask for buys and bids for sells
Always use ask
Always use bid
Use last price
Exits
Entry Order Type
If the broker you are using does not support quotes (Tradovate and ProjectX) you must always send a price in your signal if you are sending limit orders or bracket orders (ProjectX does not yet support brackets).
Choose the order type to use for exit orders. Your choices are below:
Limit
Market
Stop Market
Stop Limit
Trailing Stop
For Trailing Stop orders, you'll also need to add one of the following
Exit Trail Amount (in points on the underlying futures ticker)
Exit Trail Percent (based off the % of the underlying futures ticker)
Not supported for the Futures class
Exit Time In Force
By default, TradersPost will send the appropriate time in force of either gtc or day depending on the scenario and broker
Choose the exit time in force to use for entry orders. Your choices are below:
Good For Day: The order is valid for the trading day and will be canceled if not executed by the end of the trading day
Good Until Cancelled: The order is good until canceled and will remain active until it is executed or canceled.
Immediate Or Cancel: The order is immediate or canceled, meaning it must be executed immediately or canceled.
Fill Or Kill: The order is fill or kill, meaning it must be executed immediately in its entirety or canceled.
Exit Price
If the broker you are using does not support quotes (Tradovate and ProjectX) you must always send a price in your signal if you are sending limit orders or bracket orders (ProjectX does not yet support brackets).
For TradeStation (or other futures firms which support quotes) if you don't include a price and want to send a limit order or send a bracket with your exit, your choices are below for how you want TradersPost to estimate the signal price:
Bid-ask midpoint
Use ask for buys and bids for sells
Always use ask
Always use bid
Use last price
Take Profit / Stop Loss
Take Profit
If the broker you are using does not support quotes (Tradovate and ProjectX) you must always send a price in your signal if you are sending bracket orders (ProjectX does not yet support brackets).
Tradovate, TradeStation, and Tastytrade are the only futures brokers on TradersPost that support bracket orders (take profits / stop losses / trailing stops) that are attached with your entry or exit.
For take profits, you can have one of two choices:
Take Profit Percent (based off the % of the underlying futures ticker)
Take Profit Amount (based off of points on the underlying futures ticker)
Scenario 1:
You send this signal with a take profit % as 5% in your subscription settings.
You will be entered into a 2 contract long with a 2 contract limit sell at 25000 on MNQ.
The take profit % is not based on profit and loss on your portfolio, it's based on the underlying ticker. Even a small % on a futures ticker like MNQ will be a relatively huge amount for most traders. Make sure you understand that we are placing your take profit relative to the price where your futures ticker is trading in the signal that you send. In the above example, 23810.25 x 5% is nearly 1,200 points on MNQ.
Scenario 2:
You send this signal with a take profit amount as 250 in your subscription settings.
You will be entered into a 2 contract long with a 2 contract limit sell at 24060.25 on MNQ.
The take profit amount is not based on profit and loss on your portfolio, it's based on points on the underlying ticker. If you type in 250 it doesn't mean $250 profit on your P/L. It means 250 points on MNQ which for 2 contract trade would be $1000 in profit on your P/L. It's up to you to figure out based on the number of contracts you're trading and the profit you want to achieve what value to write in the amount field.
Stop Loss
If the broker you are using does not support quotes (Tradovate and ProjectX) you must always send a price in your signal if you are sending bracket orders (ProjectX does not yet support brackets).
Tradovate, TradeStation, and Tastytrade are the only futures brokers on TradersPost that support bracket orders (take profits / stop losses / trailing stops) that are attached with your entry or exit.
For the stop loss order type, there are three choices:
Stop Market
Stop Limit
Trailing Stop
As far as where the order will be placed relative to your entry, you have two choices:
Take Profit Percent (based off the % of the underlying futures ticker)
Take Profit Amount (based off of points on the underlying futures ticker)
Scenario 1:
You send this signal with a stop loss % as 5% in your subscription settings.
You will be entered into a 2 contract long with a 2 contract sell (stop market, stop limit, or trailing stop) at 22619.75 on MNQ.
The stop loss % is not based on loss on your portfolio, it's based on the underlying ticker. Even a small % on a futures ticker like MNQ will be a relatively huge amount for most traders. Make sure you understand that we are placing your stop loss / trailing stop relative to the price where your futures ticker is trading in the signal that you send. In the above example, 23810.25 x 5% is nearly 1,200 points on MNQ.
Scenario 2:
You send this signal with a stop loss amount as 250 in your subscription settings.
You will be entered into a 2 contract long with a 2 contract sell (stop market, stop limit, or trailing stop) at 24060.25 on MNQ.
The take profit amount is not based on profit and loss on your portfolio, it's based on points on the underlying ticker. If you type in 250 it doesn't mean $250 profit on your P/L. It means 250 points on MNQ which for 2 contract would be $1000 in loss on your P/L. It's up to you to figure out based on the number of contracts you're trading and the profit you want to achieve what value to write in the amount field.
Retry
Retry
When TradersPost executes a trade, the first thing it does is communicate with the broker to fetch the state of the broker account and "plan the trade". This includes fetching current open positions, open orders, account balances, and any other information required to execute the trade. TradersPost then uses this information to determine the plan for executing the trade, which includes deciding whether to cancel any open orders for the ticker, exit the open position if it exists, or enter a new position. If there were any problems communicating with the broker or processing the trade plan, you will see this message.
Here is a list of the available retry settings:
Max retries- The maximum number of times the system will retry the trade. If the trade fails after the maximum number of retries, the trade will be marked as failed.Delay in milliseconds- The delay between each retry attempt. The system will wait for this amount of time before retrying the trade.Delay multiplier- The multiplier to apply to the delay between each retry attempt. The system will multiply the delay by this value after each retry attempt. For example, if the delay is set to1000milliseconds and the delay multiplier is set to2, the system will wait1000milliseconds before the first retry,2000milliseconds before the second retry,4000milliseconds before the third retry, and so on.Max delay in milliseconds- The maximum delay between retry attempts. If the delay calculated by the delay multiplier exceeds this value, the system will use this value as the delay.
Last updated
Was this helpful?