Confirmation Candles Indicator For ThinkorSwim

@RedToGreen Glad I could help, whats your favorite top and lower setup right now if you don't mind me asking?
CC Max on Daily and B4

If I do any day trading, its the scalper on 2min/ using a seperate chart grid of 1 & 2 hr B4

I altered B4 to show the status of Stochastics
2HpVqdy.png
 
Last edited:
Hi @Christopher84 Hope you're back home now.
I noticed after turning off all my upper and lower studies that I still had labels being calculated, It was showing them for the LE_LX study which I hadn't even had on today. I removed that study and another set of labels appeared and I think they were from the Scalper. Is this just a problem with TOS or maybe is there a problem with label calls not being turned off? I didn't know if you've ever noticed so I just wanted to mention.

2. Have you done any looking or work with Order Block identification on a chart? I've just seen this topic popping up in my youtube suggestions for some reason, I have no idea if order block info would be beneficial or not.

@RedToGreen Thanks for telling me your setup, I also like the B4 lower as well as the C3 Lower, sometimes Scalper on top or C3_Max.
Thanks.
 
Hi @Christopher84 Hope you're back home now.
I noticed after turning off all my upper and lower studies that I still had labels being calculated, It was showing them for the LE_LX study which I hadn't even had on today. I removed that study and another set of labels appeared and I think they were from the Scalper. Is this just a problem with TOS or maybe is there a problem with label calls not being turned off? I didn't know if you've ever noticed so I just wanted to mention.

2. Have you done any looking or work with Order Block identification on a chart? I've just seen this topic popping up in my youtube suggestions for some reason, I have no idea if order block info would be beneficial or not.

@RedToGreen Thanks for telling me your setup, I also like the B4 lower as well as the C3 Lower, sometimes Scalper on top or C3_Max.
Thanks.
Hi @macattacktos,
Unfortunately, I have the same issue with tos. Strategies will continue to run in the background even when turned off. This is really important to acknowledge when assessing your strategy. You only want to have the strategy that you’re assessing in your study set, otherwise the floating P/L will calculate based on all strategies present in your study set. If you’re not using the strategy remove it from your current set. I’ve noticed the same issue with the labels. Sorry I don’t have any better news for you.
 
Hi @Christopher84
Two more quick questions if I may.

1. Do you ever paint GRAY candles or is that just another fluke of TOS I see sometimes? I have a screenshot(not posted) of RED, GREEN and GRAY candle colors using C3_v6 but I don't see in the code where you specifically assign anything other than RED or GREEN but you do also allow "Color.CURRENT". I did close and reload scripts and suddenly no more GRAY candles, frustrating, this was all after hours, so I'm thinking it was just a glitch unless somehow Color.CURRENT was GRAY at the time, is that possible? Is Color.CURRENT just for someone using their own custom candle color settings?

Here's the two scripts and their code for candle color that I found and was trying to figure out if they could paint GRAY or not.
c3_v6
:
AssignPriceColor(if coloredCandlesOn and priceColor == 1 then Color.LIGHT_GREEN else if coloredCandlesOn and priceColor == -1 then Color.RED else Color.CURRENT);

CCv10:
AssignPriceColor(if coloredCandlesOn and UP then Color.LIGHT_GREEN else if coloredCandlesOn and DOWN then Color.RED else Color.CURRENT);

2. Again just curious if you've ever looked at or tried to script order block indicators?
Thanks again!!!
 
Hi @tosman!
The lower version contains the full code (not just the moving averages) and certain studies within the code will not work on SPX. I should be able to come up with a reasonable fix pretty quickly. I’m hoping to get back into the office tomorrow all being well. I’ll keep you posted @tosman.

PS: thanks to everyone for the well wishes while I was down. It was much appreciated!
@Christopher84 Man your indicators are a game changer!! I hope all is well and wish you a speedy recovery. I was wondering do you have a scan in place for the c3 max when its squeezing?
 
Hi @Christopher84
Two more quick questions if I may.

