Making Money in a Choppy Market

justAnotherTrader

Member
VIP
VIP Enthusiast
Intro:

In this choppy, super volatile trading environment I decided it was time to look for ways to smooth out the risk/reward ratios. Whether or not you believe we are in the middle of a sector rotation we can all agree things are getting a little sketchy in the market. Using two prebuilt thinkorswim indicators I built a scan that gives us low volatility combined with a high probability for above average returns.

The Conditions:
  • 7 day RSI > 60
  • 60 day RSI > 50
  • BollingerBandwidth < 10
The logic:
  • RSI is a measure of momentum, many people view a high RSI as being overbought. I agree when there is a spike in price. I disagree when the price is slowly trending up. A slowly upward trending stock can hold high levels of RSI for extended periods of time. Consider the stock MCO during the periods of 11/2019-2/2020. The 14 day RSI of MCO was above 70 most of that period. During that same time the stock ran 27%.
  • The BollingerBandwidth is the measure of volatility. High values imply high volatility, whereas low values imply low volatility. To my example, during 11/2019 MCO held the BollingerBandwidth value of less than 12.
The Example:

NGf46Xw.png


Caveats:

  • It should be a given but cherry pick the best charts for best results
  • Manage your risks
  • DD is your responsibility, its your money not mine

The Scan: https://tos.mx/JJUDFQz
 
Last edited:

bspratt22

New member
VIP
agree with your premise on current market conditions; it is sketchy and might be the beginning of reversal but we still trade the charts right? My question is your entry. Are you in on the median line or exactly what is your entry?
 

justAnotherTrader

Member
VIP
VIP Enthusiast

APOT7

Member
VIP
Can you share the lower study of the RSI 7day, 14,60, 120? As well as the BollingerBandwidth band simple?
 

justAnotherTrader

Member
VIP
VIP Enthusiast
Can you share the lower study of the RSI 7day, 14,60, 120? As well as the BollingerBandwidth band simple?

Just search for bollingerbandwidth in tos. Here is the multiple RSI

Code:
declare lower;

input length = 7;
input length1 = 14;
input length2 = 60;
input length3 = 120;
input over_Bought = 70;
input over_Sold = 30;
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 NetChgAvg1 = MovingAverage(averageType, price - price[1], length1);
def TotChgAvg1 = MovingAverage(averageType, AbsValue(price - price[1]), length1);

def NetChgAvg2 = MovingAverage(averageType, price - price[1], length2);
def TotChgAvg2 = MovingAverage(averageType, AbsValue(price - price[1]), length2);

def NetChgAvg3 = MovingAverage(averageType, price - price[1], length3);
def TotChgAvg3 = MovingAverage(averageType, AbsValue(price - price[1]), length3);

def ChgRatio = if TotChgAvg != 0 then NetChgAvg / TotChgAvg else 0;
def ChgRatio1 = if TotChgAvg1 != 0 then NetChgAvg1 / TotChgAvg1 else 0;
def ChgRatio2 = if TotChgAvg2 != 0 then NetChgAvg2 / TotChgAvg2 else 0;
def ChgRatio3 = if TotChgAvg3 != 0 then NetChgAvg3 / TotChgAvg3 else 0;


plot OverSold = over_Sold;
plot OverBought = over_Bought;
OverSold.SetDefaultColor(Color.DARK_GRAY);
OverBought.SetDefaultColor(Color.DARK_GRAY);


plot RSI = 50 * (ChgRatio + 1);
plot RSI1 = 50 * (ChgRatio1 + 1);
plot RSI2 = 50 * (ChgRatio2 + 1);
plot RSI3 = 50 * (ChgRatio3 + 1);

RSI.SetDefaultColor(Color.GREEN);
RSI1.SetDefaultColor(Color.MagenTA);
RSI2.SetDefaultColor(Color.YeLLOW);
RSI3.SetDefaultColor(Color.BLUE);

AddLabel(RSI, Concat("7RSI = ", RSI), color.GREEN);
AddLabel(RSI1, Concat("14RSI = ", RSI1), color.MAGENTA);
AddLabel(RSI2, Concat("60RSI = ", RSI2), color.YELLOW);
AddLabel(RSI3, Concat("120RSI = ", RSI3), color.BLUE);
 

justAnotherTrader

Member
VIP
VIP Enthusiast
Can you share your experience with Buy The Dip indicator? How is the performance and accuracy of the entries? Are you using it for scalping? or swing trading? time frames?

Thanks...
The Buy The Dip indicator in my personal experience has been the most accurate tool I've used to identify the bottom of stock. Its useful on all time frames. The way I use it personally is when I have identified a stock that I am interested in swinging I drop down to the 1minute chart and wait for the buy the dip signal to trigger for my entry. Many other users have different strategies that they use and we share those in the VIP lounge. This indicator is one of premium indicators you get for supporting the website when you go VIP. Therefore it's not my place to share it here. Happy trading!
 

APOT7

Member
VIP
Thanks you. how do i add 5day rsi to this with the other rsi 7, 14, 60, 120? @justAnotherTrader

Code:
Declare lower;



input length = 5;

input length1 = 7;

input length2 = 14;

input length3 = 60;

input length4 = 120;

input over_Bought = 80;

input over_Sold = 20;

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 NetChgAvg1 = MovingAverage(averageType, price - price[1], length1);

