INVITE-ONLY SCRIPT

[Options Strategies] Selling Covered Calls and Puts (TSO)

Updated
This trading indicator assists with traditional covered options trading strategies like Covered Calls, Covered Puts, and Cash Secured Puts. It also offers advanced features for trading options intelligently by utilizing options specific levels, such as BE (Break Even) and Strike (all visually shown on chart) in combination with S&R (Support and Resistance), Trend Lines, and other technical analysis tools such as MA (Moving Averages) and ATR Average True Range, all integrated within the indicator.

* Covered options approach over trading shares or options separately offers distinct advantages:
- Reduced Risk and Flexibility: Covered options strategy provides a more conservative approach by combining stock ownership with options trading. It reduces risk exposure compared to buying options outright or trading shares alone. Additionally, it offers flexibility in various market conditions.
- Profitability in Sideways Markets: Covered options allow for profitability in scenarios where the stock price is either moving optimally or remaining sideways. In contrast, just holding stocks might not yield significant gains in a sideways market, and buying options can result in losses due to time decay.
- Protection Against Price Movements: In covered options, if the stock price goes against the trade, the loss is mitigated by the premium received from selling the options. This provides a level of protection compared to other trading strategies where losses can accumulate more rapidly.
==============================================================

Strategies / Visual Examples:
---------------------------------------------------------------------------
---------------------------------------------------------------------------
Up to 3 Symbols can be monitored at the same time with alerts for each Symbol and a Stats Table. To see Symbol's visuals (Date Range, Strike, BE, etc.) - the chart has to be loaded with that Symbol. Here is an example of trading multiple stocks at same layout on different charts trading AAPL, BAC and TSLA.
snapshot
---------------------------------------------------------------------------
---------------------------------------------------------------------------
An example of a Smart Covered Calls trading SPY.

STRATEGY EXPLANATION:
* Trade Open Trigger (Bullish/Sideway)
>>> S&R (Support and Resistance) or Trend Line broken, bounced off or simply near (if price is near/slightly crossing S&R/Trend Line > a bounce often takes place)
>>> Confirmation by additional TA (Technical Analysis) tools.
>>> EXAMPLE: Broken Resistance combined with a Trend Line up-bounce, confirmed by bullish 200EMA.
* TP (Take-Profit)
>>> Contracts Expire at Expiration date: Premium received for selling contracts kept.
>>> Assignment: Premium received for selling contracts kept + stock assigned/sold at a higher price than it was purchased.
* BE/SL (Break Even Stop-Loss) | [Covered Calls BE = Stock Purchase Price - Bid Price]
>>> BE/SL hit: stock sold at a slight loss with options contracts bought out (BTC - Buy to Close) at a lower price than initially sold (since price went down and these are calls), so technically the loss is reduced by the partial Premium still kept from initially sold contracts at trade open.
>>> Increasing the BE/SL distance: for wider BE/SL > Bid Price needs to be increased:
- Set longer Expiration date.
- Set closer Strike price.

NOTE: With longer Expiration date and closer Strike, chances of assignment increase as well. It's best to find an optimal level, where BE/SL is behind a Support/Resistance level and/or an established trend line and/or Large Length Moving Average, yet not extremely far away.

snapshot
---------------------------------------------------------------------------
---------------------------------------------------------------------------
An example of a Smart Covered Puts trading SPY.

STRATEGY EXPLANATION:
* Trade Open Trigger (Bearish/Sideway)
>>> S&R (Support and Resistance) or Trend Line broken, bounced off or simply near (if price is near/slightly crossing S&R/Trend Line > a bounce often takes place)
>>> Confirmation by additional TA (Technical Analysis) tools.
>>> EXAMPLE: Broken Resistance combined with a Trend Line down-bounce, confirmed by bearish 200EMA.
* TP (Take-Profit)
>>> Contracts Expire at Expiration date: Premium received for selling contracts kept.
>>> Assignment: Premium received for selling contracts kept + stock assigned/bought-to-cover at a lower price than it was shorted.
* BE/SL (Break Even Stop-Loss) | [Covered Puts BE = Stock Purchase Price + Bid Price]
>>> BE/SL hit: stock bought-to-cover at a slight loss with options contracts bought out (BTC - Buy to Close) at a lower price than initially sold (since price went up and these are puts), so technically the loss is reduced by the partial Premium still kept from initially sold contracts at trade open.
>>> Increasing the BE/SL distance: for wider BE/SL > Bid Price needs to be increased:
- Set longer Expiration date.
- Set closer Strike price.

NOTE: With longer Expiration date and closer Strike, chances of assignment increase as well. It's best to find an optimal level, where BE/SL is behind a Support/Resistance level and/or an established trend line and/or Large Length Moving Average, yet not extremely far away.