1. Do you ever paint GRAY candles or is that just another fluke of TOS I see sometimes? I have a screenshot(not posted) of RED, GREEN and GRAY candle colors using C3_v6 but I don't see in the code where you specifically assign anything other than RED or GREEN but you do also allow "Color.CURRENT". I did close and reload scripts and suddenly no more GRAY candles, frustrating, this was all after hours, so I'm thinking it was just a glitch unless somehow Color.CURRENT was GRAY at the time, is that possible? Is Color.CURRENT just for someone using their own custom candle color settings?

Here's the two scripts and their code for candle color that I found and was trying to figure out if they could paint GRAY or not.
c3_v6
:
AssignPriceColor(if coloredCandlesOn and priceColor == 1 then Color.LIGHT_GREEN else if coloredCandlesOn and priceColor == -1 then Color.RED else Color.CURRENT);

CCv10:
AssignPriceColor(if coloredCandlesOn and UP then Color.LIGHT_GREEN else if coloredCandlesOn and DOWN then Color.RED else Color.CURRENT);

2. Again just curious if you've ever looked at or tried to script order block indicators?
Thanks again!!!
Hi @macattacktos,
Neither C3_v6 or CC_v10 utilize gray candles. If you have multiple candle painting studies in your study set, they can interfere with each other (even if they are turned off). If that's what is happening, the fix is to only have one candle painting strategy in your study set. I hope this helps!
 
@Christopher84 Man your indicators are a game changer!! I hope all is well and wish you a speedy recovery. I was wondering do you have a scan in place for the c3 max when its squeezing?
Hi @TapthatAsk!
Here's a share link for the C3_Max Squeeze https://tos.mx/lW74Oy8. Here is the code as well which you can add to your studies and reference in the scan setup (if you would prefer). The screenshot is showing how I configured it. Happy trading!
D5U9TAv.png

Code:
#C3_Max_Squeeze_Scan Created by Christopher84 04/05/2022

#--------------
#Squeeze Alert
#--------------

#Squeeze Dots Created 04/28/2021 by Christopher84
input ATRPeriod = 5;
input ATRFactor = 2.0;
def HiLo = Min(high - low, 1.5 * Average(high - low, ATRPeriod));
def HRef = if low <= high[1]
    then high - close[1]
    else (high - close[1]) - 0.5 * (low - high[1]);
def LRef = if high >= low[1]
    then close[1] - low
    else (close[1] - low) - 0.5 * (low[1] - high);
input trailType = {default modified, unmodified};
def trueRange;
switch (trailType) {
case modified:
    trueRange = Max(HiLo, Max(HRef, LRef));
case unmodified:
    trueRange = TrueRange(high, close, low);
}
input averageType = AverageType.SIMPLE;
input firstTrade = {default long, short};
#input averageType = AverageType.WILDERS;####Use Simple instead of Wilders
def loss = ATRFactor * MovingAverage(averageType, trueRange, ATRPeriod);
def state = {default init, long, short};
def trail;
switch (state[1]) {
case init:
    if (!IsNaN(loss)) {
        switch (firstTrade) {
        case long:
            state = state.long;
            trail =  close - loss;
        case short:
            state = state.short;
            trail = close + loss;
    }
    } else {
        state = state.init;
        trail = Double.NaN;
    }
case long:
    if (close > trail[1]) {
        state = state.long;
        trail = Max(trail[1], close - loss);
    } else {
        state = state.short;
        trail = close + loss;
    }
case short:
    if (close < trail[1]) {
        state = state.short;
        trail = Min(trail[1], close + loss);
    } else {
        state = state.long;
        trail =  close - loss;
    }
}

def TrailingStop = trail;
def H = Highest(TrailingStop, 12);
def L = Lowest(TrailingStop, 12);
def BulgeLengthPrice = 100;
def SqueezeLengthPrice = 100;
plot BandwidthC3 = (H - L);
def IntermResistance2 = Highest(BandwidthC3, BulgeLengthPrice);
plot IntermSupport2 = Lowest(BandwidthC3, SqueezeLengthPrice);
def sqzTrigger = BandwidthC3 <= IntermSupport2;
def sqzLevel = if !sqzTrigger[1] and sqzTrigger then hl2
               else if !sqzTrigger then Double.NaN
               else sqzLevel[1];

