- Create a minimal, beginner iron condor bot.
- Use a decision recipe to prevent the bot from entering multiple positions in the same ticker symbol.
- Build a monitor automation with management decisions for multiple exits based on profit targets and time until expiration.
- Use custom inputs to create flexible variable fields for multiple tickers within the same bot.
All right. So again, welcome to today’s bot workshop. We’re gonna be going through minimal iron condor template. As always, if you have some questions, let us know in the chat. If you are watching this recording, later on, you have questions, post it to the community to the thread for this particular bot template which will start here at the end of this video, or you can always shoot us an email into support.
So, first of all, let’s go through a couple different things for this particular bot template. First thing is we wanna create a minimal, beginner iron condor bot template. It’s gonna be very basic, very simple beginner iron condor bot, but it will have some really cool functionality around checking for opportunities also multiple exit points.
We’re gonna use decisions to prevent the bot from entering multiple positions of the same underlying ticker symbol at one time. So this is gonna be one of those ways where you can either put multiple automations inside of one bot and run a couple different tickers, or you can spread these out across a couple different bots if you want to and have a bot for each symbol. There’s a lot of different ways you can preferably skin this cat if you want to for this bot. But today, we’ll just use just one symbol automation. You guys can expand it from there.
We’re gonna use some monitor automations with management decisions from multiple exits based on profit targets and time until expiration. This is gonna be a really cool way that we can start to sub-divide the way that we can manage positions into management styles based on how close we are to expiration.
Finally, we’re gonna use custom inputs throughout the webinar today in the bot workshop to create flexible variable fields for different tickers and different inputs throughout the bots. So as you guys know, if you’ve been any of these workshops with us, you’ll love custom inputs. I think when you start using them, you will love them as well. So we want to make sure that we use those throughout today’s workshop.
Essentially what we’re gonna be doing is replicating one of these bot templates that we shared before, but just building it from scratch, adding a couple different little new ounces. So, to start out with and building a new bot template, first thing you gotta do is go over here to the button, over the top of your bot dashboard, to create a brand-new bot. You name it, whatever you want. We’ll call this workshop iron condor. We’ll call it minimal iron condor. So that we know exactly what we’re working with.
Then we’ll give it a fun little color and icon and do whatever we want with it. Let’s give it a little unicorn right now, whatever it is. Then you select the trading account. This is when live trading starts trading on here soon. You can select what account this particular bot is associated with. Right now, the default is paper trading. You give it your allocation. You tell it how much you can trade. Give it a little bit more allocation for this particular bot, and then you set the position limits.
Now because we’re gonna be doing this particular bot template as just simply one simple minimal iron condor position, we’re just gonna leave the position limits at one new position per day and one max position at a time. This is again a great way to double-check yourself and make sure the bot doesn’t enter more than one position if you don’t want it to. Once we’re good to go, we simply hit create, and then we go and view our bot.
So this point out, we’ve got our bot shell in place. I call it the bot shell because there’s nothing in it. There’s no activity, there’s no positions, no automations, the log is completely empty, and as always, automations are turned off by default. So what we have to do first is we have to build out our automations.
First thing that we’re gonna build out is our scanner. Scanner automation essentially tell the bot what decisions to make, what opportunities to check, what things to go through to eventually get into a brand-new position. So we click the button to add a brand new scanner. We’ll select from the drop-down list, and you can choose from available scanners inside of your library. This is a really cool feature where you can reuse scanners even you can create clones and copies of them. But for today’s webinar, we’ll build out a brand-new scanner automation.
When you do this, you go up here, and you’ll name it something. Whatever you want to name, it is appropriate and fine. I always like to name it something that’s really specific, so I’ll name mine something like iron condor scanner (no overlap). This way, I know when I look at this, not only it’s an iron condor, but it’s gonna prevent the bot from overlapping positions in the same ticker symbol.
Once I do that, then I can start building out my actual automation. First thing I wanna do is I want to add a decision. You can go in here, and you can add any sort of decision you want. Any filters that you want the bot to go through essentially before it gets to the point of actually placing a trade. So when you go in here to add your decision, and by the way, you don’t always have to start with decisions. A lot of people do start with decision.
You can group, associate, organize, split these up into multiple branches, but essentially you just want to create everything that you want the bot to check before it gets to the point of actually starting to place a trade. So you can do something like a moving average or some sort of technical indicator or some sort of IV rank. Whatever you want to do, you can put it in here into your set of decisions.
Today we’ll just use a very simple VIX filter. I want to go all the way to the bottom, to the list of indicators, and I want to include a VIX filter to start. Now again, when we go through this, when we go through this, and we share the template, create a different version of this template and share it back into the community right in the same post that we’ll start here in the end, and then make any changes that you want. You want your VIX filter, an IV filter, whatever it is, create your version of it.
We’re gonna use a VIX filter and just check and see if the VIX is below 40. Why 40? Because it’s better than 50. I don’t know, whatever you want, right? So we’re just gonna add a very simple VIX filter right at the top of our automation. This is really cool because what this allows us to do is this allows us to tell the bot basically to avoid making trades if VIX is above 40. Again, you can use whatever filters you want. This is one that you could use.
If the VIX is below 40, then we wanna add all of our decisions down the yes path or any other additional decisions. We can leave the no path empty, which means that if the VIX is above 40 and volatility is crazy, and markets are out of whack, then this thing doesn’t go down the path to eventually start getting into positions.
Next thing that we wanna add here is we wanna add another decision. And this time, what we wanna do is we wanna start filtering for specific trading criteria, okay? We want to start filtering for specific trading criteria. This case, we wanna go down to our opportunity section. So opportunities are exactly what they sound like. You’re telling the bot to check a potential trading opportunity. You’re telling the bot essentially to pull in information and data live at the time that it’s running on a potential trade that you might send to your broker. Does that make sense?
So you’re telling the bot look, check this type of trade that I want to get into, and check this value on this particular leg, or this bid/ask spread on this thing, or this opportunity or profit. You’re telling the bot to do all the things that, again, you would normally do manually, or you would do in your head or just kinda go through as you’re building out and trading your own strategy.
First thing that I wanna do is I want the bot to check the bid/ask spread of a potential opportunity. There’s a great little check that you can add to all of your bots. Very simple, very easy, it ensures that the bid/ask spread at the time that you could potentially place the trade is inside of whatever threshold you deem as appropriate.
First thing we have to do here is we have to select the opportunity. We basically have to tell the bot what type of trade are we looking to place. This is the first time that you’re gonna be introduced into selecting the actual trade. The cool thing is that we can reuse this once we build it out once over and over and over again throughout the bot.
So I wanna go down here to the neutral iron condor section, and I wanna start building out the criteria for my iron condor. First thing I have to do is I have to select the ticker symbol. Now I can choose a ticker symbol and manually connect it to a symbol like SPY, or what I can do is I can come over here to this little blue icon, and I can create what’s called a custom input. Custom input sounds exactly like what it is. It’s just a variable field that allows you to swap out this input for other automations in other bot in the future. Makes it really, really flexible.
So we’re gonna add a custom input, and we’re gonna call this one ticker, and we can set a default value. We can keep that default value at SPY if we want to. Now when I select save, you’ll notice that this field is now an input field. It means that this whole automation’s now flexible, and I can swap that ticker as I’ll show you here towards the end of the workshop. I can swap that ticker very easily for a different ticker without having to redo this whole automation and create a brand new one.
Now you can create a custom input for all of the different fields that you see that have this little blue icon right next to the field. For the sake of argument today, just for speed and simplicity, we’re gonna leave most of these other fields all well. You can set these for whatever you want. You can set these for different expiration. You can set them for different strikes and legs on each individual one.
Notice that each of these fields has lots of different ways you can calculate and set up your different strikes. You can do it by delta, a specific value, a dollar amount above and below, percentage above and below, a dollar or percentage above and below, particular leg. You can do some really, really cool things with this.
So once you have your iron condor set up exactly the way that you want and we assume that it is here, we just created one input for the ticker. You just simply want to save. Now that information gets pulled into the actual decision. Now when the bot runs, it will pull the information for that exact position that you’re looking at. Whatever ticker you put in there, 30 days, 30 delta, ten delta on the wings, it will pull that information into the bot, and it will check the bid/ask spread. You can put in a number like less than or greater than or exactly, but we usually wanna do less than. We’ll just say less than 15 cents, okay?
So it’s an iron condor position. It could be less than 10 cents if it’s a wider, larger product that you’re trading. You definitely want to check it out and see if the bid/ask spread is normally a little bit higher. Actually, one of our members in here today, Tom, shared a great spreadsheet inside the community with average bid/ask spread for different tickers. So that’s really helpful. Whatever it is, we’re just gonna use 15 as just a default right now. When you’re good to go, you simply hit save.
So this is the first set of criteria that we want the bot to check. Does this make sense so far? So let me just save this, and I’ll come back in here. But right now on our scanner, anytime that the scanner runs, it’s gonna check and see if the VIX is below 40. That’s like our global threshold.
Then if the VIX is below 40, it’s gonna check the pricing on an iron condor position that we may want to get into and make sure that the bid/ask spread is less than 15 cents. If it is less than 15 cents, then we want to continue down the yes path. If it’s not less than 15 cents, meaning the spreads are too wide. Guess what? You just leave the no path empty, the automation ends, and it checks again in the next 15 minutes.
But we don’t have to end here, which is the bid/ask spread. We can also check other things. So when you’re getting into a position, and that’s an iron condor, what other things might you want to check? Would you want to check open interest or volume of particular legs in the position, right? Because the bid/ask spread is just one component of it, but maybe you also wanna check the volume or the open interest of particular legs.
So we’re gonna add some additional decisions to this block. We’re gonna go here, and we’re gonna check particular parameters of individual legs of the same iron condor position we want to get into. So we go to this recipe here which has a lot of different fields that we can select from, and we select our opportunity. Now, remember I said earlier once you build out your opportunity, the bots are smart enough to recognize that you can reuse that same opportunity without rebuilding it over and over again. This again saves your lifetime. You build it once, tell the bot what it is, and you can use that recent opportunity again.
So it’s gonna say you wanna use that recent opportunity again, confirm all of your stuff. And then you can go over here, and you can say, look, I wanna check and see if the short call leg of that particular opportunity, and again these are all variable fields that you can switch around if the short call leg of the iron condor position. If the open interest or whatever the other different fields are that you can check here. Notice that you can check a bunch of different variables and properties, is greater than 500 contracts.
So whatever that threshold is for you, you can put it in here. Again, you can type it in manually, or you can create a new custom input field. You can call this custom input field short call open interest threshold. And I can set the default value of 500, which allows me then to change it later if I want to. Again, this creates a new custom input field that I can use inside of my automation. Again, we can use this field over and over again if we want to with other automations without having to go in here and change it back inside of the actual automation editor.
So we can check the short interest or the open interest of the short call leg specifically. We can also check the open interest of the short put leg, which could be a good idea as well. So I’ll just add that here as well. We’re gonna check that same iron condor position, and we’re gonna switch this to the short put leg. We’re gonna check the open interest to make sure that the short put leg is also greater than some value that we set.
Again we can reuse the short call open interest threshold, or if we want to check different short put open interest threshold, we can create a new custom input for that one as well. And maybe we want short open interest to be more than 750 contracts. Whatever it is, you can set those in here, and we can change those as we go forward.
So now, I’ve created three different opportunity filters. I have a filter that checks to see if the bid/ask spread is less than 15 cents. And an opportunity filter that checks to make sure the open interest is greater than my threshold and the open interest of the short put leg is also greater than my threshold.
All of these have to be true in order for me to continue down the yes path. You can swap this for or symbols if you want to. Group and associate them together in different combinations, but right now, this is the easiest way that you can do this. Again, you’re doing this probably manually, subconsciously in some cases where you’re just checking it, but now you just have to tell the bot what to do. Once you’re good to go here, then you simply save. It all gets thrown into this block of decisions.
So let’s recap or wrap real quick. The scanner runs, checking for VIX below 40. If VIX is crazy, it stops. Then it’s checking all these different criteria. All these different criteria here then allow the bot to continue down the yes path. Only if we’ve got perfect pricing, we’ve got enough open interest on the different legs; then we continue down the yes path.
So if we get to the end of this particular branch, ultimately, what we want to do is we want to end up opening a position. So we add an action, and we tell the bot to open a position. Again, bots are smart enough to recognize. Hey, do you want to open that position that you already started building out that you already looking out that other opportunity that you were filtering for? We say, yes, we want to enter this position.
Now that we get to this stage, we have two additional fields that we have to fill out. Now we're not just checking the data on that position. Now we're telling the bot exactly how much to trade, what quantity, how much of our account, and what price. First thing that we have to do is we have to fill in the amount. We can do something like a number of contracts, up to a certain number of risk, an allocation, match quantities of other positions, and some other sneaky little things that our developers are working on; it really can get just right now. So we'll go through that here in a little bit.
Let's just say we want to get into just one contract, okay? So we just add one contract. The next thing that we want to do is we want to set our pricing. Good news here is just we've just released a massive new update to our help center that explains all of the different formulas and settings around smart pricing.
Smart pricing is wicked. Smart pricing basically sense timed interval orders at different prices for you. It analyses the bid/ask spread and then progresses through the bid/ask spread, trying for better pricing, canceling orders, trying a new price, canceling orders, trying a new price, over and over and over again for you.
Do you want to see a demo of this? You can actually head on over to the help center here. We've got new section here that we've just released called order pricing. I go through all the different details of order pricing here, including how to set up all the stuff on your own, okay?
But for now, we're just gonna use the normal defaults. Normal smart pricing up to four prices, ten seconds apart each. You can create some really different versions of these like speedy, patient. You can turn off smart pricing, and then you can tell the final price to end at, say, 50% of the bid/ask spread. So it will continuously try for better pricing, but it won't go past essentially around mid-price of the spread at a time. Once you're good to go, you simply hit save. Now that we have our whole order built out, we can then go here and save. And it adds the open order to our screen.
So at this point, we have our very simple, very minimal. I know it seems like a lot, it's really not. Not that complicated. We're just doing some normal checks and balances. We have our very simple iron condor or scanner built out. It goes through a progression of checking VIX, filters for the opportunities to make sure that the market pricing is right at the time it want to get into it, and then opens the positions and sends the order to your broker.
We can go up here to the top, and we can actually test this functionality. So this is a really cool feature inside of all the bots at option alpha. You can run a test right inside of your automation and kinda play around with some of these inputs that you have here and just see what the eventual outcome would be.
So, in this case, we can test this particular scanner. Again this is not running anything. It won't place a live trade like an actual live trading. It's just running a test to simulate what would happen with all of your decisions. In this case, we're gonna test SPY. We'll test the short call open interest at 500 and the short put open interest at 750, and we'll see what we get.
So we'll start this test. And you can see here that it first encounter the first decision. Is the VIX below 40? The answer to that is yes; the VIX is trading at 18.41. Then it got to the second decision block, and it came up with a no answer. This is great. This means that one of the criteria that we wanted or included inside of our filters did not meet the threshold that we had. So we can click in here, and we can see which one failed. It looks like the first one that failed was actually the bid/ask spread. Bid/ask spread failed because the bid/ask spread of an iron condor position right now in SPY is 16 cents.
I'll pause right here and say how stinking cool that is. Because now it's just gonna recheck at the next 15 minutes interval and check and see if pricing is better later in the day. This allows you to not have to do this over and over and over again. Let the bots take control of all of these things that you would normally do. Just tell it what threshold do you want it to meet. So that's how it works. Okay, does that make sense?
You can go ahead and test this, and we can test this with different criteria. You can even test this with different symbols just right now. We can test GLD. Again, in GLD, you can see here that the bid/ask spread met the criteria but then open interest fell significantly short for the short call option contract for that iron condor. So you can see which criteria fails and which criteria meets as you go through your actual test scenario, okay? Does that make sense?
That looks pretty cool. So once we're good to go with the test, we can jump out of here. We have our scanner completely built out, so we'll just simply exit out the automation window, reconfirm all of the different inputs that we have and save this to our bot. So we still have automations turned off right now until we build out our complete bot. Now we go over and start building out our monitor automation.
Monitors are exactly what they sound like. They monitor open positions, and because we split them up into the ability to monitor open positions and scanners, that mean you can reuse monitors over and over again throughout other bots, which makes it really flexible. You don't have to put all of the information into one massive automation. You can split up, opening the position, and managing the position into two different automations.
So let's build out a new monitor automation. Notice you can just add, create a copy, or edit even the existing one that you have. But that's our scanner. We don't wanna mess with that one. We wanna build out a brand-new monitor automation. Here we'll call this one something like iron condor minimal management. Whatever you wanna call it, again, it doesn't really matter. You can call it whatever you want as you go through and start building out your bots. Okay?
First thing that we want to do here, again, is add a VIX filter. Now, this is a little bit different than some of the bots that you might've seen here. Most people are very used to adding a repeater. And while you can add a repeater in to the actual decision log here, you can actually start with a decision. You don't have to start with the repeater. In our case, we're gonna add the same VIX filter to our bots.
We're gonna add a filter to check and see if the VIX is below 40. Again, we're just gonna check and see if the VIX is below 40 because in the event that the VIX is above 40 and the markets are crazy, we might not want to exit our iron condor position because the markets are moving so fast and spreads are probably really wide. And there's probably not gonna be amazing pricing on it. Now you don't have to do this; again, this is just my version of it, but you can do this if you want to.
Then we're gonna add the repeater. The repeater is a wonderful action inside of your bots. It allows the bot through one automation to repeat through or cycle through a series of trades and manage each one individually based on the criteria that we'll set up here below. So if you did have a bot that had multiple iron condor positions, it would cycle through every single one of those and check all of the different information that we'll set up for exiting the position.
You can filter your repeater to check for certain types, and in this case, we'll use an iron condor property filter just to make sure that if it ever gets added to another bot that, we only are managing iron condor through this particular monitor automation. The next thing that we'll do once it starts repeating each of these iron condor positions is we'll start to make some decisions.
Again, decisions work just the same inside of your scanners as they do inside of your monitor automations. The first thing that we're gonna do, though, is we're gonna split our entire decision branch based on when the position expires. So I mentioned this earlier when I started setting up this particular bot that I want it to now split the management based on how close I am to expiration.
So the first decision I'm gonna add is a decision that checks and see when the position expires. I'm gonna select one of the positions that's already in here, so it's pulling in the information from an existing position through the repeater. And I wanna check and see if the position expires in less than five days.
Now, if the position expires in less than five days, I might wanna have a completely different way to manage the position. I might be willing to take less money for profit. I may wanna exit the position early if I'm challenged. But if the position expires in less than five days, I might want to deal with things differently. And if the position doesn't expire in five days, then I might be more willing to let the position go for a bigger profit target or let the position be challenged a little bit without having the need to exit the position. So I'm gonna go ahead and save this and add this to my automations.
Now, the way that I think about this, like I said, is the yes path is one management style, and the no path is a different management style. The yes path is what do I do when I'm really close to expiration. What are some of the things that you might do as you near expiration? Would you be willing to take a smaller profit?
Maybe you're originally shooting for a 50% profit, but you might be willing to take 15% profit. Or would you try to potentially exit the position if one of your legs was challenged? These are all things that you would normally do manually, and now you can tell the bot to do that inside of five days.
So when this monitor automation starts running, it will only go down the yes path and start a different management style when your five days are last from expiration. Or, like Doug said, you can get a notification, and you can manage it yourself. So let's add a couple of these in here.
So I want and then see if I have, and again, this is all down the yes path. So think to yourself, we're inside five days. I wanna check, and I wanna have a decision that checks to see if the position premium. Again we're selling an iron condor if the position premium went down by a certain percentage since it was opened. Now for inside of five days, I might be willing to have this percentage be a little bit lower, maybe something like 15%. I might not want to be as greedy and take 10% or 75% because I'm running out of time.
So if the position premium goes down by 15% and I have a 15% profit, I might be willing to take that position off the table again, only when we're inside five days. You can type in 15%, or let's create a custom input for this field. We'll call this near expiration profit target, and we'll set the default value at 15%. This then allows us to change that default value anytime we want, and it updates across all the automations.
Once we're good to go, we simply hit save. We now have a new custom input that we're using, and now the recipe reads as position premium decreased by our near expiration profit target. Once we're good to go, we simply hit save.
If the answer to that question is yes, let's say the position premium goes down 15%, whatever it is in this case, then we want to go ahead and close the position. So we add an action to close the position. We match it up with the existing position, and we set all of our criteria for smart pricing. Again what's cool about smart pricing and using this is we can set different criteria. When we get into that position, we use normal smart pricing. Maybe when we get out of the position, we want to use patient, smart pricing. We want to try more prices and wider intervals. Whatever you wanna do, you set that here and then you simply hit save.
Now our automation is starting to be built out from management. If we're inside five days or whatever threshold you want. I see some people on the comments are like five days is too short; that's the best time to close. Great, create a version of this that's ten days for you. Right? Copy the template that I'll share, modify it to ten days or 15 days, or whatever it is, and then be on your way.
Then we'll go ahead and check and see if we have a profit. If we have a profit or near our profit target, take the profit. Send the closing order to broker, start working on a position to close because now we're gonna continue down the no branch and start to deal with management if we don't have a profit inside five days, or at least at our profit target. I'll go down the yes branch so far.
So what do we do if we don't have that profit target? Well, in our case, we're gonna add some additional decisions to see if the position is being challenged. If them inside five days and I don't have a profit. Am I near profit expiration, or am I near expiration profit target? Then I want to see if the position is getting challenged. Because I really don't want to hold on to the position and risk all of the assignment stuff going with the position if it's getting challenged. So I add some decisions to check and see if the position properties are getting challenged.
I can add a recipe here for positions underlying price is above or below some of the legs of our position. And that's what I'm gonna do. I'm gonna add a recipe here, connect it to the position in the repeater, and then I'm gonna check and see if the underlying price is above my short call strike. If it's above my short call strike, that means that I will be challenged, currently challenged on the position. That the stock has moved above my short call strike, and that might be one place that I want to get out of the position.
Now notice that if the position's not challenged, then I don't have to do anything. I don't have to make a closing trade. But it's not just one side of the position for an iron condor, right? The position underlying price is above the short call or what? What's the other thing that I want to check? Because with an iron condor, I've got two short strikes. So what other things do I want to check?
Below the short put, right. Or you can do below long put if you want to be really, really challenged. But I want to check and see if it's also below the short put. So I go here to the same recipe, position underlying price, connect it to that same position, and now I want to check and see if the underlying price is below my short put contract of that position. Easy peasy, done. And I change the modifier here to or.
So, in this case, it's gonna check and see if the position's underlying price is above my short call strike or, because it can't be and, it can't happen at the same time. Can't be above my short call and below my short put. Or the position underlying price is below my short put strike. Basically, am I getting challenged on either side. And if I am getting challenged on either side, maybe I want to close the position at that point as well.
Again, all of this happens inside of five days. Then you can set all of your pricing here. Maybe at that point, you wanna be speedy with pricing. If you're getting challenged, you don't wanna take more risk, so you use smart pricing settings that are speedy, five seconds apart, really rapid-fire orders trying to get out of the position. Again, you can set all of these parameters inside of your bots yourself.
So let's walk through the logic of this management style inside of five days. Inside of five days, I first want to check and see if I have my near expiration profit target. If I do, close the position. Simple enough. If I don't, then I want to check and see if I am challenged. If I am challenged, close the position. But what's really interesting about this is that if I'm not challenged on the position, it just simply ends, and the automation stops, and then it checks again in the next 15 minutes.
Now, this is great. This means that if you're inside five days and you don't have a profit, but you're not challenged on the position, then you don't have to close the position. You can let the automation continue to run at the next interval and check again for you. This means that your position could be right where you want it to be. The stock could be in the middle of the range. Everything could be great. It's just that the pricing hasn't come in for that position just yet. Pretty cool, right?
So now you've given all of the criteria to manage this position to the bot, and the bot is gonna keep checking every 15 minutes. So this allows you the opportunity to let the positions stay open if it's not challenged until it reaches that near expiration profit target or at some point gets challenged—really wicked cool, super-smart way to manage your position.
Okay, so that was all the management style down the yes path, basically we're inside five days. Now let's go down the no path. And this means that we're gonna be building out the management style for everything that happens if we're beyond five days from expiration. Our original entry was around 30 days, so it means everywhere between 30 days and five days until expiration. How do you want to manage the position? And again, it could be completely different.
First thing that I'm going to add is I'm going to add an absolute profit target. To me, this is the cool one to add to some of your bots because you're telling the bot, look, if I get to this max profit like really quickly inside of this position, take the position off, right? And I use this as the first decision down this path because I always wanted to check for a max profit first. That's the one I want to check first before it goes and does anything else.
So, I'm gonna go down here to our list of automations, and again I wanna check here, and I wanna connect to the position and see if the position premium decreased by a really, really big amount. Something like 80%. So, if the position premium went down by 80% early in the expiration cycle, please bot, take the position off, right?
Again, you can type in 80, or you can use a custom input. We'll create a new custom input called absolute profit target. This is the place where you'd absolutely take profit if you're outside of five days to expiration. So if you're outside the five days to expiration, absolutely take a profit at 80% or whatever the value is that you put in there. That's the first thing I want it to do.
So I've added that decision here. Now I've gotta add the action to close the position if I get to that point. We'll just use normal smart pricing and save that so we can continue moving forward. So again, if I'm beyond five days and the position doesn't expire in five days, the answer to that is no. check and see if I ever reach my absolute profit target first. If I do, close the position. Done, right?
What other things might you wanna do? You might wanna check other profit targets at certain other intervals if you want to. You also might want to check market criteria, like did IV rank go down? There's probably a lot of different things that you could check if you're outside of that timeline. One of the other things that you can do is you can also use something called smart stops.
I wanna put this in here so you guys can see how this works too, but smart stops are really cool, creative, a new way to manage the position. It's this recipe here. And when you add it here, you're basically telling the bot to start trailing some sort of profit target by a percentage—so really fun way to use automation technology for what it's meant to be used as.
In this case, we're gonna connect to the position. We're gonna say, okay, bot, start trailing a 50% target by 10%. In this case, we'll go over here, and we'll say buy 10%. So what does this mean? This means that if the bot reaches a 50% profit, it will start monitoring that 50% profit to see if the position goes back 10% from there. Basically, it loses 10%. But it won't continue trailing if the profit continues to climb and it doesn't trail by 10%.
It's kinda like the combination of a profit target order with the addition of a stop/loss or trailing stop/loss. So if I don't reach my max absolute profit target, which could be something like 80% or 90%, some really high threshold, then wait until the position gets to a 50% target. Once it does, trail that 50% target by 10%. This means that the position could go up or could increase to a 60% target, and it's still may not have retreated 10% at any one time. But now you're starting to kind of lock in the position and tell the bot to continuously manage and watch the position a little bit closer using the smart stops.
If the answer to that question is ever yes, if it ever reaches the target and then it ever retreats by 10%, then you wanna go ahead and execute a closing trade. Again, you're gonna tell the bot at that point, yep, go ahead, close the position. If the position trails of 50% target by 10%, close the position at any point. Again that's not gonna lock in an exact 50% profit; it's just gonna tell it to make decisions to send the order to the broker.
At that point, you can leave the no path empty if you want to. Because remember, we are beyond five days from expiration. So if the bot is checking in to check and see if I have an absolute profit, and it's monitoring my whatever profit I have using smart stops. If neither of those are true, and it continues down the no path. I don't have a profit, haven't reached my target for trailing, or my trailing 10% hasn't been hit, then just let the bot end the management automation.
And it will start back over again in 15 minutes and continue to watch and monitor the position. Then you are now offloading all of that to the bot. Because once the bot gets inside five days, a new management branch takes over. Now, this other management branch essentially won't be active anymore. Once the position is inside five days, and it starts to get challenged or any of those other things, it will start to close the position naturally by itself.
So what we've done here is we've created a complete management automation for this iron condor—essentially encompassing a lot of different management exit or styles based on market criteria or position criteria for the bot. It's a really, really awesome way to start to split up your management by where it is in expiration.
A lot of people what they do that we've seen in the community, and you can see this in some of the templates too, is they go through, and they do lots of these different management styles based on different expirations. So if the bot is 30 days from expiration or less, or if it is less than 30 days and greater than ten days, right? So like a management style between 10 and 30 days. You can really get very granular with how you build this out. And I encourage you to do so. I hope you do so inside of the community and then share the template back to everyone else.
So once you're good to go with your management, you simply exit out the automation window here. Now you can see we have some inputs for this automation: our near expiration profit, our absolute profit target. We can modify these here, and they flow over into the actual automation itself. You wanna reduce one and increase the other one. You can do that here really easily. Once you're good to go, you simply hit save.
So this bot is now completely built out. We have our scanner in place, which is gonna be looking for trades. We have our management in place with the monitor automation that's dynamically going through everything and looking for opportunities to get out of the position based on where we are until expiration. So once we have everything built out here, we can simply turn on the automations and let the bot start working.
Now, remember, the bot is gonna go through and start using all of the criteria that you put in. We can just simply swap out any of these tickers or symbols that we want right here inside of the actual settings for the scanner. We want to change this and check something else like GLD. We can just make a change here and then click save.
Now the automation's running on GLD with the new parameters that we've just included. Again if you wanna change your management style, all you have to do is you have to go in here and just click here. And just change this to 15% and change your absolute profit target to 75%, and then you're good to go. And now those new targets are gonna be used.
You do have to specify ticker here. You can tell it which one to run because we're just running it on one simple automation, no overlapping tickers. And we have our settings here in place to limit the bot to one position. Actually, you know what I just forgot? Completely forgot I didn't add this, but we have to add one more thing to our scanner automation. So we're doing this real-time. So I have to add this in here. But I want to add one additional check right before this one.
I want to add one additional check right before this one. Do you guys know what it is? Okay, so I'm gonna proceed this decision with one additional decision. And this is how I prevent the overlapping tickers. I go to the decisions, and I check the bot to see if the bot already has an existing position with the same ticker symbol.
So I go to this recipe here, and I say the bot has exactly 0 positions with this same ticker symbol input that I created earlier. Only if the bot has 0 positions do we wanna continue down the yes path? So first, check and see if there's crazy volatility. If there's not, check and see if the bot already has positions. Because if the bot has anything other than exactly zero positions, stop, don't stomp on the other positions that the bot has. Don't try to get into another position. Just stop here, little scanner automation, and go down the no path. Only if the bot has no positions in that ticker, continue down the yes path to eventually get to opening a position.
So, we'll simply just go here. I think an automation should run here very quickly here in the next couple seconds because it's 1:45. Now, what this allows you to do when you add that in there? And there's multiple ways that you can add in there. And there's multiple ways you can prevent overlapping tickers and things like that. Notice that the automation just ran a minute ago because we have it on.
What this allows you to do when you add that one decision that we just went through is now I can add multiple scanners to this minimal iron condor bot and trade one iron condor across multiple ticker symbols. So let's go in here and do that. And yeah, we'd have to update the actual bot settings to give ourselves more positions to do that. Okay?
So first thing, you can go over to the log today. And you can see today at 1:45 that this automation ran. Was the VIX below 40? Yes. Does the bot have exactly 0 positions with GLD? Yep. And then it failed like we saw earlier because GLD doesn't have enough open interest. Okay? So that's fine. That's frankly exactly what we want the bot to do is make these decisions for us.
But let's add more scanners with different tickers. So, let's first change our settings to allow for more positions. We'll allow three positions per day and three positions in total. Then we'll come here, and we'll add another scanner for different ticker. We can select from the list of scanners already in this bot. Lucky for us, we already have an iron condor scanner for no overlap. We just simply select that. We're presented with the different inputs, and now we can change this to whatever other ticker symbols we want, and we can reduce the requirements if we want to reduce the requirements based on other symbols that we're trading.
Notice that here I'm using the same automation, but because we have custom inputs, I can just swap out the variables that that automation uses in one single screen. Once I'm good to go, I simply hit save. Now you can see I have this automation that's running for GLD with all the criteria for those open interest contracts. And I have a different automation running for EEM with different criteria. Same automation. Because of the custom inputs, I can swap up the different variables inside of here.
Let's add one more. We go to our list of automations, add another iron condor scanner with no overlap, and we'll choose a different symbol like XLF. And then click save. So, we have three different scanners running, but we don't need three different monitor automations running. The one monitor automation that we have here, because it uses a repeater, repeats through each of these positions should we get into each of them.
So if we get into one position in each of the different tickers, the one monitor will just cycle through, repeat, loop, whatever you want to call it through each of those positions checking all of the different criteria. If one position's 30 day from expiration and another's five days from expiration, it will go through the different branches that we built out.
If one position is ten days and the other two positions are three days away from expiration, one position will get managed differently than the other two positions based on the monitor that we built out. Super super cool, right? Positions are kept in context of a bot. I can run two different bots on SPY without impacting each other. Yes, as long as those positions don't stomp on each other. So if one position in a bot, say bot A, tries to mess with a position in bot B, it'll throw an error that you're basically stomping on different positions.
All right, so let's do this right now. Let's go ahead and build this out share it into the community. And then when we build this out, share it into the community, you guys can take a version of this, and you guys can create, modify, adjust, edit it to fit whatever you want, and you share back in here. Okay?
So first thing I'm gonna do is I'm gonna simplify the one that I'm gonna share into the community. Just gonna reduce the number of scanners just to the one. You can add more if you want to, like we just went through. I'm gonna go up here, and I'm gonna save this as a template. I'll call this the minimal iron condor, and I'll save it as bot workshop. I'll add a little description here, which is always good. Enters iron condors in single ticker no overlap with multiple management exits. Then you can go here and reduce all the limits or change all of these, whatever you want. Save it.
Inside of this template which is now in your particular library, you can now choose to share this template into the community. Like for you all, I have already copied some text that I was gonna throw in there for today, and then I can just simply create the new bot.
So if you actually go to the community right now, right now in here. You can see this new minimal iron condor bot that I just shared. You can create a clone of it, save it to your library, start messing around and modifying it, and editing it to fit however you're trading inside of your account. Okay?
That looks pretty good. Now, if I ever update or enhance this, I'll just share a new version of it. Just replace the version here, and you can just come back to the same exact version. And always bookmark this, save it, get notifications if we get updates to the new versions of templates. It's all available here inside of the platform.
You guys have to watch; you get a chance. Have to go over to the help center. You have to watch this video on smart pricing because I did connect it to my live account, and we go back and forth into the video between my live brokerage account and the smart pricing and the bots on Option Alpha. And I show you how worse with the live pricing and live markets. It's crazy. It happens so much faster than you think it would. It's super, super cool.
Now listen, as we wrap up, hand it over to the community today and go in there and add your version of this particular bot like we've done before in the past. Whoever has the most upvotes for their variation or version of this will get $100 gift card amazon. In the next time we do a bot webinar, we'll jump in here to see who's got the most upvotes for their version. Add it to this thread right here, this other bot template, so that you can see other versions that other people add.
Don't be shy about this. I know that I've given out a lot of ideas here. There's a lot of different ways you can do it. IVR above 50, IVR levels, different pricing options, different opportunity filters, you could probably include a version that does some sort of technical analysis or trend or momentum indicators. There's a lot of different ways you can trade iron condor.
So don't be shy about creating your own version and then sharing it into the group and telling everyone how it works. This is why we are all here to share ideas with one another help each other out. We all done trade exactly the same, but we can share ideas and then modify, edit different template that we share back and forth.
Thank you so much for joining. We will have everything available for you. You go over to optionalpha.com/workshops; that's where the recordings will be posted. Give us a little bit to get the recording posted and added to the page there. So it won't happen in the next 10 minutes, obviously. Give our team a little bit of time there, but you can always go back through all of the different sessions that we've done before as well, and you can take a look at all different bots that we built out.
I'll see you in the next bot workshop, have a great rest of your week. I'll take to you all soon. Take care.