Up

ErlangerQuote Frequently Asked Questions  

 

Questions

  1. I want to create a price alert like I do in QCharts but when I double click on a row nothing happens. (EQ Alert System is different).

  2. I would like to have a simple formula in a column that affects the all the cells so that when a stock is above a certain price it turns the cell green, when its below a certain price its red. How do I do that? 

  3. Is it hard to make an alert sound?

  4. All my charts are updating when I select a symbol, how can I stop that? (S/I buttons)

  5. When I use the Scanner a lot of my stocks come back with Data Not Found, what am I doing wrong? (too many symbols requested)  

  6. Is ErlangerQuote a memory hog? (No)

  7. ErlangerQuote seems really slow on my computer, how come? (not enough memory or too many symbols).  

  8. Sometimes ErlangerQuote will just stop updating my quote sheets or formulas. If I wait long enough, like 15 minutes, it will come back and start. Whats up? (Server overloaded, data restriction, etc.)

  9. What does it mean when I see bad data in my charts, or data is missing from a cell or a plugin is not working?

  10. How do I graph a study of my own on a chart? (Formula Studies/Color Studies).

  11. I want to sort a quote sheet alphabetically by net. (Sorting)

  12. How do I add color to an alert like the green and red Net colors? (Set Colors)

  13. Can you tell me how to implement a Simple Moving Average Price Crossover Alert? (Formula)

  14. Can I move or merge chart Color Studies? (Ctrl and Shift keys)

  15. I want to know how to use TheGate, Weblinks, and Pubscribe?

  16. I have seen tabs at the bottom of charts that have stock symbols and intervals in them, is that something I can use? (Yes chart tab bar, turn it on).

  17. When I log on to ErlangerQuote I sometimes find that the Help menu is missing items, like the Lessons, what happened? (tenlights server may be down or being maintained)

  18. Why are there two login screens for ErlangerQuote? (one is for us to verify you are who you say you are the other is for Quote.com)

  19. Do I need a Qfeed subscription to use ErlangerQuote? (because it uses that datafeed)

  20. What does it mean when my Quote.com login screen just seems to hang? (Feed is busy, wait or try again later)  

  21. What kind of computer system do I need to run ErlangerQuote (recommend 300-500MHz MHz, Pentium II, 256MB RAM, large monitor 17 inch)  

  22. We trade SPs, OEXs, and SPXs and want to try your program but the above mentioned indicators/formulas (and some several others not mentioned), critical to trading the "Indexes", don't seem to be a part of the program. Would you please clarify? 

  23. Sometimes I see strange behavior in my ErlangerQuote charts where they will display one interval just fine but another will be completely blank, can you explain this to me?

  24. Whats the story on multiple logins, sometimes they are allowed and other times they are not?

  25. I want to be able to access the "Island" book in ErlangerQuote, how do I do that?

 

Answers

 

I want to create a price alert like I do in QCharts but when I double click on a row nothing happens. (EQ Alert System is different).  

 

One of the things the separates ErlangerQuote from QCharts is that its alerts work differently. In QCharts you can just double click on a row and this will open the alert dialog. In ErlangerQuote you can't do this (yet) but you can set up an alert with just a few clicks. Just remember this: every alert is a formula, even if you just want to know if a stock hit its bid price (bid=50) you need to set up a formula. ErlangerQuote lets you enter the formula in a single cell so it just applies to one stock or you can put it in a column so it applies to all the stocks in a quote sheet. 

 

Alert in a Cell

To enter an alert in a cell first you need an empty cell. To insert an empty cell in a quote sheet simply right click on the location above where the column starts and select Column->Insert Empty Column. A new blank column should appear in your quote sheet, right where you clicked your mouse. Now to enter an alert in this column make sure you first have one or more stock symbols in a row in the quote sheet. Then double click on the cell that is at the intersection of the new blank column and the row that has a stock symbol. Enter a equal sign (=) and then type in your formula, it can be as simple as =Last.

 

Alert in a Column