plot Squeeze_Alert = sqzLevel;
Squeeze_Alert.SetPaintingStrategy(PaintingStrategy.POINTS);
Squeeze_Alert.SetLineWeight(3);
Squeeze_Alert.SetDefaultColor(Color.YELLOW);
 
Hi @TapthatAsk!
Here's a share link for the C3_Max Squeeze https://tos.mx/lW74Oy8. Here is the code as well which you can add to your studies and reference in the scan setup (if you would prefer). The screenshot is showing how I configured it. Happy trading!
D5U9TAv.png

Code:
#C3_Max_Squeeze_Scan Created by Christopher84 04/05/2022

#--------------
#Squeeze Alert
#--------------

#Squeeze Dots Created 04/28/2021 by Christopher84
input ATRPeriod = 5;
input ATRFactor = 2.0;
def HiLo = Min(high - low, 1.5 * Average(high - low, ATRPeriod));
def HRef = if low <= high[1]
    then high - close[1]
    else (high - close[1]) - 0.5 * (low - high[1]);
def LRef = if high >= low[1]
    then close[1] - low
    else (close[1] - low) - 0.5 * (low[1] - high);
input trailType = {default modified, unmodified};
def trueRange;
switch (trailType) {
case modified:
    trueRange = Max(HiLo, Max(HRef, LRef));
case unmodified:
    trueRange = TrueRange(high, close, low);
}
input averageType = AverageType.SIMPLE;
input firstTrade = {default long, short};
#input averageType = AverageType.WILDERS;####Use Simple instead of Wilders
def loss = ATRFactor * MovingAverage(averageType, trueRange, ATRPeriod);
def state = {default init, long, short};
def trail;
switch (state[1]) {
case init:
    if (!IsNaN(loss)) {
        switch (firstTrade) {
        case long:
            state = state.long;
            trail =  close - loss;
        case short:
            state = state.short;
            trail = close + loss;
    }
    } else {
        state = state.init;
        trail = Double.NaN;
    }
case long:
    if (close > trail[1]) {
        state = state.long;
        trail = Max(trail[1], close - loss);
    } else {
        state = state.short;
        trail = close + loss;
    }
case short:
    if (close < trail[1]) {
        state = state.short;
        trail = Min(trail[1], close + loss);
    } else {
        state = state.long;
        trail =  close - loss;
    }
}

def TrailingStop = trail;
def H = Highest(TrailingStop, 12);
def L = Lowest(TrailingStop, 12);
def BulgeLengthPrice = 100;
def SqueezeLengthPrice = 100;
plot BandwidthC3 = (H - L);
def IntermResistance2 = Highest(BandwidthC3, BulgeLengthPrice);
plot IntermSupport2 = Lowest(BandwidthC3, SqueezeLengthPrice);
def sqzTrigger = BandwidthC3 <= IntermSupport2;
def sqzLevel = if !sqzTrigger[1] and sqzTrigger then hl2
               else if !sqzTrigger then Double.NaN
               else sqzLevel[1];

plot Squeeze_Alert = sqzLevel;
Squeeze_Alert.SetPaintingStrategy(PaintingStrategy.POINTS);
Squeeze_Alert.SetLineWeight(3);
Squeeze_Alert.SetDefaultColor(Color.YELLOW);
@Christopher84 Your the GOAT hopefully I can catch a few on the intraday, we shall see!! I do have one more question, How do you read the top and bottom dash lines that follow along, are they like momentum shifts? I notice sometimes the one on top may be green but the bottom might be red and vice versus so just wondering what is the correct to read it, I thought it kinda responded like a market pulse but you already have that following along. And is there a way to make the dashes bigger in the settings? Not sure exactly what they would be called lol since I'm not 100% sure on how to use them, thanks for all you do!!
 
