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:
- Chart:

List of my free indicators:
List of my indicators at Appstore:
Script de código abierto

Siguiendo el verdadero espíritu de TradingView, el autor de este script lo ha publicado en código abierto, para que los traders puedan entenderlo y verificarlo. ¡Un hurra por el autor! Puede utilizarlo de forma gratuita, aunque si vuelve a utilizar este código en una publicación, debe cumplir con lo establecido en las Normas internas. Puede añadir este script a sus favoritos y usarlo en un gráfico.

¿Quiere utilizar este script en un gráfico?
// @author LazyBear 
// List of all my indicators:
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)