The other way to enter alerts is in columns. In this case you right click on a column area and select Column->Insert Formula Column.  A dialog box will open up with a location for you to enter your formula for the alert. This formula will work on every stock in the quote sheet provided its a legal symbol.

 

I would like to have a simple formula in a column that affects the cells so that when a stock's Last price is above a certain value it turns the cell green, when its below a certain price its red. How do I do that? 

This is actually EXTREMELY EASY to do in ErlangerQuote, you actually do not need to even write a formula! 

 

Assume you have all your stocks you are looking at in a quote sheet, enter any 

 

=symbol >= price

 

 

ErlangerQuote seems really slow on my computer, how come? (not enough memory or too many symbols).  

 

Its not that ErlangerQuote loads down the system, rather its the number of symbols, plugins, charts and historical records that you load into ErlangerQuote that slows things down. Lets see how this works. Usually when people refer to ErlangerQuote being slow they are referring to how long it takes quote sheets and charts to display and update on the screen. This would include the updating of our plugins. Assuming you have enough memory for ErlangerQuote (see What kind of computer do I need to run ErlangerQuote) the issue of how long these updates take require some basic understanding of the Qfeed data feed. QFeed is the fastest and most modern data feet on the planet today. If you have a copy of eSignal (which uses the DBC Data feed) and QCharts or ErlangerQuote running at the same time and you request a chart update the QCharts chart will fill up almost immediately (for sure within a few seconds). The eSignal chart however will take over a minute to load. Try this with any other feed and you will get approximately the same results. The reason? QFeed and its underlying continuum DLL system compresses its quotes in a far superior manner to other feeds and it uses a more sophisticated queuing and load balancing algorithm than other feeds. One of the ways that QFeed achieves this kind of performance is by offering two kinds of data to the requesting client (you): snapshot and historical. Snapshot requests are things like last, bid, volume for the day, or for a specific time period. 

 

When you request snapshot data (via the Quote.com API function 'CreateSnapshot'), that function call returns almost instantaneously.  If you build a quotesheet in which ErlangerQuote only references snapshot data, you'll find it loads really fast.  I haven't done it for a while, but I remember loading 750-1000 symbols into a EQ quotesheet that only contained non-historical references.  It loaded pretty quick.

 

Historical data are required for your charts (obviously), but also for many formulas and for our plugins. Even the simple fields Open, High, Low and Close require historical data from QFeed. When you put a trend bar study in a quote sheet sell you are creating a request for historical data. When you add a formula like moving average to a quote sheet you are creating a historical record request. Those requests are the rub.

 

I do all my historical requests with a thread so there is no perceived slow down in the client as you add more symbols or objects that make historical requests.  Unfortunately, when each historical request is made, the function 'CreateTRecordset' is called.  This little bugger is in the Quote.com ContinuumClient api. This function will not return control back to the calling app (ErlangerQuote) for 3-4 seconds - MINIMUM!  Do the math and you'll start to understand why a quotesheet with that many symbols and historical formula columns takes a while to load.  It doesn't matter if you are requesting 100 days or 1 day of historical in your formula - it takes 3-4 seconds minimum per function call. 

 

Suppose you have a quote sheet with 100 rows with each holding a symbol. You add one column containing say the MACD Trend Bar study. You are essentially making 100 historical requests when that quote sheet loads.  This means it will take 300 to 400 seconds for control to return to ErlangerQuote and this is the minimum time you will have to wait for that data to be registered by QFeed. And even when you get your workspace loaded QFeed has not delivered all that data yet, its just queued you up and is beginning to deliver it. You have to wait longer for all the data to come back. Another way to think of this is that each historical request is the equivalent of a chart, and so 100 rows each with a plugin is like having approximately 100 charts in your quote sheet. You can imagine how this would slow things down. There is also the resources that each of these "mini charts" takes up, and that relates more to memory.

 