def TotChgAvg1 = MovingAverage(averageType, AbsValue(price - price[1]), length1);



def NetChgAvg2 = MovingAverage(averageType, price - price[1], length2);

def TotChgAvg2 = MovingAverage(averageType, AbsValue(price - price[1]), length2);



def NetChgAvg3 = MovingAverage(averageType, price - price[1], length3);

def TotChgAvg3 = MovingAverage(averageType, AbsValue(price - price[1]), length3);



def NetChgAvg4 = MovingAverage(averageType, price - price[1], length4);

def TotChgAvg4 = MovingAverage(averageType, AbsValue(price - price[1]), length4);



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

def ChgRatio1 = if TotChgAvg1 != 0 then NetChgAvg1 / TotChgAvg1 else 0;

def ChgRatio2 = if TotChgAvg2 != 0 then NetChgAvg2 / TotChgAvg2 else 0;

def ChgRatio3 = if TotChgAvg3 != 0 then NetChgAvg3 / TotChgAvg3 else 0;

def ChgRatio4 = if TotChgAvg4 != 0 then NetChgAvg4 / TotChgAvg4 else 0;





plot OverSold = over_Sold;

plot OverBought = over_Bought;

OverSold.SetDefaultColor(Color.DARK_GRAY);

OverBought.SetDefaultColor(Color.DARK_GRAY);





plot RSI = 50 * (ChgRatio + 1);

plot RSI1 = 50 * (ChgRatio1 + 1);

plot RSI2 = 50 * (ChgRatio2 + 1);

plot RSI3 = 50 * (ChgRatio3 + 1);

plot RSI4 = 50 * (ChgRatio4 + 1);



RSI.SetDefaultColor(Color.GREEN);

RSI1.SetDefaultColor(Color.MagenTA);

RSI2.SetDefaultColor(Color.YeLLOW);

RSI3.SetDefaultColor(Color.white);

RSI4.SetDefaultColor(Color.Red);



AddLabel(RSI, Concat("5RSI = ", RSI), color.GREEN);

AddLabel(RSI1, Concat("7RSI = ", RSI1), color.MAGENTA);

AddLabel(RSI2, Concat("14RSI = ", RSI2), color.YELLOW);

AddLabel(RSI3, Concat("60RSI = ", RSI3), color.white);

AddLabel(RSI4, Concat("120RSI = ", RSI4), color.Red);
 
Last edited by a moderator:

APOT7

Member
VIP
Can this code apply to svestochRSI??? Can how I write a code for this in multiple time frame for stoch length?
 

am3ncorn3r

New member
VIP
Hey are you using this for day trading or swing trading? This scan is relevant now more than ever with this market
 

rad14733

Well-known member
VIP
Hey are you using this for day trading or swing trading? This scan is relevant now more than ever with this market

You didn't ask anyone specifically so I'll assume you were asking the creator of this topic, @justAnotherTrader... Looking at the image in the first post of this topic you'll notice that he is using a 1Y 1d Chart... That would pretty much eliminate the day trading idea, right...??? Not to mention the fact that the BTD indicator is more of a swing trade indicator... You need to pay a bit more attention and be more observant rather than expecting instant gratification... You'll learn a lot more that way...
 

am3ncorn3r

New member
VIP
You didn't ask anyone specifically so I'll assume you were asking the creator of this topic, @justAnotherTrader... Looking at the image in the first post of this topic you'll notice that he is using a 1Y 1d Chart... That would pretty much eliminate the day trading idea, right...??? Not to mention the fact that the BTD indicator is more of a swing trade indicator... You need to pay a bit more attention and be more observant rather than expecting instant gratification... You'll learn a lot more that way...
Thanks! Hope that made your week better!
 

Tradervic

Member
VIP
Intro:

In this choppy, super volatile trading environment I decided it was time to look for ways to smooth out the risk/reward ratios. Whether or not you believe we are in the middle of a sector rotation we can all agree things are getting a little sketchy in the market. Using two prebuilt thinkorswim indicators I built a scan that gives us low volatility combined with a high probability for above average returns.

The Conditions:
  • 7 day RSI > 60
  • 60 day RSI > 50
  • BollingerBandwidth < 10
The logic:
  • RSI is a measure of momentum, many people view a high RSI as being overbought. I agree when there is a spike in price. I disagree when the price is slowly trending up. A slowly upward trending stock can hold high levels of RSI for extended periods of time. Consider the stock MCO during the periods of 11/2019-2/2020. The 14 day RSI of MCO was above 70 most of that period. During that same time the stock ran 27%.
  • The BollingerBandwidth is the measure of volatility. High values imply high volatility, whereas low values imply low volatility. To my example, during 11/2019 MCO held the BollingerBandwidth value of less than 12.
The Example:

NGf46Xw.png


Caveats:

  • It should be a given but cherry pick the best charts for best results
  • Manage your risks
  • DD is your responsibility, its your money not mine

The Scan: https://tos.mx/JJUDFQz
@justAnotherTrader Thank you for this methodology. Its a great system. A question for you. What you presented is for longs. How about reversing it for shorts? 7 Day RSI <40, 60 day RSI <50, Bollinger Bandwidth < 10? What do you think?
 
Last edited:

Similar threads

Top