@Christopher84 Your the GOAT hopefully I can catch a few on the intraday, we shall see!! I do have one more question, How do you read the top and bottom dash lines that follow along, are they like momentum shifts? I notice sometimes the one on top may be green but the bottom might be red and vice versus so just wondering what is the correct to read it, I thought it kinda responded like a market pulse but you already have that following along. And is there a way to make the dashes bigger in the settings? Not sure exactly what they would be called lol since I'm not 100% sure on how to use them, thanks for all you do!!
Hi @TapthatAsk,
If you are referring to the moving averages, when the dashes are green the slope of the average is up and when the dashes are red the slope of the average is down. Look for the averages to be in agreement on the direction (both green or both red).
 
Hi @TapthatAsk,
If you are referring to the moving averages, when the dashes are green the slope of the average is up and when the dashes are red the slope of the average is down. Look for the averages to be in agreement on the direction (both green or both red).
@Christopher84 Ok I see so basically if that top doesn't agree with the bottom I should probably stay out of that trade or stay in it:) if the direction isnt clear.
 
Hi @macattacktos,
Neither C3_v6 or CC_v10 utilize gray candles. If you have multiple candle painting studies in your study set, they can interfere with each other (even if they are turned off). If that's what is happening, the fix is to only have one candle painting strategy in your study set. I hope this helps!
Hi @Christopher84
Thanks for the reply, I believe I figured out that the B4 lower V3.0 from Barbros/Chuck can cause gray candles to paint, as I was removing studies tonight I got down to that one and once removed = no more gray candles and when I turned it back on gray came back, so fyi to everyone seeing them at times...
 
Hello! How would I go about setting up a scan for when SE and LE paint within a certain amount of candles? This is for the c3max scalping version (1 minute time frame)! Thanks!
 
10 min strategy for the /ES (posted on pg.1 of this thread) is still performing very well. Nice long entry yesterday followed by the short entry this afternoon.
Uo09Q9f.png
Hi @Christopher84 I have been reading this thread and am page 56 now. I am noticing that when you trade /ES you are either using the 10 min timeframe (with C3_Max_v2_Strategy and EMAD_Range) or the 1 min timeframe (with C3_Max and Scalper).
My first question is which is your preferred chart or do you refer to both?
Second question is on the 1 min TF chart, what are the white arrows?
Third question, again relating to the 1 min TF chart, what are the exit signals for a trade? I am assuming that the entry trades are marked by SE/LE. Or better yet, would love to hear your approach.
Thanks again for your help.
 
Last edited:

Join useThinkScript to post your question to a community of 21,000+ developers and traders.

Not the exact question you're looking for?

Start a new thread and receive assistance from our community.

87k+ Posts
249 Online
Create Post

The Market Trading Game Changer

Join 2,500+ subscribers inside the useThinkScript VIP Membership Club
  • Exclusive indicators
  • Proven strategies & setups
  • Private Discord community
  • ‘Buy The Dip’ signal alerts
  • Exclusive members-only content
  • Add-ons and resources
  • 1 full year of unlimited support

Frequently Asked Questions

What is useThinkScript?

useThinkScript is the #1 community of stock market investors using indicators and other tools to power their trading strategies. Traders of all skill levels use our forums to learn about scripting and indicators, help each other, and discover new ways to gain an edge in the markets.

How do I get started?

We get it. Our forum can be intimidating, if not overwhelming. With thousands of topics, tens of thousands of posts, our community has created an incredibly deep knowledge base for stock traders. No one can ever exhaust every resource provided on our site.

If you are new, or just looking for guidance, here are some helpful links to get you started.

What are the benefits of VIP Membership?
VIP members get exclusive access to these proven and tested premium indicators: Buy the Dip, Advanced Market Moves 2.0, Take Profit, and Volatility Trading Range. In addition, VIP members get access to over 50 VIP-only custom indicators, add-ons, and strategies, private VIP-only forums, private Discord channel to discuss trades and strategies in real-time, customer support, trade alerts, and much more. Learn all about VIP membership here.
How can I access the premium indicators?
To access the premium indicators, which are plug and play ready, sign up for VIP membership here.
Back
Top