About this template
This bot is unlike any other on Option Alpha (as far as I can find) and built on the trading concept of Supply and Demand Zones utilizing the somewhat limited options for this technique with Option Alpha software (thus far). The best idea I could come up with to make this work was looking at the highs & lows of each day to use them as our Supply and Demand Zones, and estimating a gap/range to help us decide when to open a position.
NOTE: This bot is NOT PDT friendly!
Upgrading to the 5 minute or Continuous bot scan intervals are recommended for the best performance.
UPDATED CHART February 15, 2024:
OBSERVATIONS & BENEFITS:
- Supply and Demand zone trading essentially can work in any type of market condition! Therefore indicators like RSI, etc., and even VIX are irrelevant!
- Exposure is arguably one of the greatest risks to your capital. This bot often avoids this problem because the positions are often hitting their profit targets within 15 minutes!
MORE INFO ABOUT THIS TRADING TECHNIQUE:
Supply and Demand zones encompass a similar idea to the concept of Support and Resistance. Supply zones work in the same areas as resistance, and Demand zones as support. This therefore equates to the idea of selling at Supply zones and buying at Demand zones. The beauty of this technique is that is designed to work in essentially all market conditions -- whether Bull or Bear.
In the case of Supply and Demand zones, the lesser the time the zone has been retested, the stronger the credibility. This is unlike the concepts of Support and Resistance where the more times the market re-test a certain Support/Resistance, the stronger it is. This is why I recommend to only open one position once a zone has been hit, and not repeat positions per day.
**This also means the bot may not open a position every single day if these zones are not hit, so you might want to clone this bot and use copies of it for other tickers such as QQQ, SPY, IWM, etc.
BOT SCANNERS:
- Bot has an automation scanner for looking back 4, 3, 2 and 1 days ago (in descending order) for the high and low of the $Symbol on that particular day, and use that to monitor when to enter positions. The reason I have the higher number of days executing the automation in descending order, is because higher time frames have higher weight, and therefore are more likely to cause a change in trend when the stock comes into the corresponding Supply/Demand zone.
- "where is $Symbol now?" - is designed to run **after** the other scanners because we want to know where the $Symbol **was** 15 minutes ago to help us know which direction it is currently trending when it hits a zone so we know whether to go long or short.
BOT VARIABLES:
- SYMBOL - This bot uses 1 symbol at a time due to needing so many monitors on it.
- EXPIRATION - I found 0 DTE to work good, but also 1-3 DTE works even better (Default), and with the additional benefit of being without the risk of 0 DTE assignment risk if you choose to use short spreads.
- GO LONG? OR SHORT SPREAD? - By Default, I chose to go with Long options because they hit profit targets faster (trades are most often 15 minutes or less), but you can turn OFF to use Short Spreads instead (you might need to reduce the total profit target to achieve consistent high win rates). Only disadvantage to long options is Theta burn, of course.
- The $GapThreshold is the area/range when the ticker is within a Demand/Supply Zone that triggers to open a position. It may need to be adjusted based on the $Symbol you decide to use (since it uses a percentage gap) . Right now, 0.09 % seems to be pretty effective for SPY. You'll likely need to adjust it higher if the $Symbol price is lower; or adjust lower if $Symbol price is higher.
- CLOSE AT END OF THE DAY? - By default, I put this to ON. You probably don't want to hold overnight due to rapid Theta burn. It's only happened once (so far with my testing) where the position didn't hit profit target or stop loss by end of the day so I added this monitor.
- Open Runners? and Runner Position Size and Runner Exit Options - By default, I have it set to ON with a small size (1%) risk, and with higher profit targets like 45% and no stop loss.
- Closing Price - I have set it to close positions at mid-price between Bid/Ask by default, but you can modify. ***Using it "live" with Tradier, I have had to switch to Market orders to get fills quick enough due to volatility of these 1DTE's
- LONGPUTSTRIKE, LONGCALLSTRIKE, SCS.SHORTCALLSTRIKE, SCS.LONGCALLSTRIKE, SPS.SHORTPUTSTRIKE, SPS.LONGPUTSTRIKE - You can easily modify your strike prices as desired or keep defaults. The default in v13 was changed to 50 delta vs old 30 delta for longs.
- 15 Min Scanning? - Is the bot going to run at the original 15 minute intervals? If using 5 minute or continuous, then turn this OFF. ***5 minute or continuous intervals are recommended for the best performance.
In v13 - a Monitor was added which dynamically adjusts Exit options for profit targets if position is doing very well to squeeze out more profits from our positions. It's been working very nicely and greatly enhances the performance of the bot.
In v14 - small patch to reset and make the tags for "disable $X days ago" shorter in hopes that fixes the issue of the bot not recognizing them.
In v15 - The patch fixes the scenario that if more than 1 of the "Look $X day ago" Scanner's are within a trigger zone, it will check to make sure the bot is not actively opening a position already and thereby prevent opening duplicate positions per day. Also, fix the "Market Close" Automation so that it will use Bot level "Closing Price" (Thanks @John for noticing this!).