LazyBear

Earnings S/R Levels [LazyBear]

These levels are based on price around earnings day. I have implemented support for 2 calculation modes:

Mode 1: Level = (low of 1 day prior to earnings + high of 1 day after earnings) / 2.0
Mode 2: Level = (hl2 of 1 day prior to earnings + hl2 of 1 day after earnings + close from earnings day) / 3.0

Chart above shows "Mode 1". Mode can be changed via options page.

This indicator was requested by user @mika2k1ff. I learnt more about this idea from @DanV and @TimWest (Thanks guys :)). BTW, TimWest has an indicators package, "Key Hidden Levels", that has this and more.

Do let me know how you use this, I am very intrigued by the potential this idea shows. Thanks.

For a complete list of my indicators:
- GDoc: docs.google.com...ByMEvm5MLo/edit?usp=sharin...
- Chart:

List of my free indicators: bit.ly/1LQaPK8
List of my indicators at Appstore: blog.tradingview.com/?p=970
Open-source script

In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in a publication is governed by House Rules. You can favorite it to use it on a chart.

Disclaimer

The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.

Want to use this script on a chart?
//
// @author LazyBear 
// List of all my indicators: https://www.tradingview.com/v/4IneGo8h/
//
study("Earnings S/R Levels [LazyBear]", shorttitle="ELVLS_LB", overlay=true)
mode=input(1, "S/R mode", minval=1, maxval=2)
earnings = security("ESD:"+ticker+"_EARNINGS", "D", close, true)
ehl2_mode1=(nz(earnings[1]) ? avg(low[2],high) : nz(ehl2_mode1[1])) // AVG2(low of 1 day pri, high of 1 day after)
ehl2_mode2=(nz(earnings[1]) ? (hl2[2]+hl2+close[1])/3 : nz(ehl2_mode2[1])) // AVG3(HL2 of 1 day pri, HL2 of 1 day after, close of earnings day)
ehl2=mode==1?ehl2_mode1:mode==2?ehl2_mode2:ehl2_mode1 // default: mode1
plot(ehl2, linewidth=2, style=circles)