Directional Credit Spread Strategy For ThinkOrSwim

Hi all, long time lurker here and wanted to share my directional credit spread strategy that I've been using for the last several weeks with great success. The strategy is out there on youtube by a couple of option trading experts based on daily charts and 20-ish day option expirations. I've modified the strategy to use weekly options based on swing high/lows on an hourly chart and use a different indicator than what is proposed on the strategy videos.

The basics of the strategy go like this. You are looking for stocks on an hourly chart basis, regular trading hours, that have moved in the 1.5 - 2 standard deviations price range using the StandardDevChannel indicator in TOS. You are then "challenging" the stock to move to the 3 standard deviation range and sell that week's expiration credit spread call or put credit spread depending on whether the stock is hitting the higher or lower ranges. In my last few weeks of trading, no stock has moved to the 3rd standard deviation price range. You will find that most options are in the 80%-ish range for OTM probability and trading the extremes of the range give you an added advantage in your odds.

For example, this week AMZN and FB hit the upper 1.5-2 Std dev price range and SQ hit the lower range but did not trade SQ. The 3rd standard dev line at the time for AMZN was at the $3400 level so I sold the $3400/$3410 call spread. For FB the 3rd Std Dev range was in the $290 range but gave myself a little extra room and sold the $300/$305 call spread. Both will expire worthless today, but sold them yesterday as I had things to do today. On previous trades, I close out the short position at less than 5 cents (no commission on TOS for less than 5 cents) just to make sure there is no assignment risk and let the long expire worthless.

The chart and scan set up is easy. For the chart, I use the standard 1 hour 20 day time frame, regular trading hours. I add three StandardDevChannels - 1.5, 2, and 3. I remove the midlines but that is just personal preference. For the scan, I use the StandardDevChannel study looking for stocks price close above and below (two scans) 1.5 standard deviations on 1H chart using 140 bars to match the hourly chart - 7 bars per day * 20 days - and set up the scans as watchlists.

Final comments:
1. Placing trades based on this strategy is not based on precise timing but rather selecting a price range where the odds are the directional move is exhausted and will not continue. It does however sometimes continue in the very short term and I have seen losses for the day in my positions. The bet is that by expiration later in the week the stock will be lower than the strike price of short position and every single one of my trades in the past month has worked out.
2. The StandardDevChannel indicator repaints, or more accurately form fits itself to the data on the chart - as the data changes the lines will contract or expand. So I don't give much attention to the left side of the chart, only what is happening now. I have found the 20 day hourly chart to be "slow" enough to give good data points to make trading decisions at the most recent hourly bars and the 3rd deviation line a good target of where to sell the spread.
3. There are strategies to manage the position if it goes against you, but that is a lengthy topic in itself and I can honestly say I'm no expert. My simple approach is close the entire position or close the short and let the long run. So far I have not had to do either on any position.
4. I have a day job that give me the flexibility to monitor my trading activity, but cannot fully devote my complete attention to trading. I have begun to "trust" the system in its basic form as it has been profitable - 6-8% weekly returns without a loss yet, knock on wood lol. This approach has been the most consistent and profitable trading style for me and expect to only do this moving forward.
5. Lastly, I look to put positions on Monday and Tuesday. I don't like trading over the weekend on the weeklies but have taken a couple of trades that showed up late in the week for next weeks expiration and they worked out fine. There are many nuances to options so the strategy can probably be refined and I would welcome comments and feedback.

Happy new year all! Here's to a prosperous 2021!

Join useThinkScript to post your question to a community of 21,000+ developers and traders.

First of all thank you for your post, the deviation channels can be used on multiple time frames. what time frame do you use this chsnnels on, I seen connor from the boiler room use this type of strategy, not so much playing spreads but actually shorting or longing.
@germanburrito Smaller time frames might provide better entries but I'd use other indicators not standard deviation.

Ok so I'm reconsidering your approach here. I'm familiar with Connor's approach on the one minute charts and standard deviation channels. Let's see how the one minute chart is plotting when the hourly chart has price in the 1.5 - 2 standard dev range.
Yeah man I also have developed a look back regression channel for whatever time frame you like with two deviation channels if you want to look at a certain number of bars, its not my code I just added two std dev.

# LRC no Lines Global Color Adj
# With help from coder in TOS chat support 9-18-2020
# Originally: tradingview like Linear Channel w/ fills
# @JonPM Community Request in useThinkscript
# 2020.09.08 V1.0 @diazlaz - Linear Regression Channel with Cloud and variable
#                            timeframe.
# 2020.09.18 V1.1 @markos - Color Opacity can now be changed via Globals in UI.

input price = close;
input deviations = 1.0;  #set your deviation units here.
input deviations2 = 2.0;  #set your deviation units here.
input length = 80; #set your channel lookback period here.

def regression = InertiaAll(price, length);
def stdDeviation = StDevAll(price, length);
plot UpCloud = regression + deviations * stdDeviation;
plot DnCloud = regression - deviations * stdDeviation;
def UpCloud2 = (regression + deviations2 * stdDeviation);
def DnCloud2 = (regression - deviations2 * stdDeviation);
def MiddleLine = regression;