snapshot
---------------------------------------------------------------------------
---------------------------------------------------------------------------
An example of a Smart Secured Cash Puts trading SPY.

STRATEGY EXPLANATION:
* Trade Open Trigger (Bullish/Sideway)
>>> Bullish steady trend.
>>> Confirmation by additional TA (Technical Analysis) tools.
>>> EXAMPLE: Slowly rising price action above 200EMA.
* TP (Take-Profit)
>>> Early BTC: BTC (Buy to Close) before Expiration date if options premium/contract price already reduced by at least 50-90% (the reduced price is the profit, if premium lost 90% - only 10% will need to be paid to buy options out to close the trade) and if the stock price is nearing Resistance, Trend Line or big length moving average (like 200EMA) as a bounce may happen or even a potential reverse of the trend. If there is no trend reversal or a small correction bounce occurs, with further trend continuation > another Cash Secured Puts trade can be opened with new Expiration date and Strike.
>>> Contracts Expire at Expiration date: Premium received for selling contracts kept, considering the Strike was never hit.
>>> Assignment with stock closing below Strike and above/near BE (Break Even): Premium received for selling contracts kept. NOTE: It is best to get rid of the stock ASAP to then open a new Cash Secured Puts trade with lower Strike and a new Expiration date.
* BE/SL (Break Even Stop-Loss) | [Cash Secured Puts BE = Strike Price - Bid Price]
>>> BE/SL hit: contracts bought out (BTC - Buy to Close) at a higher price than initially sold (since price went down and these are puts), the amount/difference in current contract price is the loss (as premium received + contract price increase is the total cost, which will have to be paid to buy the countracts out).
>>> Increasing the BE/SL distance: for wider BE/SL > Bid Price needs to be increased:
- Set longer Expiration date.
- Set closer Strike price.

NOTE: With longer Expiration date and closer Strike, chances of assignment increase as well. It's best to find an optimal level, where BE/SL is behind a Support/Resistance level and/or an established trend line and/or Large Length Moving Average, yet not extremely far away.

snapshot
---------------------------------------------------------------------------
---------------------------------------------------------------------------
An example of Options Wheel strategy trading TQQQ. See how Strike and BE (Break Even) hits are displayed every time they occur.

STRATEGY EXPLANATION:
* Trade Open Trigger (Bullish/Sideway)
>>> Options Wheel strategy combines Cash Secured Puts with Covered Calls, so a steady bullish trend is preferred with lower volatility.
>>> It's best to start with Cash Secured Puts until assignment hits (stocks purchased), then switch to Covered Calls until assignment hits (stocks sold) and so on.
* TP (Take-Profit)
>>> Contracts Expire at Expiration date: Premium received for selling contracts kept.
>>> Assignment: Premium received for selling contracts kept. Stock is assigned (purchased if Cash Secured Puts were sold | sold if Covered Calls were sold [with Strike slightly above stock purchase price > the difference is also a profit]).
* BE/SL (Break Even Stop-Loss)
>>> Assignment is the stop-loss for this strategy, which ends current trade and starts next one. It is not a direct loss, but could result a long unrealized losses if after stock purchase assignment it goes down for a while or even a complete loss if low-cap company is used and it goes out of business.
>>> BE/SL distance can still be increased/kept optimal: for wider BE/SL > Bid Price needs to be increased:
- Set longer Expiration date.
- Set closer Strike price.

NOTE: With longer Expiration date and closer Strike, chances of assignment increase as well. It's best to find an optimal level, where BE/SL is behind a Support/Resistance level and/or an established Trend Line and/or Large Length Moving Average, yet not extremely far away.

snapshot | 3.0_wheel_strategy_tqqq_example.png
===========================================================================

Trading open/close/TP/SL labels, plots and colors explanations:
---------------------------------------------------------------------------
There are 3 approaches: Cashed Secured Puts, Covered Puts, Covered Calls. Here is an example showing all 3 (the Strikes, Bid prices, Expirations were chosen realistically).
>>> There are 3 symbol templates, the color can be changed for each and each symbol template can be unchecked to be fully hidden or all 3 can be used.
>>> Strike: dashed horizontal line plotted at chosen Strike, if Strike is hit within the Date Range - there will be a label shown.
>>> BE (Break Even): dotted horizontal line plotted at calculated BE, if BE is hit within the Date Range - there will be a label shown.
>>> Stock Purchased: solid horizontal line plotted at input price at which the stock was purchased.
>>> Date Range (STO[contracts sold] >>> Expiration[contracts expire]): vertical lines with arrows (arrows direction is based on the approach), which connect Strike, BE (Break Even) and Stock Purchased creating an square/rectangle of the whole trade, making it easy to see everything at once.
>>> Stats Table: shows all the necessary data for each symbol.

