Confirmation Candles Indicator For ThinkorSwim

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

Thank you @METAL! Something worth noting, is to make sure you are using the longest chart history available for whatever timeframe you are on. It will make the yellow candles considerably more accurate.
Gosh, i hate to keep asking but I have no idea what you mean by "Longest Chart History" Can you explain?

Is this in the settings or something I need to do for each chart?
 
Last edited by a moderator:
Gosh, i hate to keep asking but I have no idea what you mean by "Longest Chart History" Can you explain?
So on a 15 min chart the longest history is available is 90 days, or a 1 min chart would be 30 days.
imVm2zr.png
 
Last edited by a moderator:
Hey Eagle, Are you using the C3Max and scalper_V3 on the same chart? If not, how did you get the all of the same indicators as the C3Max?
Hey Metal, Yes, I merged C3_MAX_v2 with Scalper_v3 on one monitor and have C3_MAX_v2 merged with PLD_Bands on the others so I can test them both concurrently. This week I've been trading mostly using PLD_Bands (merged with C3_MAX_v2, which I cannot live without, LOL) on a 3min chart while (always) using 10min chart (exact same setup) for confirmation (with the general guidance from 30min and 4hr charts). I wish Scalper_v3 can have just the PLD blue line added as it helps a lot (along with other indications/confirmations especially from a higher timeframe, of course, when price closes above PLD blue line = bullish, vice versa).
 