What I am trying to say is this: since I have no control over the API layer that requests data, it's pretty much impossible for me to improve the performance of a quotesheet load. The only person that can control that is you. You can do it by following these guides:

  1. A good number for the maximum symbols in a sheet with historical references should be under 50.  More than 100 symbols in a quote sheet that contains a Plugins and formulas with historical data requests will really slow your system down.

  2. Try and keep the size of your symbol lists (sym) that you feed to the Scanning Sheet to under 100. 

  3. Try not to put additional formulas or plugins into your scanning sheets. Let the main formula do the scanning. Once you have you scanned list, move the results to another sheet that is not constantly updating, and have your plugins in that sheet.

  4. Use the program PingPlotter to help you discover where in the chain of servers you are located and how the delays on the Internet affect your quotes. This utility shows in a chart the state of your Internet connection from ISP to destination, and even lets you sent email
    automatically to your ISP, or others when things are critically bad. Its shareware so you can try it for free.


Is ErlangerQuote a Memory Hog?


It's not that ErlangerQuote is a hog, it's that it holds its data in memory and if you put too much stock data in memory it runs out of room.

Suppose you have created a quotesheet with a very simple formula:  Ask > MOV(Close,50,0,13) - this says tell me when the stock price (ask) has gone above the 50 bar moving average on a 13 minute chart.  Looks simple and innocent.  It is. Until you stick 250 symbols in a quotesheet. Then in essence what happens when you use a formula like that and have 250 symbols in a quotesheet is you have created 250 tiny charts in memory.  This takes time to load and takes memory (as well as CPU resources) to manage.

Let's multiply this a bit more because usually you have more than one formula column in a chart.  Simple columns like "Ask", "Bid", "Net", "NetPct" - these are no brainers for ErlangerQuote and it takes minimal resources to manage them because they are snapshot data (see the FAQ ErlangerQuote seems really slow on my computer, how come? (not enough memory or too many symbols).  What really eats up memory in ErlangerQuote is when you use a formula that references historical data. Here are some examples of these 

         O, H, L, C, MA, RSI, Stochastic, MACD

 Some of the common formulas are


         RSI < 20 or RSI > 80
         Stochastic < 30 or Stochastic > 70
         Price cross over a moving average

A typical quotesheet has a few historical references.  For instance, it might have a formula to denote when a group of moving averages are crossed.  The below formula is a signal to go short.

         Close(1) < MA(Close,18,0,1) and
         Close(1) < MA(Close,27,0,1) and
         Close(1) < MA(Close,36,0,1) and
         MA(Close,9,0,1) > Low(1)

Think about this formula. It is 5 historical references * 250 stocks in a quotesheet, which is 1250 mini charts in memory.

And this is just one column.

In addition to your signals, you might want to know the sentiment of the stock - is it oversold, overbought.  Perhaps you use a RSI for this.


         RSI < 30 or RSI > 80

That's another historical reference - another 250 mini charts in memory

As you can see - it adds up.  It's enough to bring a machine to its knees if you have enough symbols and formulas.

 

How can you keep this under control? 

  1. Use the memory meter under View->Memory Stats. This will open a window that displays the number of historical records, non-historical records, Plugin Cells and Free memory left.  With no worksheet loaded the memory value tells you how many bytes of memory is left for ErlangerQuotes objects. If this number is above 25MB you can load a lot of data. But if its hovering around 5MB you are going to have problems. Either increase your memory by purchasing more physical memory or remove any programs that are loading and eating up your system RAM that you do not need. You can find this by running msconfig from the Start->Run... menu.

  2. Use multiple worksheets to get your memory eating requirements lower.

  3. Do you really need all those plugins? Can your formulas be simplified? Do you need to display RSI and RSI > 95 in the same sheet?

  4. Manage your memory better using MemTurbo. Good for preventing memory crashes, it not only frees unused memory like other such tools, but also defragments the physical RAM and flushes unused libraries and DLLs (they are reloaded if and when needed). Its shareware so you can try it for free.

 

Sometimes ErlangerQuote will just stop updating my quote sheets or formulas. If I wait long enough, like 15 minutes, it will come back and start. Whats up? (Server overloaded, data restriction, etc.)

 

