NexusFi: Find Your Edge


Home Menu

 





VSA for ThinkorSwim


Discussion in ThinkOrSwim

Updated
      Top Posters
    1. looks_one snowcloud with 93 posts (25 thanks)
    2. looks_two StockJock with 91 posts (27 thanks)
    3. looks_3 cbritton with 37 posts (71 thanks)
    4. looks_4 swimtrader with 22 posts (19 thanks)
      Best Posters
    1. looks_one Hornblower with 2.3 thanks per post
    2. looks_two cbritton with 1.9 thanks per post
    3. looks_3 StockJock with 0.3 thanks per post
    4. looks_4 snowcloud with 0.3 thanks per post
    1. trending_up 304,359 views
    2. thumb_up 223 thanks given
    3. group 86 followers
    1. forum 434 posts
    2. attach_file 131 attachments




 
Search this Thread

VSA for ThinkorSwim

  #161 (permalink)
StockJock
Chicago + Illinois/USA
 
Posts: 256 since Aug 2010
Thanks Given: 15
Thanks Received: 154

Very interesting and very innovative.

Reply With Quote

Can you help answer these questions
from other members on NexusFi?
The space time continuum and the dynamics of a financial …
Emini and Emicro Index
New Micros: Ultra 10-Year & Ultra T-Bond -- Live Now
Treasury Notes and Bonds
Better Renko Gaps
The Elite Circle
ZombieSqueeze
Platforms and Indicators
My NT8 Volume Profile Split by Asian/Euro/Open
NinjaTrader
 

  #162 (permalink)
dqbuzz
USA
 
Posts: 11 since Sep 2010
Thanks Given: 5
Thanks Received: 1


StockJock View Post
In stead of reducing the number of signals, how about providing the option to turn some signals off for those who prefer less "noise".

First off thanks to all who have contributed to this topic. I also have been following along with this. The ability to turn off certain signals already exists in the edit studies section. If there is a certain signal you do not wish to observe go to edit studies, click on the signal you have in question, scroll down and just uncheck the show plot icon. Thanks again to all.

Reply With Quote
  #163 (permalink)
snowcloud
LA, CA
 
Posts: 93 since Jul 2010
Thanks Given: 2
Thanks Received: 25



dqbuzz View Post
The ability to turn off certain signals already exists in the edit studies section. If there is a certain signal you do not wish to observe go to edit studies, click on the signal you have in question, scroll down and just uncheck the show plot icon.

Yep, that should work for toggling the display of a symbol on or off. Thanks.

Reply With Quote
  #164 (permalink)
StockJock
Chicago + Illinois/USA
 
Posts: 256 since Aug 2010
Thanks Given: 15
Thanks Received: 154

Good point. That should take care of the extra "noise". I'm still interested in the "sensitivity" concept though. I've haven't heard of that before. Also maybe others who are silently reading this thread can contribute some input for snowcloud on his project.

Reply With Quote
  #165 (permalink)
StockJock
Chicago + Illinois/USA
 
Posts: 256 since Aug 2010
Thanks Given: 15
Thanks Received: 154