Last edited:
Hey Metal, Yes, I merged C3_MAX_v2 with Scalper_v3 on one monitor and have C3_MAX_v2 merged with PLD_Bands on the others so I can test them both concurrently. This week I've been trading mostly using PLD_Bands (merged with C3_MAX_v2, which I cannot live without, LOL) on a 3min chart while (always) using 10min chart (exact same setup) for confirmation (with the general guidance from 30min and 4hr charts). I wish Scalper_v3 can have just the PLD blue line added as it helps a lot (along with other indications/confirmations especially from a higher timeframe, of course, when price closes above PLD blue line = bullish, vice versa).
Eagle, Thanks. I had not considered merging them. Do you have to make any specific changes to the strats when doing that? Would you be so kind as to share you charts. That would be a great help so i can compare what I have. Also on another note. I have been using the PLD bands on two different charts and I have never seen a blue line. Now I am wandering what is wrong with mine. (I just found out that my PLD "Plot" was disabled.:oops:
 
Last edited:
Apologies, but I'm still getting acclimated to ThinkScripts. Can someone post the code for the latest version? I know plenty of updates occur after the initial post but I dont know how to find the latest. Thx
 
Eagle, Thanks. I had not considered merging them. Do you have to make any specific changes to the strats when doing that? Would you be so kind as to share you charts. That would be a great help so i can compare what I have. Also on another note. I have been using the PLD bands on two different charts and I have never seen a blue line. Now I am wandering what is wrong with mine. (I just found out that my PLD "Plot" was disabled.:oops:

Hi @METAL , I only made some changes as follows:

1. PLD_Bands (in the settings): see attachments. Note: I let PLD_Bands do the colorbars painting (instead of C3_MAX_v2 => see next).

2. C3_MAX_v2 (in the code):
line 16: "coloredCandleOn"= no
line 960: comment out "AssignPriceColor..." with a # in front
*Note: After these changes, I clicked on "Save as new script" (bottom right) and named it "C3_MAX_v2_NoColorBars" (to respect the original code remain untouched).

3. Turn off the signal arrows within C3_MAX_v2 settings so that PLD_Bands has the exclusive right to signaling (to avoid confusions).

I don't think it's necessary to share the chart because all of Christopher's strategies and studies are all on page 1 of this thread. As you can see, I only know how to use the most basic steps to make these changes. I'm an amateur and absolutely NOT a coder at all. If I can use the "search" function within this forum + google in order to play with these and make changes (most importantly to fit how I interpret and understand of the indicators/strategies/studies), I'm sure anyone can do better than me. Cheers!

L55uQmy.png

kp5yWfl.png

B4VU9aG.png
 
Last edited:
Hey @Christopher84, I have been using C3 Max Spark upper and EMAD lower and C3 MF Line (the line only code you posted that has different settings than the max spark) as a lower... is it possible to reference agreement between the upper and the two lowers? specifically the color of the C3 lines and Emad line color + Emad line above (or below) the zero line.... as a label?

or is there a way to show the C3 MF line as a label only instead of a lower indication?
 
#Confirmation Level WL developed 04/15/2021 by Christopher Wilson #Select the level of agreement among the 15 indicators included. #Changed 05/20/21 Include CIP. #MACD with Price declare lower; def price = close; def fastLength = 12; def slowLength = 26; def MACDLength = 9; input MACD_AverageType = {SMA, default EMA}; def MACDLevel = 0.0; def fastEMA = ExpAverage(price, fastLength); def slowEMA = ExpAverage(price, slowLength); def Value; def Avg; switch (MACD_AverageType) { case SMA: Value = Average(price, fastLength) - Average(price, slowLength); Avg = Average(Value, MACDLength); case EMA: Value = fastEMA - slowEMA; Avg = ExpAverage(Value, MACDLength);} def Diff = Value - Avg; def Level = MACDLevel; def condition1 = Value[1] <= Value; #RSI input RSI_length = 14; input RSI_AverageType = AverageType.WILDERS; def NetChgAvg = MovingAverage(RSI_AverageType, price - price[1], RSI_length); def TotChgAvg = MovingAverage(RSI_AverageType, AbsValue(price - price[1]), RSI_length); def ChgRatio = if TotChgAvg != 0 then NetChgAvg / TotChgAvg else 0; def RSI = 50 * (ChgRatio + 1); def condition2 = (RSI[3] < RSI) is true or (RSI >= 80) is true; #MFI input MFI_Length = 14; def MFIover_Sold = 20; def MFIover_Bought = 80; def movingAvgLength = 1; def MoneyFlowIndex = Average(moneyflow(high, close, low, volume, MFI_Length), movingAvgLength); def MFIOverBought = MFIover_Bought; def MFIOverSold = MFIover_Sold; def condition3 = (MoneyFlowIndex[2] < MoneyFlowIndex) is true or (MoneyFlowIndex > 85) is true; #Forecast def na = Double.NaN; def MidLine = 50; def Momentum = MarketForecast().Momentum; def NearT = MarketForecast().NearTerm; def Intermed = MarketForecast().Intermediate; def FOB = 80; def FOS = 20; def upperLine = 110; def condition4 = (Intermed[1] <= Intermed) or (NearT >= MidLine); #Change in Price def lengthCIP = 5; def displace = 0; def CIP = (price - price[1]); def AvgCIP = ExpAverage(CIP[-displace], lengthCIP); def CIP_UP = AvgCIP > AvgCIP[1]; def CIP_DOWN = AvgCIP < AvgCIP[1]; def condition5 = CIP_UP; #EMA_1 input EMA_length = 12; def AvgExp = ExpAverage(price[-displace], EMA_length); def condition6 = (price >= AvgExp) and (AvgExp[2] <= AvgExp); #EMA_2 input EMA_2length = 20; def displace2 = 0; def AvgExp2 = ExpAverage(price[-displace2], EMA_2length); def condition7 = (price >= AvgExp2) and (AvgExp2[2] <= AvgExp2); #DMI Oscillator input DMI_length = 5; input averageType = AverageType.WILDERS; def diPlus = DMI(DMI_length, averageType)."DI+"; def diMinus = DMI(DMI_length, averageType)."DI-"; def Osc = diPlus - diMinus; def Hist = Osc; def ZeroLine = 0; def condition8 = Osc >= ZeroLine; #Trend_Periods input TP_fastLength = 3; input TP_slowLength = 4; def Periods = sign(ExpAverage(close, TP_fastLength) - ExpAverage(close, TP_slowLength)); def condition9 = Periods > 0; #Polarized Fractal Efficiency input PFE_length = 5; input smoothingLength = 2.5; def PFE_diff = close - close[PFE_length - 1]; def val = 100 * Sqrt(Sqr(PFE_diff) + Sqr(PFE_length)) / sum(Sqrt(1 + Sqr(close - close[1])), PFE_length - 1); def PFE = ExpAverage(if PFE_diff > 0 then val else -val, smoothingLength); def UpperLevel = 50; def LowerLevel = -50; def condition10 = PFE > ZERoLine; #Bollinger Bands PercentB input BBPB_averageType = AverageType.Simple; input BBPB_length = 20; def Num_Dev_Dn = -2.0; def Num_Dev_up = 2.0; def upperBand = BollingerBands(price, displace, BBPB_length, Num_Dev_Dn, Num_Dev_up, BBPB_averageType).UpperBand; def lowerBand = BollingerBands(price, displace, BBPB_length, Num_Dev_Dn, Num_Dev_up, BBPB_averageType).LowerBand; def PercentB = (price - lowerBand) / (upperBand - lowerBand) * 100; def HalfLine = 50; def UnitLine = 100; def condition11 = PercentB > 50; #STARC Bands def ATR_length = 15; def SMA_lengthS = 6; def multiplier_factor = 1.25; def valS = Average(price, SMA_lengthS); def average_true_range = Average(TrueRange(high, close, low), length = ATR_length); def Upper_BandS = valS[-displace] + multiplier_factor * average_true_range[-displace]; def Middle_BandS = valS[-displace]; def Lower_BandS = valS[-displace] - multiplier_factor * average_true_range[-displace]; def condition12 = (Upper_BandS[1] <= Upper_BandS) and (Lower_BandS[1] <= Lower_BandS); #Projection Oscillator def ProjectionOsc_length = 30;#Typically 10 def MaxBound = HighestWeighted(high, ProjectionOsc_length, LinearRegressionSlope(price = high, length = ProjectionOsc_length)); def MinBound = LowestWeighted(low, ProjectionOsc_length, LinearRegressionSlope(price = low, length = ProjectionOsc_length)); def ProjectionOsc_diff = MaxBound - MinBound; def PROSC = if ProjectionOsc_diff != 0 then 100 * (close - MinBound) / ProjectionOsc_diff else 0; def PROSC_OB = 80; def PROSC_OS = 20; def condition13 = (PROSC > 50); #Trend Confirmation #Confirmation_Factor range 1-13. input Confirmation_Factor = 7; #Use for testing conditions individually. #def Agreement_Level = condition1; plot Agreement_Level = condition1 + condition2 + condition3 + condition4 + condition5 + condition6 + condition7 + condition8 + condition9 + condition10 + condition11 + condition12 + condition13; def Up = Agreement_Level >= Confirmation_Factor; def Down = Agreement_Level < Confirmation_Factor; AssignBackgroundColor(if Up then color.DARK_GREEN else if Down then color.LIGHT_RED else color.black);
@Christopher84 What exactly is the confirmation level on the watchlist telling me? I thought it was the number of confirmed candles but that didn't line up with the chart so I'm a little confused. I see the 0-13 on the chart cant wrap my head around what it means, thought it was ob/os afer looking at it but then my super column shows os but the confirm column shows 0.0 lol etremely lost :)
 
Last edited:
Can anyone suggest where to I should set my Multi at on Upper Scalper v3 when trading mes. mym and mnq. It seems good at 50 with the es but when used on mes everything is on top of each other. I switched to a 5 multi. It seems better but not sure if it is right. Please advise. Thank you
 
Can anyone suggest where to I should set my Multi at on Upper Scalper v3 when trading mes. mym and mnq. It seems good at 50 with the es but when used on mes everything is on top of each other. I switched to a 5 multi. It seems better but not sure if it is right. Please advise. Thank you
This is a note from Christopher on PAGE 1 of this thread (scroll down 3/4 of the page), under TS v9 strategy (a foundation of Scalper_v3's, I believe):

****Note that the indicator's default settings are geared for the 15 min /es chart. The "mult" (short for multiplier) setting is set to 50 to match the /es multiplier by default. This must be changed to match the asset you are trading (ie: For stocks it should be changed to 1. For the /mes and /btc it would be set to 5.).

I don't trade /mes nor /btc. The only reason I learned about the above note was because I've read Every Single post throughout All 87 pages of this thread, especially all posts by Christopher.
 
Last edited:
Hi @METAL , I only made some changes as follows:

1. PLD_Bands (in the settings): see attachments. Note: I let PLD_Bands does the colorbars painting (instead of C3_MAX_v2 => see next).

2. C3_MAX_v2 (in the code):
line 16: "coloredCandleOn"= no
line 960: comment out "AssignPriceColor..." with a # in front
*Note: After these changes, I clicked on "Save as new script" (bottom right) and named it "C3_MAX_v2_NoColorBars" (to respect the orignal code remain untouched).

3. Turn off the signal arrows within C3_MAX_v2 settings so that PLD_Bands has the exclusive right to signaling (to avoid confusions).

I don't think it's necessary to share the chart because all of Christopher's strategies and studies are all on page 1 of this thread. As you can see, I only know how to use the most basic steps to make these changes. I'm an amateur and absoltely NOT a coder at all. If I can use the "search" function withhin this forum + google in order to play with these and make changes (most importantly to fit how I interpret and understand of the indicators/strategies/studies), I'm sure anyone can do better than me. Cheers!

L55uQmy.png

kp5yWfl.png

B4VU9aG.png
Actually, this is perfect and simple changes. I just thought a chart share would be easier for you. I got it set up. Thanks for your help!
 
Actually, this is perfect and simple changes. I just thought a chart share would be easier for you. I got it set up. Thanks for your help!
Actually, after losing nearly $400,000 to the market, having been grinding 16 hours/day and 7 days/week for 18+ months, I'm finally on the right track and having seen consistent daily profit (yet I don't stop grinding hard and never stop finding ways to learn and improve, never give up). Perhaps you understand why I don't like "easy" when it comes to anything related to trading. I've never asked anyone to share their chart.

C3_MAX_v2 + other strategies/indicators given by @Christopher84 (God bless him) have provided an excellent system, but I'm sure Christopher would agree that the ULTIMATE system/indicator is the trader himself/herself. Not easy.
 
Last edited:
@Christopher84 What exactly is the confirmation level on the watchlist telling me? I thought it was the number of confirmed candles but that didn't line up with the chart so I'm a little confused. I see the 0-13 on the chart cant wrap my head around what it means, thought it was ob/os afer looking at it but then my super column shows os but the confirm column shows 0.0 lol etremely lost :)
Hi @TapthatAsk,
I had to omit a few of the studies included in the Confirmation Level calculation in order to have it function in the watchlist. It’s not an exact match, however it should be close. When Confirmation Level is at 0, that means none of the studies are indicating upward movement in price. This can be indicative of an oversold condition. Values at either the extreme low (0) or extreme high (13) tend to correspond to OS and OB conditions respectively. Remember Confirmation Level doesn’t take into account downward indications of price movement and its lowest value is 0 studies in agreement, unlike Consensus Level which utilizes negative values as well. Hope this helps!
 
I have searched the thread, maybe I missed it, is there an alert that can be sent to your phone when the MF line in C3 max changes color from red to green and vice versa?
 

Not the exact question you're looking for?

Start a new thread and receive assistance from our community.

87k+ Posts
314 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