One of the big reasons that data sometimes stops has to do with the way QFeed handles the large number of user requests. QFeed is made up of servers spread about the United States. There are currently about 15 different servers. You can see their names at the bottom of the screen if you have the Status bar in use (right click on the bottom pane to turn it on). When you first log on to ErlangerQuote you are connected to a particular one of these servers. Each is handling a number of users. The servers try to balance the load of users so each has about the same number. To do this it queues up users so that the first ones to arrive get their quotes first. It also examines the number of quotes being requested and tries to send the ones that are easy to send first. It is possible in this kind of arrangement for the load to become unbalanced and for a user to end up at the end of a crowded queue. In such a case quotes may seem to stop. The best way to "cure" this problem is to switch to another server. However, depending on how you started up ErlangerQuote there are two ways to do this. 

 

Changing Servers - Simple Way

 

When you first login to QCharts there is a drop down menu labeled Server under your password. This menu has a collection of server names that ErlangerQuote can connect to. However this drop down is normally set to "Default (Refresh ini)". This setting means that when ErlangerQuote logs onto the Qfeed system it will take what ever server that QFeed assigns. If this was the setting when you logged into QFeed then you can switch servers from inside the program by either typing Ctrl-Alt-N or clicking on the Change Server icon on the Misc toolbar (this looks like a small equivolume chart). Each time you click you will switch to a new server; give the feed some time to try and load the data.

 

Changing Servers - The Hard Way

 

As we mentioned the drop down Server list contains a collection of servers and you can select one of these with this drop down list. However once you do this you will NOT be able to switch servers from inside of ErlangerQuote with Ctrl-Alt-N. Instead you will have to quit the program and change the server with the drop down menu OR select Default (Refresh ini) and change servers in the program. In order to change servers you would restart ErlangerQuote with the Control Key held down. You will first get the ErlangerQuote login. Uncheck the Autologin box if its checked. Continuing to hold down the Control key you will get the Quote.com login dialog. Uncheck the Autologin check box. Now you can let go of the Control key and select a different server from the drop down list. Once you have selected a new server the program will continue to load as soon as you click the OK button.

 

If you wish to confirm at any time if there is a server problem try opening QCharts (it is free so why not use it now and then) and see if there is a faster server. You can switch servers in QCharts with Ctrl-Alt-N.

 

What does it mean when I see bad data in my charts, or data is missing from a particular cell, or a plugin is not working?

 

In order to figure out why you are getting bad or no data you need to figure out where the problem is in the entire chain of events from when a quote is first sent out from an Exchange, to when it arrives at ErlangerQuote and is displayed on the screen. The basic rule of charting programs that display data from a source is Garbage In equals Garbage Out or GIGO. If the data we try to display is corrupted, late, wrong or missing, there is nothing ErlangerQuote can do to improve that situation. Look at this diagram:

 

Trade/Bid/Ask/Correction--->Exchange--->Comstock--->QFeed--->Internet--->ErlangerQuote-->YOU ARE HERE

                                                                                                 |                                       |

                                                                                         Lycos/Quote.com                   Tenlights.com

 

Here is how this works. (1) On the Exchange floor some kind of transaction occurs, a trade, bid, ask or correction for a particular security. This is converted to a piece of paper, then transcribed into a book, rushed off as an email to a central location, assembled into a packet, and sent to numerous stock data integrators, like Comstock. (2) Comstock merges data from various exchanges, puts in its own data, then sells it to large volume sellers such brokerages, web portals, and so on. (3) Quote.com is one such reseller which takes Comstock and a great deal of other data, merges it into their special super compressed format, spreads it out to their high speed server farm, and resells it in the retail market as QFeed. ErlangerQuote is a software product that allows users of the QFeed data to chart and follow securities visually.

 

How could your chart be missing data, or have bad data? Well imagine that the original trade gets sent okay to Comstock but Comstock messes it up and somehow drops the data or runs out of room on its own pipe to Quote.com? What will happen is that bad data will prorogate right down the line to the right until it hits ErlangerQuote and you will see a big hole in your chart. Or a quote will be missing. At this point the data is on the QFeed servers and must be scrubbed by Quote.com before it can be displayed properly. At this point ErlangerQuote or Tenlights can't do much except point out the bad data to Quote.com and ask them to fix it. Given that in any given day there are billions of quotes traveling on the internet, its easy to imagine lots of bad data from various sources, and even easier to imagine that it is no small task to constantly update the data servers that hold this bad data. Not a job to envy.

 