I though that I'd change the chart labels for me to be able to understand them better. Let me know if I read your abreviated labels correctly. I'm also thinking of having the trend labels to have an up color and a down color. I see the code for the short, middle and long term calculations, but its still not clear to me what the lengths of these time periods are by looking at the formulae.




 
Code
# VOLUME LABEL *************************
AddChartLabel(trendText, concat("Volume: ", if volume > sAvgVolume[0] + 2.0 * sAvgVolumeSTD then "Very High"
else if Volume[0] > (sAvgVolume[0] + 1.0 * sAvgVolumeSTD) then "High" else if (Volume[0] > sAvgVolume[0]) then "Above Average" else if (Volume[0] < sAvgVolume[0] && Volume[0] > (sAvgVolume[0] - 1.0 * sAvgVolumeSTD)) then "Below Average" else if (Volume[0] < (sAvgVolume[0] - 1.0 * sAvgVolumeSTD)) then "Low" else ""), Color.white);
# BAR SPREAD LABEL ************************* AddChartLabel(trendText, concat("Spread: ", if (spread > (avgSpread * 2.0)) then "Wide" else if (spread > avgSpread) then "Above Average" else "Narrow"), Color.white); # C_RP 20100809 added isVeryLowCloseBar and changed execution order so that both Verys and Mid execute first
# BAR CLOSE POSITION ************************* AddChartLabel(trendText, concat("Bar Close: ", if (isVeryHighCloseBar) then "Very High" else if (isVeryLowCloseBar) then "Very Low" else if (isMidCloseBar) then "Mid Bar" else if (isUpCloseBar) then "Up Bar" else if (isDownCloseBar) then "Down Bar" else "No Change"), Color.white);
# PRICE TREND ************************* AddChartLabel(trendText, concat("Trend: ", concat("Short Term ", if (ShortTermTrendSlope > 0) then "Up" else "Down")), Color.white);
AddChartLabel(trendText, concat("Middle Term ", if (MiddleTermTrendSlope > 0) then "Up" else "Down"), Color.white);
AddChartLabel(trendText, concat("Long Term ", if (LongTermTrendSlope > 0) then "Up" else "Down"), Color.white);

Reply With Quote
Thanked by:
  #166 (permalink)
snowcloud
LA, CA
 
Posts: 93 since Jul 2010
Thanks Given: 2
Thanks Received: 25


StockJock View Post
I though that I'd change the chart labels for me to be able to understand them better. Let me know if I read your abreviated labels correctly. I'm also thinking of having the trend labels to have an up color and a down color. I see the code for the short, middle and long term calculations, but its still not clear to me what the lengths of these time periods are by looking at the formulae.

 
Code
# VOLUME LABEL *************************
AddChartLabel(trendText, concat("Volume: ", if volume > sAvgVolume[0] + 2.0 * sAvgVolumeSTD then "Very High"
else if Volume[0] > (sAvgVolume[0] + 1.0 * sAvgVolumeSTD) then "High" else if (Volume[0] > sAvgVolume[0]) then "Above Average" else if (Volume[0] < sAvgVolume[0] && Volume[0] > (sAvgVolume[0] - 1.0 * sAvgVolumeSTD)) then "Below Average" else if (Volume[0] < (sAvgVolume[0] - 1.0 * sAvgVolumeSTD)) then "Low" else ""), Color.white);
# BAR SPREAD LABEL ************************* AddChartLabel(trendText, concat("Spread: ", if (spread > (avgSpread * 2.0)) then "Wide" else if (spread > avgSpread) then "Above Average" else "Narrow"), Color.white); # C_RP 20100809 added isVeryLowCloseBar and changed execution order so that both Verys and Mid execute first
# BAR CLOSE POSITION ************************* AddChartLabel(trendText, concat("Bar Close: ", if (isVeryHighCloseBar) then "Very High" else if (isVeryLowCloseBar) then "Very Low" else if (isMidCloseBar) then "Mid Bar" else if (isUpCloseBar) then "Up Bar" else if (isDownCloseBar) then "Down Bar" else "No Change"), Color.white);
# PRICE TREND ************************* AddChartLabel(trendText, concat("Trend: ", concat("Short Term ", if (ShortTermTrendSlope > 0) then "Up" else "Down")), Color.white);
AddChartLabel(trendText, concat("Middle Term ", if (MiddleTermTrendSlope > 0) then "Up" else "Down"), Color.white);
AddChartLabel(trendText, concat("Long Term ", if (LongTermTrendSlope > 0) then "Up" else "Down"), Color.white);

The only thing that stands out to me is that the Close Bar labels should say "UpCloseBar", etc. An UpBar is not necessarily an UpCloseBar, etc.

I shortened the original labels so that I could see more of the Description text without having to extend the chart across the entire screen. If you want to see the original labels, load one of cbritton's earlier versions from near the beginning of this thread. All of the originals are still there.

