the Supertrend is a more responsive than moving average studies. Read more about the pros cons of the Supertrends:im comparing this to the Mobius SuperTrend for example, and the signals are coming a few bars after. In the case of a short, I see myself losing money using this vs. the SuperTrend. What am I missing?
Can I turn off painted colors on candle sticks?Mr. Slim Miller was one of the original OEX pit traders at the CBOE. His website is askSLIM dot com.
This indicator is very customizable. Alerts are built in, you can use regular candles if you wish, you can turn all of the EMA's off and the color of the ribbon will still be there.
If you cannot find what you are looking for when you click the cog, open the code itself and take a look at what is there. This indicator also overrides the color of your volume bars. Lastly, this indicator is good for any timeframe without adjusting the EMA's.
Try it with a TMO or the RSI Laguerre on the bottom. Good trading, Markos.
thinkScript Code
Rich (BB code):#Mr Slim Miller at askSLIM dot com #SlimRibbonCustom_markos9-7-18 input price = close; input superfast_length = 8; input fast_length = 13; input slow_length = 21; input displace = 0; def mov_avg8 = ExpAverage(price[-displace], superfast_length); def mov_avg13 = ExpAverage(price[-displace], fast_length); def mov_avg21 = ExpAverage(price[-displace], slow_length); #moving averages Plot Superfast = mov_avg8; plot Fast = mov_avg13; plot Slow = mov_avg21; def buy = mov_avg8 > mov_avg13 and mov_avg13 > mov_avg21 and low > mov_avg8; def stopbuy = mov_avg8 <= mov_avg13; def buynow = !buy[1] and buy; def buysignal = CompoundValue(1, if buynow and !stopbuy then 1 else if buysignal[1]==1 and stopbuy then 0 else buysignal[1], 0); plot Buy_Signal = buysignal[1] == 0 and buysignal==1; Buy_signal.setpaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_UP); Buy_signal.setdefaultColor(color.dark_GREEN); Buy_signal.hidetitle(); Alert(condition = buysignal[1] == 0 and buysignal == 1, text = "Buy Signal", sound = Sound.Bell, "alert type" = Alert.BAR); plot Momentum_Down = buysignal[1] ==1 and buysignal==0; Momentum_down.setpaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_DOWN); Momentum_Down.setdefaultColor(color.yellow); Momentum_down.hidetitle(); Alert(condition = buysignal[1] == 1 and buysignal == 0, text = "Momentum_Down", sound = Sound.Bell, "alert type" = Alert.BAR); def sell = mov_avg8 < mov_avg13 and mov_avg13 < mov_avg21 and high < mov_avg8; def stopsell = mov_avg8 >= mov_avg13; def sellnow = !sell[1] and sell; def sellsignal = CompoundValue(1, if sellnow and !stopsell then 1 else if sellsignal[1]==1 and stopsell then 0 else sellsignal[1], 0); Plot Sell_Signal = sellsignal[1] ==0 and sellsignal; Sell_signal.setpaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_down); sell_signal.setDefaultColor(color.red); Sell_signal.hidetitle(); Alert(condition = sellsignal[1] == 0 and sellsignal == 1, text = "Sell Signal", sound = Sound.Bell, "alert type" = Alert.BAR); Plot Momentum_Up = sellsignal[1]==1 and sellSignal==0; Momentum_up.setpaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_up); Momentum_up.setDefaultColor(color.yellow); Momentum_up.hidetitle(); Alert(condition = sellsignal[1] == 1 and sellSignal == 0, text = "Momentum_Up", sound = Sound.Bell, "alert type" = Alert.BAR); plot Colorbars = if buysignal ==1 then 1 else if sellsignal ==1 then 2 else if buysignal ==0 or sellsignal==0 then 3 else 0; colorbars.hide(); Colorbars.definecolor("Buy_Signal_Bars", color.dark_green); Colorbars.definecolor("Sell_Signal_Bars", color.red); Colorbars.definecolor("Neutral", color.yellow); AssignPriceColor(if Colorbars ==1 then colorbars.color("buy_signal_bars") else if colorbars ==2 then colorbars.color("Sell_Signal_bars") else colorbars.color("neutral")); #end
Shareable Link
https://tos.mx/zbybTc
Delete this last line in the code "AssignPriceColor(if Colorbars ==1 then colorbars.color("buy_signal_bars") else if colorbars ==2 then colorbars.color("Sell_Signal_bars") else colorbars.color("neutral"));"Can I turn off painted colors on candle sticks?
Thank you very much for your help. It does turn off painted colors on candle sticks, but it also turns off painted volume. Is it possible to turn off painted colors and keep tainted volume?Input Candlestick_Color = no;
Assignpricecolor(if Candlestick_Color and Colorbars == 1 then Colorbars.Color("buy_signal_bars") else if Candlestick_Color and Colorbars == 2 then Colorbars.Color("Sell_Signal_bars") else if Candlestick_Color then Colorbars.Color("neutral")else color.current);
No, ToS does not allow us to modify the properties of the Assignpricecolor functionThank you very much for your help. It does turn off painted colors on candle sticks, but it also turns off painted volume. Is it possible to turn off painted colors and keep tainted volume?
Thank you very much for the information. I will look into it.No, ToS does not allow us to modify the properties of the Assignpricecolor function
Theoretically, you could write a dedicated Volume POC study and setdefaultcolor defined by Slim Ribbon
Here are examples of how to create a colored volume study:
https://usethinkscript.com/threads/volume-profile-indicator-pocs-for-thinkorswim.8153/
https://usethinkscript.com/threads/slim-ribbon-indicator-for-thinkorswim.245/page-6#post-21700Is there a scan for the Buy and Sell arrows for this?
@markos Sure. Here's the watchlist column. For the scan I just use the study and direct the scan to the Slim Beta study and then adjust settings to what I'm interested in. But the column script should also work for the scan.
Code:###############SLIM Column by easycators.com #################### #Slims Trend and Momo input price = close; input superfast_length = 8; input fast_length = 13; input slow_length = 21; input displace = 0; def mov_avg8 = ExpAverage(price[-displace], superfast_length); def mov_avg13 = ExpAverage(price[-displace], fast_length); def mov_avg21 = ExpAverage(price[-displace], slow_length); #moving averages def Superfast = mov_avg8; def Fast = mov_avg13; def Slow = mov_avg21; def buy = mov_avg8 > mov_avg13 and mov_avg13 > mov_avg21 and low > mov_avg8; def stopbuy = mov_avg8 <= mov_avg13; def buynow = !buy[1] and buy; def buysignal = CompoundValue(1, if buynow and !stopbuy then 1 else if buysignal[1]==1 and stopbuy then 0 else buysignal[1], 0); def Buy_Signal = buysignal[1] == 0 and buysignal==1; def Momentum_Down = buysignal[1] ==1 and buysignal==0; def sell = mov_avg8 < mov_avg13 and mov_avg13 < mov_avg21 and high < mov_avg8; def stopsell = mov_avg8 >= mov_avg13; def sellnow = !sell[1] and sell; def sellsignal = CompoundValue(1, if sellnow and !stopsell then 1 else if sellsignal[1]==1 and stopsell then 0 else sellsignal[1], 0); def Sell_Signal = sellsignal[1] ==0 and sellsignal; def Momentum_Up = sellsignal[1]==1 and sellSignal==0; # when using this as a custom scan, change the word plot to def # then remove the '#' from in front of one of the "plot Scan" statements below def Colorbars = if buysignal ==1 then 1 else if sellsignal ==1 then -1 else if buysignal ==0 or sellsignal==0 then 0 else 0; # use this first Scan plot for SLM Ribbon Momentum UP #plot Scan = if Colorbars == 1 then yes else no; # use this second Scan plot for SLM Ribbon Momentum DOWN #plot Scan = if Colorbars == -1 then yes else no; # use this third Scan plot for SLM Ribbon Momentum FLAT #plot Scan = if Colorbars == 0 then yes else no; plot signal = if buy_signal then 4 #else if momentum_up then 3 #else if momentum_down then 2 else if sell_signal then 1 else 0; signal.assignValueColor( if buy_signal then color.light_green else if sell_signal then color.light_red else if momentum_Up then color.dark_green else if momentum_Down then color.dark_red else color.black ); assignBackgroundColor( if buy_signal then color.light_green else if sell_signal then color.light_red else if momentum_Up then color.DARK_GREEN else if momentum_Down then color.dark_red else color.black );
P.S. Alot of problems now with "loading' that I didn't have before last week. This and other WL of my custom stuff has been effected. They tell me it may be due to some "adjustments" made in preparation for this weekends update.
This is another version of the SLIM watchlist column that indicates the current status of the indicator. Useful in different ways but what I have found is placing 2 or 3 columns together of different time frames its easy to spot what you might be looking for such as stocks in your watchlist that are in a long term uptrend but have paused shorter term.
Code:#### SLIM Current Status #### input price = close; input superfast_length = 8; input fast_length = 13; input slow_length = 21; input displace = 0; def mov_avg8 = ExpAverage(price[-displace], superfast_length); def mov_avg13 = ExpAverage(price[-displace], fast_length); def mov_avg21 = ExpAverage(price[-displace], slow_length); #moving averages def Superfast = mov_avg8; def Fast = mov_avg13; def Slow = mov_avg21; def buy = mov_avg8 > mov_avg13 and mov_avg13 > mov_avg21 and low > mov_avg8; def stopbuy = mov_avg8 <= mov_avg13; def buynow = !buy[1] and buy; def buysignal = CompoundValue(1, if buynow and !stopbuy then 1 else if buysignal[1]==1 and stopbuy then 0 else buysignal[1], 0); def Buy_Signal = buysignal[1] == 0 and buysignal==1; def Momentum_Down = buysignal[1] ==1 and buysignal==0; def sell = mov_avg8 < mov_avg13 and mov_avg13 < mov_avg21 and high < mov_avg8; def stopsell = mov_avg8 >= mov_avg13; def sellnow = !sell[1] and sell; def sellsignal = CompoundValue(1, if sellnow and !stopsell then 1 else if sellsignal[1]==1 and stopsell then 0 else sellsignal[1], 0); def Sell_Signal = sellsignal[1] ==0 and sellsignal; def Momentum_Up = sellsignal[1]==1 and sellSignal==0; # when using this as a custom scan, change the word plot to def # then remove the '#' from in front of one of the "plot Scan" statements below def Colorbars = if buysignal ==1 then 1 else if sellsignal ==1 then -1 else if buysignal ==0 or sellsignal==0 then 0 else 0; # use this first Scan plot for SLM Ribbon Momentum UP #plot Scan = if Colorbars == 1 then yes else no; # use this second Scan plot for SLM Ribbon Momentum DOWN #plot Scan = if Colorbars == -1 then yes else no; # use this third Scan plot for SLM Ribbon Momentum FLAT plot Scan = if Colorbars == 0 then yes else no; assignBackgroundColor(if Colorbars == 1 then color.GREEN else if Colorbars == -1 then color.RED else color.YELLOW); scan.setDefaultColor(color.black);
Condition | Label | Color |
---|---|---|
Momentum Arrow Up | Up | Yellow Background |
Momentum Up | Long Up | Black Background - Yellow Characters |
Buy Arrow | Buy | Green Background |
Buy Arrrow Continue | Long Buy | Black Background - Green Characters |
Momentum Arrow Down | Down | Orange Background |
Momentum Down | Short Down | Black Background - Orange Characters |
Sell Arrow | Sell | Red Background |
Sell Continue | Short Sell | Black Background - Red Characters |
is there any watchlist that just show the arrow ..
green / red / yellow
Join useThinkScript to post your question to a community of 21,000+ developers and traders.
Thread starter | Similar threads | Forum | Replies | Date |
---|---|---|---|---|
Slim Miller's Long-Term Trend Trading Chart | Indicators | 9 | ||
Donchian Trend Ribbon For ThinkOrSwim | Indicators | 18 | ||
Slimmer Ribbon Indicator for ThinkorSwim | Indicators | 20 | ||
Repaints Cup and Handle Indicator for ThinkorSwim | Indicators | 23 | ||
The Ultimate Buy and Sell Indicator for ThinkOrSwim | Indicators | 5 |
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.