snapshot
===========================================================================
GLOBAL SETTINGS ///////////////////////////////////////////////////////////
---------------------------------------------------------------------------
>>> Show: week divider vertical lines: Will show vertical divider lines separating each week.
>>> Show: Mondays and Fridays: Will show M - for Monday, F - for Friday, T - for Tuesday (Tuesday will be shown if there is a Holiday on Monday)
---------------------------------------------------------------------------

OPTIONS SETUP: SYMBOL0X /////////////////////////////////////////////////// | (identical for all 3 symbols)
---------------------------------------------------------------------------
>>> Symbol0X | Show Table: Turns on symbol01, all visuals on chart, calculations, etc. Table can be separately hidden if desired.
>>> Label Size: Size of the labels on chart showing Strike, BE (Break Even), etc.
>>> Label Color: Color for all symbol0X labels.
>>> Text Color: Text color for all symbol0X labels.
>>> Options Trading Style: 1)Covered Calls: Bullish-sideways market approach (need to own 100 shares of stock per each contract sold), Strike price has to be set above the current stock price | 2)Covered Puts: Bearish-sideways market approach (need to own 100 shares of stock per each contract sold), Strike price has to be set below the current stock price | 3)Cash Secured Puts: Bullish-sideways approach (need to have enough cash to acquire shares [100 shares per each contract] at Strike price if hit), Strike price has to be set below the current stock price.
>>> # of contracts sold (1 contract > 100shares): # of contracts sold per trade, for Covered Calls and Covered Puts, every contract must be backed up by 100shares of the underlying stock.
>>> Price per 1 contract (Bid): Premium received per each contract sold.
>>> Strike Price.
>>> Stock Purchase Price: Stock purchase price (NOTE: This is only for Covered Call and Covered Puts, for Secured Cash Puts - stock is only purchased if at Expiration it closes beyond Strike price).
>>> STO (Sell to Open) Date: date at which the contracts were sold and Premium received.
>>> Exp (Expiration) Date: date at which contracts expire, if price never breaks the Strike at Expiration - contracts become worthless!
>>> Alert/Label: Futures Expire Soon: With this setting turned on, an Alert will trigger and a Label will be shown at opening of the first candle bar on the Expiration date. It will certainly be before the end of the day, however depending on the chart TimeFrame during alert creation - it may trigger at a different time. For Example: On a Daily chart TimeFrame SPY (S&P500) will trigger such alert at 9:30AM ET. ||| NOTE: Due to difference in timezones - the solid lines representing the STO >>> Exp range may be off by 1 business day from the date input in the indicator Settings > Inputs, so double check and calibrate the date by setting it 1 day behind/ahead from actual dates so that Alert is received on the actual Expiration date.
>>> Strike price Broken - Style: 'Close': Show/Alert Strike price broken only once candle bar is closed | 'Live': Show/Alert Strike price broken immediately once it happens, before candle bar is closed.
>>> Show: Strike price Broken: will show a label near candle bar breaking the Strike price.
>>> Alert: Strike price Broken: will alert at price breaking the Strike price.
>>> BE (Break Even) price Broken - Alert Style: 'Close': Show/Alert BE (Break Even) price broken only once candle bar is closed | 'Live': Show/Alert BE (Break Even) price broken immediately once it happens, before candle bar is closed.
>>> Show: BE (Break Even) price Broken: will show a label near candle bar breaking the BE price.
>>> Alert: BE (Break Even) price Broken: will alert at price breaking the BE price.
---------------------------------------------------------------------------

TA: TREND LINES ///////////////////////////////////////////////////////////
---------------------------------------------------------------------------
>>> Trend Lines - Uptrend/downtrend colors
>>> Show: Trend Lines: Show/Hide trend lines
>>> Show: Trend Line Breaks: Show/Hide labels where trend lines were broken
>>> Alert: Trend Line Breaks: Alert when trend line is broken
>>> Trend Lines - Search - Left Bars / Trend Lines - Search - Right Bars: how many candle bars will be used to calculate Trend Lines, the bigger the number > the more precise and less amount of trend lines will be found
>>> Trend Lines - Extend Setting
---------------------------------------------------------------------------

TA: S&R (SUPPORT AND RESISTANCE) //////////////////////////////////////////
---------------------------------------------------------------------------
>>> S&R (Support and Resistance) - Support/Resistance colors.
>>> Show: S&R (Support and Resistance) Top/Bottom Levels.
>>> Show: S&R (Support and Resistance) Top/Bottom Level Breaks: Show/Hide labels where support/resistance levels were broken
>>> Alert: S&R (Support and Resistance) Top/Bottom Level Breaks: Alert when S&R (Support and Resistance) level is broken
>>> S&R (Support and Resistance) - Search - Left Bars / S&R (Support and Resistance) - Search - Right Bars: how many candle bars will be used to calculate S&R (Support & Resistance) Levels, the bigger the number > the more precise and less amount of support and resistance levels will be found.
>>> S&R Search - Custom Resolution: This is a custom timeframe setting specifically for S&R Search, it disregards current chart timeframe. This is great to use for scalping, for example: with main chart set to 1min and the custom timeframe set to 3min or 5min - there will be stronger support/resistance levels with more detailed price action.
---------------------------------------------------------------------------