Reply With Quote
  #167 (permalink)
StockJock
Chicago + Illinois/USA
 
Posts: 256 since Aug 2010
Thanks Given: 15
Thanks Received: 154


snowcloud View Post
the Close Bar labels should say "UpCloseBar", etc. An UpBar is not necessarily an UpCloseBar, etc.

I don't understand. Your label says "Close". Every bar has a close; so what do you mean by a "Close Bar"? Do you mean "BarCloseUp", "BarCloseMiddle" or "BarCloseDown"?

Reply With Quote
  #168 (permalink)
snowcloud
LA, CA
 
Posts: 93 since Jul 2010
Thanks Given: 2
Thanks Received: 25


StockJock View Post
I don't understand. Your label says "Close". Every bar has a close; so what do you mean by a "Close Bar"? Do you mean "BarCloseUp", "BarCloseMiddle" or "BarCloseDown"?

You're right. Sorry, I answered in haste and erred. Here are the trend text defs from the original file:

# Trend Text Definitions
AddChartLabel(trendText, concat("Vol: ", if volume > sAvgVolume[0] + 2.0 * sAvgVolumeSTD then "Very High"
else if Volume[0] > (sAvgVolume[0] + 1.0 * sAvgVolumeSTD) then "High"
else if (Volume[0] > sAvgVolume[0]) then "Above Average"
else if (Volume[0] < sAvgVolume[0] && Volume[0] > (sAvgVolume[0] - 1.0 * sAvgVolumeSTD)) then "Less Than Average"
else if (Volume[0] < (sAvgVolume[0] - 1.0 * sAvgVolumeSTD)) then "Low"
else ""), Color.white);
AddChartLabel(trendText, concat("Spread: ", if (spread > (avgSpread * 2.0)) then "Wide"
else if (spread > avgSpread) then "Above Average"
else "Narrow"), Color.white);
AddChartLabel(trendText, concat("Close: ", if (isVeryHighCloseBar) then "Very High"
else if (isUpCloseBar) then "High"
else if (isMidCloseBar) then "Mid"
else if (isDownCloseBar) then "Down"
else "Very Low"), Color.white);
AddChartLabel(trendText, concat("Trend: ", concat("Short Term ", if (ShortTermTrendSlope > 0) then "Up"
else "Down")), Color.white);
AddChartLabel(trendText, concat("Mid Term ", if (MiddleTermTrendSlope > 0) then "Up" else "Down"), Color.white);
AddChartLabel(trendText, concat("Long Term ", if (LongTermTrendSlope > 0) then "Up" else "Down"), Color.white);

Reply With Quote
  #169 (permalink)
StockJock
Chicago + Illinois/USA
 
Posts: 256 since Aug 2010
Thanks Given: 15
Thanks Received: 154

Thanks for your reply. Sometimes abreviations get me confused until I learn them well. Anyway, I thought that I'd see what it looks like to have the trend labels change colors for their ups and downs.

 
Code
AddChartLabel(trendText, concat("Trend: ", concat("Short Term ", if (ShortTermTrendSlope > 0) then "Up" else "Down")), if (ShortTermTrendSlope > 0) then Color.green else Color.red);
AddChartLabel(trendText, concat("Mid Term ", if (MiddleTermTrendSlope > 0) then "Up" else "Down"), if (MiddleTermTrendSlope > 0) then Color.green else Color.red);
AddChartLabel(trendText, concat("Long Term ", if (LongTermTrendSlope > 0) then "Up" else "Down"), if (LongTermTrendSlope > 0) then Color.green else Color.red);
Also, I thought I'd test a differrent color for the lime green price bars, because to me lime green is too close in color to green. This way I'd add a little contrast to the price bar colors.

 
Code
AssignPriceColor( if colorBars and shortTermTrendSlope > 0 and MiddleTermTrendSlope > 0 and longtermtrendslope > 0 then CreateColor(0, 255, 0)
 else if colorBars and shortTermTrendSlope > 0 and MiddleTermTrendSlope > 0 and longtermtrendslope < 0 then Color.green else if
colorBars and shortTermTrendSlope > 0 and MiddleTermTrendSlope < 0 and longtermtrendslope < 0 then CreateColor(124, 116, 228) else if
colorBars and shortTermTrendSlope < 0 and MiddleTermTrendSlope < 0 and longtermtrendslope < 0 then Color.red else if
colorBars and shortTermTrendSlope < 0 and MiddleTermTrendSlope > 0 and longtermtrendslope > 0 then CreateColor(0, 255, 255) else if
colorBars and shortTermTrendSlope < 0 and MiddleTermTrendSlope < 0 and longtermtrendslope > 0 then color.orange
else if colorBars then Color.yellow else GetColor(7));

