OPEN-SOURCE SCRIPT

Morning & EOD Report

94
This is not financial advice, nor meant to influence anyone's trading strategies.
Please use at your discretion and if you decide to give this indicator a shot, please leave some feedback if there could be changes made to the intervals or if there any other necessary changes to make

As you can see, this indicator provides a detailed morning report on all timeframes. Also, when you switch to the 15 minute time interval you are able to see an EOD report as well. These both print after collecting enough data based on key indicators within a designated time frame.

The reports will provide short-term data showing whether the stock price is above or below VWAP, as well as if the MACD and RSI are trending upwards or downwards. This is the code that builds the model and signal:
[macdST, signalST, _] = ta.macd(close, 12, 26, 9)
rsiST = ta.rsi(close, 14)
vwapST = ta.vwap
priceAboveVWAP = close > vwapST
macdBullish = macdST > signalST
rsiBullish = rsiST > 50

The long-term uses a mid/daily time frame and analyzes key indicators like MACD, RSI, PMO, SMA on a 50 day moving average, and if price is above or below VWAP. These indicators allow the model to display BUY Signal Active, SELL Signal Active, or Neutral. Along with this, it also tracks price change percentage and can indicate whether volume is normal or if there has been a spike detected. The code that makes all this possible is listed below:
[macdD, signalD, _] = request.security(syminfo.tickerid, "D", ta.macd(close, 12, 26, 9))
rsiD = request.security(syminfo.tickerid, "D", ta.rsi(close, 14))
pmo = request.security(syminfo.tickerid, "D", ta.ema(ta.roc(close, 1), 35))
pmoSMA = request.security(syminfo.tickerid, "D", ta.sma(ta.ema(ta.roc(close, 1), 35), 10))
priceAboveSMA50 = close > ta.sma(close, 50)

buySignalD = macdD > signalD and rsiD > 50 and pmo > pmoSMA and priceAboveSMA50
sellSignalD = macdD < signalD and rsiD < 50 and pmo < pmoSMA and not priceAboveSMA50

// --- % CHANGE FROM OPEN ---
sessionOpen = request.security(syminfo.tickerid, "D", open)
pctChange = ((close - sessionOpen) / sessionOpen) * 100

// --- Volume Spike Detection ---
avgVol = ta.sma(volume, 20)
volSpike = volume > avgVol * 1.5


Penafian

Maklumat dan penerbitan adalah tidak dimaksudkan untuk menjadi, dan tidak membentuk, nasihat untuk kewangan, pelaburan, perdagangan dan jenis-jenis lain atau cadangan yang dibekalkan atau disahkan oleh TradingView. Baca dengan lebih lanjut di Terma Penggunaan.