Regardless we need our data clean. The way to get bad ErlangerQuote data fixed is not by telling us about it but by sending a message with all the details about the bad data to Quote.com at data@quote.com. That will go directly to the person in charge of correcting bad data on the servers. They might not fix it just when you want them to and you may not like the speed at which they fix it, but they generally will fix it if they can. You can also monitor the QCharts mailing list at qcharts@egroups.com and the QCharts group at Silicon Investor (www.siliconinvestor.com) to see the people in charge of correcting the data.

 

One way to avoid problems like this is to subscribe to more than one data feed . Usually where one is weak the other will be strong and vice versa.

 

We trade SPs, OEXs, and SPXs and want to try your program but the above mentioned indicators/formulas (and some several others not mentioned), critical to trading the "Indexes", don't seem to be a part of the program. Would you please clarify? 

 

We definitely allow trading the indexes. See http://www.quote.com/quotecom/qcharts/help.asp?option=index for the complete list. Here is a small sample of what is available:

 

Broad Market Index Description Symbol
Dow Jones Industrial Average (sm) INDEX:INDU
Dow Jones Industrial Average (sm) INDEX:DJI
Dow Jones Transportation Average INDEX:TRAN
Dow Jones Transportation Average INDEX:DJT
Dow Jones Utilities Average INDEX:UTIL
Dow Jones Utilities Average INDEX:DJU
Dow Jones Industrial issues up - issues down INDEX:TIKI
Dow Jones Composite Average (sm) INDEX:COMP
Dow Jones Composite Average (sm) INDEX:DJC
Dow Jones Industrial Average (CBOE) INDEX:DJX.X
Dow Jones Transportation Average (CBOE) INDEX:DTX.X
Dow Jones Utility Average (CBOE) INDEX:DUX.X
Major Market Index INDEX:MMX
Major Market Index (AMEX) INDEX:XMI.X
Market Volatility Index (CBOE) INDEX:VIX.X
Morgan Stanley Consumer Index (AMEX) INDEX:CMR.X
Morgan Stanley Cyclical Index (AMEX) INDEX:CYC.X
NASDAQ Composite Index INDEX:COMPX
Composite for Natl. Mrkt. System INDEX:NCMPX
NASDAQ Industrial Index INDEX:INDSX
NASDAQ Total Volume INDEX:TVOL.NQ
NASDAQ Unchanged Issues INDEX:UNCQ
NASDAQ-100 Index (CBOE) INDEX:NDX.X
National Over-The-Counter Sector Index (PHLX) INDEX:XOC.X

 

I want to be able to access the "Island" book in ErlangerQuote, how do I do that?

 

Go into App Preferences... and make sure the checkbox "Hide Island (ISLD) Lock" is unchecked. If you open a Level II window a small box will appear in the upper right corner of the title bar with the words ISLD in it. If the box is gray it is off and you are not connected to the Island ECN. Click on the box to turn it green in which case you are connected to the Island ECN. If you are displaying a Level II quote sheet (File->New-Level II or Ctrl-L) when you turn off the ISLD lock (box is green) the stock symbol will be preceded with ISLD:, for example ISLD:CSCO. The Level II display will also sow the words {Island Book} in the title bar after the name of the stock, e.g. ISLD:CSCO {Island Book}. The ISLD lock is also on charts and has the same affect, turning it off, green, will only display the chart on the Island ECN. Also with Level II sheet open you can just type ISLD:Stockname at any time and you will get just the Island bid and ask, e.g. ISLD:CSCO only displays the Island values. Note that when you are displaying the Island Level II Display the MarketMakers ID column (called MMID), which normally holds the Market Markers abbreviations, is filled with ID numbers representing actual Island participants at those prices.