TA: ADDITIONAL TOOLS //////////////////////////////////////////////////////
>>> Show - MA (Moving Average).
>>> Show - ATR (Average True Range).
---------------------------------------------------------------------------
---------------------------------------------------------------------------

STATS TABLE ///////////////////////////////////////////////////////////////
Stats Table displays all the necessary date about each options setup.
>>> Table positioning
---------------------------------------------------------------------------
===========================================================================

Adding Alerts in TradngView
---------------------------------------------------------------------------
-Add indicator to chart and make sure to check/uncheck which alerts are required, then simply create it.
-Right-click anywhere on the TradingView chart
-Click on Add alert
-Condition: Select this indicator by it’s name
-Immediately below, change it to "alert() function calls only"
-Expiration: Open-ended (that may require higher tier TradingView account, otherwise the alert will need to be occasionally re-triggered)
-Alert name: Whatever you desire
-Hit “Create”
-Note: If you change ANY Settings within the indicator – you must DELETE the current alert and create a new one per steps above, otherwise it will continue triggering alerts per old Settings!
===========================================================================

If you have any questions or issues with the indicator, please message me directly via TradingView.
---------------------------------------------------------------------------
Good Luck! (NOTE: Trading is very risky, past performance is not necessarily indicative of future results, so please trade responsibly!)
Release Notes
* Moved color selection for each symbol0x right next to the symbol check [x] which turns it on, so it's less confusing.
Release Notes
* Re-publishing with cleaner representation chart
Release Notes
* Video Guide: youtu.be/NzPrqCtownw
Release Notes
* Updated how trend lines are plotted, as it was limited to only use circles, not by default it's actual line and can be changed to anything else under Indicator > Settings > Style.
Release Notes
* When creating an alert - there will be a yellow '(!) Caution!' about potential repainting. This is due to 'request.security' function use, so that different Symbols could be used on one indicator, please ignore this as it is irrelevant.
Release Notes
* Fixed an issue with alerts for Strike/BE breakout
Release Notes
* Fixed alerts as there was a bit of mix up where it would show BE breaks as Strike breaks, now should be all good!
Release Notes
* Trend lines dashed part will now start from the very 1st pivot point (before it started from 2nd pivot) as that way it can exactly be seen from which pivot points the trend line was built and where it become "real" > solid line (before it becomes "real" it's dashed)
Release Notes
* Fixed an issue where it would not allow to set Strike to a number with decimal, now working fine.
Release Notes
* Minor fix, trend lines would not fully hid if unchecked, now works fine
Release Notes
* Modified the table stats a little, now it will display separately live PL per stock price different and live PL + Premium received for selling contracts (NOTE: it shows result if full premium will be kept/expired/bought out at almost nothing)
Release Notes
* Another calculations fix, it should now use extended session for grabbing current stock close price and calculate live P/L correctly!
Release Notes
* minor cosmetic mistake fixed
Release Notes
* More cosmetical table visual fixes
Release Notes
* Table results cosmetical fix
Release Notes
* Added S&R and Trend Lines Bounces, can be shown/hidden + alerts turned on, helps a lot with Technical Analysis.
Release Notes
* Added custom resolution for Trend Lines
Release Notes
* Added additional TA: Volume Strength colored bars
Release Notes
* Minor fix in inputs (cosmetical)
Release Notes
* Added global commission input (if don't wish to include commission, simply set it to 0)
Release Notes
* Minor fix
Release Notes
* Added potential P/L + Premium profit under the stats table + added mouse hover tools where "*" is next to the item for additional explanation.
cashsecuredputscoveredcallscoveredputsCycleseducationaloptionsoptionscontractsoptionsstrategiesoptionstradingsellingoptionsTechnical Analysis

Invite-only script

Access to this script is restricted to users authorized by the author and usually requires payment. You can add it to your favorites, but you will only be able to use it after requesting permission and obtaining it from its author. Contact tso_trade for more information, or follow the author's instructions below.

TradingView does not suggest paying for a script and using it unless you 100% trust its author and understand how the script works. In many cases, you can find a good open-source alternative for free in our Community Scripts.

Author's instructions

* Video guide: https://youtu.be/NzPrqCtownw Please message me directly via TradingView for access or any other questions.

Want to use this script on a chart?

Warning: please read before requesting access.

Trading like a machine!
Also on:

Disclaimer