StockFetcher Forums · General Discussion · Is there any way to suppress chart legend << >>Post Follow-up
styliten
56 posts
msg #153769
Ignore styliten
modified
8/27/2020 6:27:02 PM

Sometimes, for whatever reason, I like to draw horizontal price lines as reference price points. For example:

=========================================================

dow 30
chart-time is 30

draw price line at ma(15)
draw price line at ma(15) multiply by 1.00500
draw price line at ma(15) multiply by 1.00475
draw price line at ma(15) multiply by 1.00450
draw price line at ma(15) multiply by 1.00425
draw price line at ma(15) multiply by 1.00400
draw price line at ma(15) multiply by 1.00375
draw price line at ma(15) multiply by 1.00350
draw price line at ma(15) multiply by 1.00325
draw price line at ma(15) multiply by 1.00300
draw price line at ma(15) multiply by 1.00275
draw price line at ma(15) multiply by 1.00250
draw price line at ma(15) multiply by 1.00225
draw price line at ma(15) multiply by 1.00200
draw price line at ma(15) multiply by 1.00175
draw price line at ma(15) multiply by 1.00150
draw price line at ma(15) multiply by 1.00125
draw price line at ma(15) multiply by 1.00100
draw price line at ma(15) multiply by 1.00075
draw price line at ma(15) multiply by 1.00050
draw price line at ma(15) multiply by 1.00025
draw price line at ma(15) multiply by 0.99975
draw price line at ma(15) multiply by 0.99950
draw price line at ma(15) multiply by 0.99925
draw price line at ma(15) multiply by 0.99900
draw price line at ma(15) multiply by 0.99875
draw price line at ma(15) multiply by 0.99850
draw price line at ma(15) multiply by 0.99825
draw price line at ma(15) multiply by 0.99800
draw price line at ma(15) multiply by 0.99775
draw price line at ma(15) multiply by 0.99750
draw price line at ma(15) multiply by 0.99725
draw price line at ma(15) multiply by 0.99700
draw price line at ma(15) multiply by 0.99675
draw price line at ma(15) multiply by 0.99650
draw price line at ma(15) multiply by 0.99625
draw price line at ma(15) multiply by 0.99600
draw price line at ma(15) multiply by 0.99575
draw price line at ma(15) multiply by 0.99550
draw price line at ma(15) multiply by 0.99525
draw price line at ma(15) multiply by 0.99500

=========================================================

These lines are 0.025% apart from each other centering on MA(15) so they could appear as one price band with no spaces in between. Because of that, the legend took way too much space on the chart. Is there any way to suppress chart-legend at all?

Any other suggestions to accomplish the same end result if legend suppression is not possible at this moment?

nibor100
610 posts
msg #153774
Ignore nibor100
8/28/2020 2:49:03 AM

If those legends are taking up too much space vertically as in overlapping the volume and other subcharts just widen your main price chart so all of the legends are in it.

If those legends are taking up too much space horizontally make some set variables with short names for your ma(15) calculations and line draw those variables.

I don't know of any way to get rid of legends in SF
Ed S.

styliten
56 posts
msg #153786
Ignore styliten
modified
8/28/2020 5:50:04 PM

Thank you Ed.

I've been thinking about another possible enhancement/feature request specifically for drawing HORIZONTAL price lines such as:

draw price line at ma13, etc. where ma13 would be a user variable defined as:

