SmartPricing places timed limit orders traversing the bid/ask spread to the final price set. SmartPricing starts at the mid-price and works toward the bid when selling or ask when buying.
You can choose from three SmartPricing settings (normal, fast, patient), turn SmartPricing off and use a single limit, or send a market order.
Final Price
SmartPricing's Final Price settings allows us to customize the minimum or maximum price we're willing to let the bot to attempt. The final price is the final order your bot will send - your minimum price when selling or max price when buying.
If more than one final price option is selected, the best price is used. If the bid/ask spread is narrow, the best price may be the ask when entering a trade. But we can also use use the slippage from the mid-price setting to protect against price fluctuations. This allows the bot to trade even when bid/ask spreads get wide, while still controlling slippage.
For example, if selecting 100% of the bid/ask and $0.10 from the mid-price, the best available price of the two will be used.
In the image below, the bid/ask spread is $22.30 -$23.00, with a mid-price is $22.65. The bot would have tried a final price of $22.55 ($0.10 from the mid), but did not continue all the way to the bid price of $22.30.
We can also use a math operator as a final price setting inside a 'Close Position' action in automations. The final price value references the positionās opening entry price to arrive at a final limit price to exit the position.
For example:
A x 1.15 multiplier would close the trade with a 15% or better profit for a debit type trade.
A + 2.50 addition would close the trade with $250 or better profit per contract for a debit type trade.
A x 0.50 multiplier would close the trade with a 50% or better profit for a credit type trade.
A - 0.75 offset to the positionās opening price would close the trade with a $75 or better profit per contract for a credit type trade.
SPX SmartPricing
SmartPricing calculates the prices based on several points across the bid/ask spread. For example: mid, 1/3, 2/3, final price.
In the case of SPX, the prices at the fractions in the middle are rounded up or down to the nearest nickel ($0.05) depending on whether you are selling or buying.
For example, if the bot is using the 'normal' SmartPricing setting to open an SPX short put spread with a $0.50 wide bid/ask spread, it will start at or near the mid price and send timed limit orders as it traverses toward the bid as optimal as possible. $0.25 cannot be evenly distributed four ways, so SmartPricing automatically adjusts the spacing of the orders.
SmartPricing automatically rounds to the nearest nickel increment price (rounds up when selling, down when buying). In the above example, he final price is set to $4.23, so the bot rounds up to $4.25 and will not try a price below that.
The fill price is the mid of all legs added together. In the case of SPX which can only fill legs in nickel increments, it can result in a mid that is not actually in the middle of the bid/ask.
For example, an SPX call with a bid/ask of $0.10 - $0.15 the mid price is $0.15 when buying, $0.10 if selling since there is no valid price in between the spread. When you apply that same rule for all legs of a multi-leg position, you can end up with a mid price that is not very intuitive.