DefineGlobalColor("Bullish2", Color.LIGHT_GREEN);
DefineGlobalColor("Bearish2", Color.LIGHT_RED);

AddCloud(MiddleLine,  UpCloud2,  GlobalColor("Bullish2"),  GlobalColor("Bullish2"));
AddCloud(MiddleLine,  DnCloud2,  GlobalColor("Bearish2"),  GlobalColor("Bearish2"));
# End LRC wo Lines
Just curious if you have backtested this strategy? Reason I ask is because we have seen a decline in price volatility over the past month so running this when price volatility picks back up could see your credit spreads getting hit more often.
@agorena123 two questions:
1. Do you only short call spread? do you sell put spread for stocks falling below -1.5std?
2. for the scan, if there are 10+ stocks satisfying the criteria, do you trade all of them or filter some of them out?
@agorena123 are you looking at Tasty Trade vids? I have been researching down a similar path.
No, but will check out.

Just curious if you have backtested this strategy? Reason I ask is because we have seen a decline in price volatility over the past month so running this when price volatility picks back up could see your credit spreads getting hit more often.

No have not backtested the strategy.
@agorena123 two questions:
1. Do you only short call spread? do you sell put spread for stocks falling below -1.5std?
2. for the scan, if there are 10+ stocks satisfying the criteria, do you trade all of them or filter some of them out?

1. The strategy is to sell a bear call spread when it hits the upper band and selling a bull put credit spread when it hits the lower band. Right now my bias is to sell bearish call spreads when stocks hit the upper band vs selling bullish put spreads as fast melt downs are more common than melt ups especially where we are now with valuations.
2. I have a small set of stocks that I scan that so usually my scan list is only one or two a day. There are some stocks that have better premium in the them and I look for returns based on capital required for the spread.

For example, on Monday 1/4/2020 TSLA and NVDA both hit upper bands on the hourly. SPY also hit, but almost immediately began to sell off and I missed the trade. For TSLA I sold the weekly 780/785 call spread when the stock was in the 740-ish price range. For NVDA I sold the 550/552.5 call spread at at the 535-ish range. NVDA continue to run and actually hit the 3rd standard deviation line and sold more of the 550/552.5 call spread at the 3rd StdDev with the stock at the 545-ish price range. Today, Tuesday 1/5 NVDA hourly again hit the upper band and sold another set of the 550/552.5 with the stock at 535. Currently the TSLA position is in the black, the NVDA has been fluctuating negative to positive since I put it on, but based on my strategy my bet is that the stock will be lower than 550 at the end of the week.

Given the unknowns this week with the political stuff going on, I may take profits before tomorrow Wednesday.
Last edited:
@agorena123 would you share your thoughts on other criteria used for selecting a smaller sets? market cap, sizzling index?

Sure, probably should have stated it earlier. I'm primarily scanning the FANG stocks plus a few others minus GOOGL as they do not have penny increment options. Also the index etfs, SPY, QQQ, IWM.

My entire list at the moment:
  • AAPL
  • AMZN
  • BA
  • FB
  • MSFT
  • NFLX
  • NVDA
  • SQ
  • TSLA
  • ZM
  • SPY
  • QQQ
  • IWM
Higher priced stocks work better for premium and strike price. BA might be removed. A quick way to see if a stock will work is put it on the chart with the StdDev channels and see if you see it trade into the upper and lower bands.

New Indicator: Buy the Dip

Check out our Buy the Dip indicator and see how it can help you find profitable swing trading ideas. Scanner, watchlist columns, and add-ons are included.

Download the indicator

Thread starter Similar threads Forum Replies Date
S Dynamic RSI Credit Spread Strategy For ThinkOrSwim Strategies & Chart Setups 2

Similar threads

Not the exact question you're looking for?

Start a new thread and receive assistance from our community.

87k+ Posts
353 Online
Create Post

Similar threads

Similar threads

The Market Trading Game Changer

Join 2,500+ subscribers inside the useThinkScript VIP Membership Club
  • Exclusive indicators
  • Proven strategies & setups
  • Private Discord community
  • ‘Buy The Dip’ signal alerts
  • Exclusive members-only content
  • Add-ons and resources
  • 1 full year of unlimited support

Frequently Asked Questions

What is useThinkScript?

useThinkScript is the #1 community of stock market investors using indicators and other tools to power their trading strategies. Traders of all skill levels use our forums to learn about scripting and indicators, help each other, and discover new ways to gain an edge in the markets.

How do I get started?

We get it. Our forum can be intimidating, if not overwhelming. With thousands of topics, tens of thousands of posts, our community has created an incredibly deep knowledge base for stock traders. No one can ever exhaust every resource provided on our site.

If you are new, or just looking for guidance, here are some helpful links to get you started.

What are the benefits of VIP Membership?
VIP members get exclusive access to these proven and tested premium indicators: Buy the Dip, Advanced Market Moves 2.0, Take Profit, and Volatility Trading Range. In addition, VIP members get access to over 50 VIP-only custom indicators, add-ons, and strategies, private VIP-only forums, private Discord channel to discuss trades and strategies in real-time, customer support, trade alerts, and much more. Learn all about VIP membership here.
How can I access the premium indicators?
To access the premium indicators, which are plug and play ready, sign up for VIP membership here.