macattacktos
New member
@RedToGreen Glad I could help, whats your favorite top and lower setup right now if you don't mind me asking?Nice catch
The code in post #1175 has been updated
@RedToGreen Glad I could help, whats your favorite top and lower setup right now if you don't mind me asking?Nice catch
The code in post #1175 has been updated
Get well soon looking forward to reading more of your wisdom, great script(I’m currently in the hospital). I will be working on releasing more videos soon! Happy trading
CC Max on Daily and B4@RedToGreen Glad I could help, whats your favorite top and lower setup right now if you don't mind me asking?
Hi @tosman!Thanks @Christopher84 No hurry. Please take your time - get better first.
yes please! thank you some muchIf anyone is interested, I am sharing the code for my version of a MTF_MOBO on pg.1 of this thread. It's something interesting to have in the tool chest. Happy trading!
Hi @macattacktos,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.
@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 @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!
Hi @macattacktos,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 @TapthatAsk!@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?
#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 @lolreconlol,If I primarily trade SPY, should I be using C3_Max_v2_SPX_Forex or C3_Max_V2?
@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!
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!
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,@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 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 @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 @Christopher84Hi @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 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).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.
Join useThinkScript to post your question to a community of 21,000+ developers and traders.
Start a new thread and receive assistance from our community.
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.
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.