set{ma13, ma(13}

With these user defined variables, would it be nice to add the feature

PlotWeight{ma13, 0.001}

This weight dictates the thickness of this line on the chart, so that 0.001 would be 0.1% of the chart's height. This way, if someone wants to draw another horizontal line for MA5 at 0.003 thickness level, the 2 would appear distinctively on the chart because 0.003 is exactly 3 times as thick as 0.001!

(Would be super nice if PlotColor{ma13, blue} is also added to one's arsenal!)

Is this possible to do? Easy to implement?

nibor100
610 posts
msg #153788
Ignore nibor100
8/28/2020 6:18:46 PM

It is nice to have dreams/wish list but in the 3+ years I've used SF I know of only 1 feature addition and 2 major elements discontinued.

My belief is their programming staff is minimal and operates in a maintenance/help mode only.

My wish is that a consortium of SF users buy the company/software rights, hire a few programmers, maybe raise the fee by \$5 and really start to make lots of improvements some of which would probably be very, very easy to do.

Still for the price, the data, and the features, SF is quite a remarkable product!

Ed S.

styliten
56 posts
msg #153795
Ignore styliten
modified
8/29/2020 2:12:10 PM

Ed,

Your observation is probably 100% correct; I often wondered myself where did all those prior active users/forum participants go (after making and pocketing their millions in trading profits? Maybe they have all retired to a beach somewhere out of this world)

In the last 3 years or so, I've finally embraced the idea of: SEE MORE; JUDGE LESS. I moved away from the idea of searching for the killer filter altogether; instead, I eyeball every ticker symbol that moves up more than 3.5% during the day (along with a few minimal constraints on avg volume, avg close, min market cap, etc. ) in order not to miss any possible opportunity.

In order to do just that, I used "dow 30" as if it's a real lab to test any ideas that came to me. But it was only during COVID-19 era did I realize the importance of selecting/using horizontal lines as "reference prices". In reality, it's probably a lazy person's visualization and back-testing rolled into one.

But I am not yet willing to "buy SF" from its current owner. Despite a few shortcomings, SF meets 95%+ of ALL my needs for trading and charting. Here is a somewhat simplified illustration, but it gives me the clear indication of where each of the Dow 30 stocks stands on any given day (the weekly view is even better.)

Fetcher[dow 30
chart-time is 36 days /* 1/7 of the assumed 252 trading days per trading year*/

/* Draw EMAs on price plot */

draw ema(3)
draw ema(6)
draw ema(10)
draw ema(15)
draw ema(22)
draw ema(32)
draw ema(45)

/* Draw Horizontal Reference Price Lines */

draw price line at ema(3) 1 day ago
draw price line at ma(3) 1 day ago
draw price line at ema(4) 1 day ago
draw price line at ma(4) 1 day ago

draw price line at ema(3) 3 days ago
draw price line at ma(3) 3 days ago
draw price line at ema(4) 3 days ago
draw price line at ma(4) 3 days ago
]

Cheese
942 posts
msg #153797
Ignore Cheese
8/29/2020 2:44:58 PM

@styliten
You are in good company.
In later years of his stay at sF, TheRumpledOne was a big advocate of straight lines
as opposed to what he called the squiggly lines of many indicators.

styliten
56 posts
msg #153936
Ignore styliten
modified
9/5/2020 11:21:14 AM

@Cheese

Here is another one with horizontal reference price line:

Fetcher[dow 30
chart-time is 20 days

and draw MA Envelope(13, 0.1)
and draw MA Envelope(3, 0.2)
and draw MA Envelope(50, 0.05)
and draw MA Envelope(200, 0.05) /*sorted for this particular color coding */

set{ma51, ma(5) multiply by 0.1}
set{ma52, ma(5) multiply by 0.2}
set{ma53, ma(5) multiply by 0.3}
set{ma54, ma(5) multiply by 0.4}
set{ma55, ma(5) multiply by 0.5}
set{ma56, ma(5) multiply by 0.6}
set{ma57, ma(5) multiply by 0.7}
set{ma58, ma(5) multiply by 0.8}
set{ma59, ma(5) multiply by 0.9}

set{ema51, ema(5) multiply by 0.1}
set{ema52, ema(5) multiply by 0.2}
set{ema53, ema(5) multiply by 0.3}
set{ema54, ema(5) multiply by 0.4}
set{ema55, ema(5) multiply by 0.5}
set{ema56, ema(5) multiply by 0.6}
set{ema57, ema(5) multiply by 0.7}
set{ema58, ema(5) multiply by 0.8}
set{ema59, ema(5) multiply by 0.9}

and draw price line at ma51 add to ema59
and draw price line at ma52 add to ema58
and draw price line at ma53 add to ema57
and draw price line at ma54 add to ema56
and draw price line at ma55 add to ema55
and draw price line at ma56 add to ema54
and draw price line at ma57 add to ema53
and draw price line at ma58 add to ema52
and draw price line at ma59 add to ema51
]

 Cheese942 postsmsg #153937- Ignore Cheese 9/5/2020 12:45:37 PM@styliten Very interesting, sty Thank you for sharing.
styliten
56 posts
msg #153944
Ignore styliten
modified
9/6/2020 12:17:46 PM

@Cheese

Thanks. Only wish there is a way to easily control thickness level of these horizontal price lines, much the same way as "draw ma/ema envelopes" on the chart.

These horizontal lines constantly remind users whether the underlying stocks range bound or not. cf:

Fetcher[dow 30

/*Draw horizontal price band between MA(5) 1 day ago and 2 days ago*/
set{m51, cema(ma(5) 1 day ago multiply by 0.1, 1) add to cema(ma(5) 2 days ago multiply by 0.9, 1)}
set{m52, cema(ma(5) 1 day ago multiply by 0.2, 1) add to cema(ma(5) 2 days ago multiply by 0.8, 1)}
set{m53, cema(ma(5) 1 day ago multiply by 0.3, 1) add to cema(ma(5) 2 days ago multiply by 0.7, 1)}
set{m54, cema(ma(5) 1 day ago multiply by 0.4, 1) add to cema(ma(5) 2 days ago multiply by 0.6, 1)}
set{m55, cema(ma(5) 1 day ago multiply by 0.5, 1) add to cema(ma(5) 2 days ago multiply by 0.5, 1)}
set{m56, cema(ma(5) 1 day ago multiply by 0.6, 1) add to cema(ma(5) 2 days ago multiply by 0.4, 1)}
set{m57, cema(ma(5) 1 day ago multiply by 0.7, 1) add to cema(ma(5) 2 days ago multiply by 0.3, 1)}
set{m58, cema(ma(5) 1 day ago multiply by 0.8, 1) add to cema(ma(5) 2 days ago multiply by 0.2, 1)}
set{m59, cema(ma(5) 1 day ago multiply by 0.9, 1) add to cema(ma(5) 2 days ago multiply by 0.1, 1)}

and draw price line at ma(5) 1 day ago
and draw price line at m51
and draw price line at m52
and draw price line at m53
and draw price line at m54
and draw price line at m55
and draw price line at m56
and draw price line at m57
and draw price line at m58
and draw price line at m59
and draw price line at ma(5) 2 days ago

/*Draw horizontal price band between MA(20) 1 day ago and 2 days ago*/
set{m201, cema(ma(20) 1 day ago multiply by 0.1, 1) add to cema(ma(20) 2 days ago multiply by 0.9, 1)}
set{m202, cema(ma(20) 1 day ago multiply by 0.2, 1) add to cema(ma(20) 2 days ago multiply by 0.8, 1)}
set{m203, cema(ma(20) 1 day ago multiply by 0.3, 1) add to cema(ma(20) 2 days ago multiply by 0.7, 1)}
set{m204, cema(ma(20) 1 day ago multiply by 0.4, 1) add to cema(ma(20) 2 days ago multiply by 0.6, 1)}
set{m205, cema(ma(20) 1 day ago multiply by 0.5, 1) add to cema(ma(20) 2 days ago multiply by 0.5, 1)}
set{m206, cema(ma(20) 1 day ago multiply by 0.6, 1) add to cema(ma(20) 2 days ago multiply by 0.4, 1)}
set{m207, cema(ma(20) 1 day ago multiply by 0.7, 1) add to cema(ma(20) 2 days ago multiply by 0.3, 1)}
set{m208, cema(ma(20) 1 day ago multiply by 0.8, 1) add to cema(ma(20) 2 days ago multiply by 0.2, 1)}
set{m209, cema(ma(20) 1 day ago multiply by 0.9, 1) add to cema(ma(20) 2 days ago multiply by 0.1, 1)}

and draw price line at ma(20) 1 day ago
and draw price line at m201
and draw price line at m202
and draw price line at m203
and draw price line at m204
and draw price line at m205
and draw price line at m206
and draw price line at m207
and draw price line at m208
and draw price line at m209
and draw price line at ma(20) 2 days ago

/*Draw horizontal price band between MA(100) 1 day ago and 5 days ago*/
set{m1001, cema(ma(100) 1 day ago multiply by 0.1, 1) add to cema(ma(100) 5 days ago multiply by 0.9, 1)}
set{m1002, cema(ma(100) 1 day ago multiply by 0.2, 1) add to cema(ma(100) 5 days ago multiply by 0.8, 1)}
set{m1003, cema(ma(100) 1 day ago multiply by 0.3, 1) add to cema(ma(100) 5 days ago multiply by 0.7, 1)}
set{m1004, cema(ma(100) 1 day ago multiply by 0.4, 1) add to cema(ma(100) 5 days ago multiply by 0.6, 1)}
set{m1005, cema(ma(100) 1 day ago multiply by 0.5, 1) add to cema(ma(100) 5 days ago multiply by 0.5, 1)}
set{m1006, cema(ma(100) 1 day ago multiply by 0.6, 1) add to cema(ma(100) 5 days ago multiply by 0.4, 1)}
set{m1007, cema(ma(100) 1 day ago multiply by 0.7, 1) add to cema(ma(100) 5 days ago multiply by 0.3, 1)}
set{m1008, cema(ma(100) 1 day ago multiply by 0.8, 1) add to cema(ma(100) 5 days ago multiply by 0.2, 1)}
set{m1009, cema(ma(100) 1 day ago multiply by 0.9, 1) add to cema(ma(100) 5 days ago multiply by 0.1, 1)}

and draw price line at ma(100) 1 day ago
and draw price line at m1001
and draw price line at m1002
and draw price line at m1003
and draw price line at m1004
and draw price line at m1005
and draw price line at m1006
and draw price line at m1007
and draw price line at m1008
and draw price line at m1009
and draw price line at ma(100) 5 days ago
]

Wouldn't it be super nice if a single line of "Draw price envelope at ma(20, 0.5, 21, 0.5)" could replace a section of codes above?

a. PlotWeight{user_variable, value} /*value is between 0.0001 to 1.0000, which is the ratio between line thickness and the entire plot height.*/

This has the benefit of UNIFORM thickness across all tickers, regardless of the volatility

b. PlotColor{user_variable, ColorName} /*Color name can be limited to just a few colors: Red, Blue, Pink, Orange, Black, Green, etc.*/

A total of 10 to 12 color names is sufficient to distinguish between different horizontal lines so the meaning could be instantaneously apparent. Visual clues have their maximum effect/impact when their significance is immediately understood WITHOUT laborious study. Stockchart.com, by contrast, offers exactly 12 color names in their color drop down box. This total # of color choice is not only reasonable but also highly practical, imho!

Cheese
942 posts
msg #153950
Ignore Cheese
modified
9/6/2020 6:10:11 PM

@styliten

I'm not too particular about more formatting capability.

What I really like about your FILTER #1 is that you've found a VERY CLEVER way
to make support and resistance move DYNAMICALLY with date offset.

THANK YOU for sharing FILTER #1.
I still have to do more study of your filters #2 and #3

 StockFetcher Forums · General Discussion · Is there any way to suppress chart legend << >>Post Follow-up

*** Disclaimer *** StockFetcher.com does not endorse or suggest any of the securities which are returned in any of the searches or filters. They are provided purely for informational and research purposes. StockFetcher.com does not recommend particular securities. StockFetcher.com, Vestyl Software, L.L.C. and involved content providers shall not be liable for any errors or delays in the content, or for any actions taken based on the content.