Reply With Quote
  #170 (permalink)
StockJock
Chicago + Illinois/USA
 
Posts: 256 since Aug 2010
Thanks Given: 15
Thanks Received: 154


I though it would be good to have chart labels for the color codes of the price bars, so I made some code for it. Unfortunaltely, the labels are kind of wide. Any suggestions on what to do to get these labels to fit the screen would be helpful.


 
Code
# SJ_PlotVolumeLabels plot Shares = Volume; Shares.SetPaintingStrategy(PaintingStrategy.HISTOGRAM); # Shares.HideTitle(); # Trend Definitions rec fiveDaysSma = compoundValue(5, Average(close, 5)[0], Double.NaN); def LongTermTrendSlope = LinearRegressionSlope(price = fiveDaysSma, length = 40)[0]; def MiddleTermTrendSlope = LinearRegressionSlope(price = fiveDaysSma, length = 15)[0]; def ShortTermTrendSlope = LinearRegressionSlope(price = fiveDaysSma, length = 5)[0]; ###### # Candle definitions Shares.AssignValueColor( if shortTermTrendSlope > 0 and MiddleTermTrendSlope > 0 and longtermtrendslope > 0 then CreateColor(0, 255, 0) else if shortTermTrendSlope > 0 and MiddleTermTrendSlope > 0 and longtermtrendslope < 0 then Color.green else if shortTermTrendSlope > 0 and MiddleTermTrendSlope < 0 and longtermtrendslope < 0 then CreateColor(124, 116, 228) else if shortTermTrendSlope < 0 and MiddleTermTrendSlope < 0 and longtermtrendslope < 0 then Color.red else if shortTermTrendSlope < 0 and MiddleTermTrendSlope > 0 and longtermtrendslope > 0 then CreateColor(0, 255, 255) else if shortTermTrendSlope < 0 and MiddleTermTrendSlope < 0 and longtermtrendslope > 0 then color.orange else GetColor(7)); AddChartLabel(Yes, "green - short term up, mid term up, long term up", color.green); AddChartLabel(Yes, "light green - short term up, mid term up, long term down", color.light_green); AddChartLabel(Yes, "lime green bar - short term up, mid term down, long term down", color.lime); AddChartLabel(Yes, "red bar - short term down, mid term down, long term down", color.red); AddChartLabel(Yes, "lime green bar - short term down, mid term up, long term up", color.lime); AddChartLabel(Yes, "orange bar - short term down, mid term down, log term up", color.orange); AddChartLabel(Yes, "yellow bar - anything not matching the above", color.yellow);

Reply With Quote





Last Updated on May 21, 2023


© 2024 NexusFi™, s.a., All Rights Reserved.
Av Ricardo J. Alfaro, Century Tower, Panama City, Panama, Ph: +507 833-9432 (Panama and Intl), +1 888-312-3001 (USA and Canada)
All information is for educational use only and is not investment advice. There is a substantial risk of loss in trading commodity futures, stocks, options and foreign exchange products. Past performance is not indicative of future results.
About Us - Contact Us - Site Rules, Acceptable Use, and Terms and Conditions - Privacy Policy - Downloads - Top
no new posts