The bot sets the max (or min) price for smart pricing at 100% (or an alternative percent chosen by the user) of the bid-ask at the time the automation runs to ensure the math used by the automation is honored/enforced. In the half-second to one second between that moment and the time when the order is sent and SmartPricing captures the displayed bid-ask spread, the prices can change and this creates a discrepancy.
The bid-ask spread displayed is the one at the time the automation runs. This is for the user's protection.
For example, a bot may check for a minimum return of 50% on a position, set a max price that reflects that and in that half-second to one second something can happen that moves the price drastically to a completely different bid-ask. If the new bid-ask spread were allowed and it moved significantly, a user might get only 35% or even worse, take a loss. Setting the max/min price in advance ensures that will never happen.
If SmartPricing does not fill an order and is timed out, the order will be canceled. The canceled order is displayed as "Canceled" in the Closed Positions section. The bot will place the order again at the next interval if the automation's conditions are met.
A limit order will time-out after two minutes and will appear as a canceled position in the Closed Positions section. The bot will place the order again at the next interval if the automation's conditions are met.
No, you can use a range of 50-150% of the bid-ask spread when using SmartPricing.
This answer will vary for different traders and is a function of preference. The SmartPricing settings allow you to choose between different speeds and prices.
For example, if you are entering a trade that is 40-60 days out, you may not mind waiting for a fill, so you might use the patient setting.
If you are looking to enter a shorter term position, it may be more important to achieve a quick fill, so the speedy setting may be better.
It is important to think about your bot and how your trade strategy would fit into these scenarios.
When a bot assesses the bid-ask spread using SmartPricing, it automatically calculates risk and return values based on the worst possible price.
For example, if you allocate $500 of risk to a long call position, and the SmartPricing range is $4.90-$5.10, the bot will not open a position because it assumes a worst-case scenario of a $510 debit.
This features optimizes pricing by allowing SmartPricing to "walk" the bid-ask spread in an effort to fill a trade at a better price than the market price.
This feature gives you the ability to submit a closing order that is a mathematical function of the entry trade price.
For example, a long option profits when the exit price is higher than the entry price. So, the “+” function tells the bot to close the position above the entry price by a defined value. +$1.00 would exit the position $1 higher than the opening price.
This function is similar to a limit order. Your trade will fill at the price specified by the "Fixed Dollar Amount". Limit orders may be more difficult to fill, but they may result in better pricing.
You could use "Percent of Bid/Ask Spread" when you want to "walk" the bid-ask spread to try and get a better fill. "Percent of Bid/Ask Spread" attempts to optimize available prices and fill your order at the best price.
The "Fixed Dollar Amount" final price effectively places a limit order. It will fill if and only if the price is available.
The "Position Trade Price" references a position’s entry price. An opening order does not have a price to reference, so the function is not available.