Scan MACD RSI on entire watchlist


Category:
0
0

Hello Pete.

 

I have a watch list of about 205 stocks that i cannot manage to be checking for oversold plus macd change on the daily. I am curious if there is any possible way to set the “Scan MACD RSI” on my entire watchlist? I would like this to scan consistently through out the day and alert me whether through text or site when one of the 205 stocks has an oversold or overbought value with a change in macd. Thank you.

Marked as spam
Posted by (Questions: 1, Answers: 1)
Asked on December 8, 2019 1:35 am
500 views
0

When referencing a resource it is important that you provide a link to that resource. Whether that resource is located on this site or some other site. In this case, we have two videos you might be speaking of:

https://www.hahn-tech.com/thinkorswim-scan-macd-rsi-squeeze/

OR

https://www.hahn-tech.com/thinkorswim-scan-macd-rsi-part-two/

In addition to providing a link to the resource you will also need to explain exactly what you want to see on the watchlist column. We can display values, change the background color and/or change the color of the value displayed. Without those details we have nothing to work with.

( at December 8, 2019 8:09 am)
0
Private answer

declare lower;

input fastLength = 12;

input slowLength = 26;

input MACDLength = 9;

input averageTypeMACD = AverageType.EXPONENTIAL;

 

def Diff = MACD(fastLength, slowLength, MACDLength, averageTypeMACD).Diff;

 

input length = 14;

input price = close;

input averageType = AverageType.WILDERS;

 

def NetChgAvg = MovingAverage(averageType, price - price[1], length);

def TotChgAvg = MovingAverage(averageType, AbsValue(price - price[1]), length);

def ChgRatio = if TotChgAvg != 0 then NetChgAvg / TotChgAvg else 0;

 

def RSI = 50 * (ChgRatio + 1);

 

def pivotLowMACD = Diff > Diff[1] and Diff[1] > Diff[2] and Diff[2] < Diff[3] and Diff[3] < Diff [4];

 

def pivotHighMACD = Diff < Diff[1] and Diff[1] < Diff[2] and Diff[2] > Diff[3] and Diff[3] > Diff[4];

 

def oversoldRSI = RSI <= 30;

def overboughtRSI = RSI >= 70;

 

def alertcount = if pivotLowMACD and highest(oversoldRSI[1], 4) > 0 then 1 else 0;

 

plot data = alertCount;

data.AssignValueColor(if alertCount > 0 then Color.BLACK else Color.WHITE);

AssignBackgroundColor(if alertCount == 0 then Color.RED else Color.GREEN);

 

 

I believe i solved my problem

 

Marked as spam
Posted by (Questions: 1, Answers: 1)
Answered on December 8, 2019 4:31 pm