Quote from Bernoulli:
EdgeHunter-
Very impressive. Some time ago I tried to do something similar within excel (with DDE) but could only use about 60 S&P stocks (which is more than 50% of the total market cap) before excel would consume nearly all my cpu cycles. Needless to say, I abandoned excel and dde.
What data source do you use to feed Sierra charts (or Excel)?
What do you use to transfer data between the apps?
Q1) What DDE feed do we use to get stock data into Excel 2007
I tried various DDE sources over last 3 years...
eSignal - Accurate DDE stock data but crushed my CPU
DTN - Inaccurate DDE stock data and was bit of a drain on my CPU...
MarketFeed - Accurate DDE stock data and quite light on my CPU but they terminated my account when they found i was pulling all the data from all 500 symbols THAT I HAD PAID FOR because i was using too much bandwidth... !!! ???... they did not expect me to use all 500 symbols...
Now using...
Equis - MetaStock - QuoteCenter using Reuters' DDE feed... for 500 symbols... all 500 symbols... of sp500... Accurate stock data and Works like a charm... very low CPU cost due to array links... and Incredible DDE field choices to build custom indicators galore...
Besides basics like Last, net, Volume, they also have Beta, vWap, Money Flow, MAvgs, High Lows, and on and on, quite a number that Reuters supplies you with in their Metastock Equis subscription to their QuoteCenter product...
I use NeoTicker and DTN for futures charting (DTN futures are great) but QuoteCenter for news and DDE... and MetaStock 10.1 only for EOD and Daily Stock Scans via custom explorer creations...
Q2) What do we use to transfer data between two apps (Excel and Sierra Charts)
We use a VBA timer in Excel VB module that pops every two seconds throughout the day which calls a function that SUMs data inside specific cells ranges... to create specific custom indicators to chart in Sierra Charts.
myFastAvg = WorksheetFunction.Sum(Range("B1", "B500")) / 500
myFastAdd = WorksheetFunction.Sum(Range("C1", "C500"))
myFastVol = WorksheetFunction.Sum(Range("E1", "E500"))
myFastVolSum = WorksheetFunction.Sum(Range("D1", "D500"))
myFastTick = WorksheetFunction.Sum(Range("F1", "F500"))
and then hold that data in a dimmed variable and then throw that directly into the file structure of Sierra Charts intra day files... (their .mnd file structure)... which they say (Sierra Charts support) you can only do with the C language but we were able to do it with VBA language and custom type creations.
http://www.sierrachart.com/index.php?file=doc_IntradayDataFileFormat.html
once the data is in the .mnd file and that chart that pulls from that .mnd file is open in Sierra Charts then Sierra Charts polls it to chart any new data every n-seconds (not sure)... so that is taken care of by them...
HTHs
edge...