Rob - Sorry, my fault. I got your e-mails and wanted to write a detailed response on what you asked plus a little more, but had to address some commitments that I made to present to two investment clubs.
Here's the short version. 1. It sounds like you got ZoomSync to work in your situation. ZoomSync was never a perfect solution but worked well enough for most cases. There were a couple of follow-on versions (that I didn't post) for real-time that put a limit on the sync frequency to minimize load. 2. In addition to other things, I've been off building up some specific subscription content for AmibrokerU. We are driving to open up the subscription area. One of the things that I'm starting is a video series on debugging and performance. I view both topics as "inevitable" for almost all users at any level. I've also got a some free code routines that I just need to find time to write up. BTW, I thought that the answer that you gave pipadder about arrays and performance was very good. Tomasz's optimizations of the array logic really changes the performance equation in favor of just using arrays instead of more complex conditionals and looping. That being said, when you start talking about 100,000+ bars, there are a couple of additional techniques that I've found are worthwhile. But, as you said, it is much better to get things working, then worry about it. -- Bruce --- In [email protected], "Rob" <sidharth...@...> wrote: > > Bruce, > > Not sure if you got my e-mails of last week...? > > Question... what's the latest on AmiBroker University...? > > Yours > > Rob > > --- In [email protected], "Bruce" <brucer@> wrote: > > > > Droskill - > > > > I was lumping together a couple of monthly biases. I'm a little pressed > > for time, but let me see if I can offer some info. For market indexes > > - > > > > * There is the well-documented end of month effect that you referred > > to > > > > * There is a positive bias to certain months in year 1, 3, and 4 of > > the presidential cycle > > For rotational systems - > > > > * Many monthly systems with intermediate holding periods will perform > > better if the rotation is done after the first trading day of a month - > > this can be a little counterintuitive > > > > * Some trading systems show improvement when waiting till the next > > Friday > > I, and others, could theorize about why, but it is difficult, if not > > impossible, to prove cause and effect. So, my testing has mainly > > focused on proving these biases to be robust. > > > > Lastly, if you want to consider sectors and monthly bias, and also see a > > little bit of a conundrum about whether something is "too optimized" or > > not, you might take a look at the system behind the following links - > > > > http://www.cxoadvisory.com/blog/reviews/blog1-07-10/ > > http://www.optionetics.com/market/articles/18343 > > > > -- BruceR > > > > > > --- In [email protected], "droskill" <droskill@> wrote: > > > > > > When you say "strong monthly bias" are you referring to the > > End-of-month/beginning-of-month bias? I'm also curious what you mean by > > Friday bias if you feel like sharing. > > > > > > Thanks again! > > > > > > --- In [email protected], "Bruce" brucer@ wrote: > > > > > > > > You're welcome and glad that you found it useful. I use rotational > > systems quite a bit in my investing and in some work that I do for a > > couple of money managers. FWIW, I've found reasonably strong monthly > > bias and also Friday bias that improves many systems, and that I monitor > > in an ongoing basis. I've also gotten a few requests through AmiBrokerU > > about rotational techniques. So, I'll try to post some more about it. > > > > > > > > -- BruceR > > > > > > > > --- In [email protected], "droskill" <droskill@> wrote: > > > > > > > > > > Bruce - just wanted to thank you for the PeriodSig function - > > fantastic and something I've needed for some time. > > > > > > > > > > --- In [email protected], "Bruce" <brucer@> wrote: > > > > > > > > > > > > I'm buried in some end of the year paperwork right now, but let > > me offer a couple of quick comments. > > > > > > > > > > > > 1. The dropdown list of names is in the expanded version that I > > plan to put in the subscriber area along with some other functions > > related to portfolio mixes, such as percentage allocations, re-balance > > intervals, etc. My long-term intent is really to offer "starter" > > examples in the FREE CODE area that users can expand on. We want to > > concentrate on breadth of topics there. > > > > > > > > > > > > 2. One simple tip that might help deal with WL numbers in many > > places is to name your watchlist to their number plus that name. That > > will make the numbers easier to find in a long list of names in the > > watchlist tree. For example, my watchlist 13 is named "13 - Select". > > > > > > > > > > > > 3. Lastly, the ATC should be going into Group 253 since > > atcFlagDefaults was used in the ATC call in the example that I posted. > > I may have misread your note, but it seemed to say that you believe are > > seeing it in the watchlist. As far as what the ATC is named, you can > > use the name instead of the number by changing the AddtoComposite > > statement to the following - > > > > > > > > > > > > AddToComposite( Lavg, "~ListAvg_" + CategoryGetName( > > categoryWatchlist, wlnum ), > > > > > > "X", atcFlagDefaults + atcFlagEnableInIndicator ); > > > > > > > > > > > > > > > > > > -- BruceR > > > > > > > > > > > > > > > > > > --- In [email protected], furinkazaan <furinkazaan@> > > wrote: > > > > > > > > > > > > > > Bruce, I notice that the parameters use a WLNUMfor a watch > > list number. > > > > > > > Since I intend to run this on many sectoral watchlists, I > > wonder if we can > > > > > > > show the 'Watchlist Name' instead of/ in addition to WL NUM? > > Can the > > > > > > > Parameters dialog be coded to offer a drop-down list of all > > watchlists to > > > > > > > the current market? Can the LAVG be defined to show "~ListAVg" > > + Watchlist > > > > > > > Name? > > > > > > > > > > > > > > while its fantastic that each atc is written ijnto the > > watchlist folder for > > > > > > > which it is computed, if I got them all into 1 group to check, > > say relative > > > > > > > performance, then I'd have trouble identifying eact atc by > > just the WL Num. > > > > > > > > > > > > > > can you help? Best wishes for a great year ahead! > > > > > > > > > > > > > > > > > > > > > 2009/12/11 furinkazaan <furinkazaan@> > > > > > > > > > > > > > > > Thanks very much Bruce. I intend to set this up over the > > weekend. I'll > > > > > > > > report progress. > > > > > > > > > > > > > > > > 2009/12/9 Rick Osborn <ricko@> > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > >> > > > > > > > >> > > > > > > > >> changed the AA range and ran a dummy scan. That did the > > trick > > > > > > > >> Thanks > > > > > > > >> > > > > > > > >> > > > > > > > >> ------------------------------ > > > > > > > >> *From:* Bruce <brucer@> > > > > > > > >> *To:* [email protected] > > > > > > > >> *Sent:* Tue, December 8, 2009 8:16:46 PM > > > > > > > >> > > > > > > > >> *Subject:* [amibroker] Re: AmibrokerU Update > > > > > > > >> > > > > > > > >> > > > > > > > >> > > > > > > > >> Rick - > > > > > > > >> > > > > > > > >> > > > > > > > >> Not much info, so I can't be sure. A SWAG would be to check > > the From/To > > > > > > > >> range in the AA window. As I noted in the original article, > > I used the > > > > > > > >> existing AA user interface as an easy way to control the > > range. If that is > > > > > > > >> it, you can change the AA range and run a dummy scan to > > "set it". Or, you > > > > > > > >> might want to look at the ListAvg AFL code for a comment > > that notes that a > > > > > > > >> variable called "bir" can be set to 1 to use all bars by > > default. > > > > > > > >> > > > > > > > >> -- Bruce > > > > > > > >> > > > > > > > >> --- In amibro...@yahoogrou ps.com > > <amibroker%40yahoogroups.com>, Rick > > > > > > > >> Osborn <ricko@> wrote: > > > > > > > >> > > > > > > > > >> > Bruce > > > > > > > >> > All the values in all the watchlists are 1000. > > > > > > > >> > What am I doing wrong? > > > > > > > >> > > > > > > > > >> > > > > > > > > >> > > > > > > > > >> > > > > > > > > >> > > > > > > > > >> > ____________ _________ _________ __ > > > > > > > >> > From: Bruce <brucer@> > > > > > > > >> > To: amibro...@yahoogrou ps.com > > <amibroker%40yahoogroups.com> > > > > > > > >> > > > > > > > >> > Sent: Tue, December 8, 2009 2:28:20 PM > > > > > > > >> > Subject: [amibroker] Re: AmibrokerU Update > > > > > > > >> > > > > > > > > >> > > > > > > > > >> > Sure, I'll give a (hopefully) useful example. And, I'll > > try to do more > > > > > > > >> > of this, where possible, in the future. In order to > > facilitate this, > > > > > > > >> > though, it is best to use a Chart Template, Complete file > > and record a > > > > > > > >> > generic procedure for how to use it. Rather than > > introduce that now, > > > > > > > >> > I'll walk you through a manual install. > > > > > > > >> > > > > > > > > >> > So, download the ListAvg.afl file to your include > > directory. If you > > > > > > > >> > have done a stock install, it will be at C:\Program > > > > > > > >> > Files\Amibroker\ Formulas\ Include. You can verify this > > by selecting the > > > > > > > >> > Tools / Preferences menu and then the AFL tab. The > > standard include > > > > > > > >> > path will be the first Pick button. > > > > > > > >> > > > > > > > > >> > Now, take the following code and either save it in your > > Custom formulas > > > > > > > >> > directory, or enter it into the code editor. The editor > > can be launched > > > > > > > >> > from the Analysis / Formula Editor menu. > > > > > > > >> > > > > > > > > >> > Once it is copied into the editor, you can use the Tools > > / Insert Chart > > > > > > > >> > menu to get a chart. > > > > > > > >> > > > > > > > > >> > This indicator uses parameters to select a watchlist to > > perform the > > > > > > > >> > ListAvg on. Right click on the chart and select > > parameters.. You will > > > > > > > >> > need to enter a watchlist number. When ready, click the > > Calculate > > > > > > > >> > parameter button to perform the calculation. Since this > > can be lengthy, > > > > > > > >> > it is only done on user action. But, it is written to an > > AddtoComposite > > > > > > > >> > ticker ("~ListAvg" + number) for each watchlist, and > > simply read > > > > > > > >> > thereafter. > > > > > > > >> > > > > > > > > >> > #include <ListAvg.afl> > > > > > > > >> > wlnum = Param( "Watchlist", 13, 1, 100, 1 ); > > > > > > > >> > trig = ParamTrigger( "Calculate", "CLICK" ); > > > > > > > >> > Lavg = Nz( Foreign( "~ListAvg" + wlnum , "C" ) ); > > > > > > > >> > if ( trig ) > > > > > > > >> > { > > > > > > > >> > Lavg = ListAvg( CategoryGetSymbols( categoryWatchlist, > > wlnum > > > > > > > >> > ) ); > > > > > > > >> > AddToComposite( Lavg, "~ListAvg" + wlnum, "X", > > > > > > > >> > atcFlagDefaults + atcFlagEnableInIndi cator ); > > > > > > > >> > } > > > > > > > >> > Plot( Lavg, "Watchlist " + wlnum + " ListAvg", > > colorDefault ); > > > > > > > >> > > > > > > > > >> > Lastly, since you mentioned sector averages - I'll > > mention one example > > > > > > > >> > use from my experience. Technology averages do not > > typically indicate > > > > > > > >> > the health of innovative small-cap tech stocks. The > > averages are driven > > > > > > > >> > by Intel, Microsoft, etc. An average of targeted, > > innovative small-cap > > > > > > > >> > tech companies in a watchlist can be more useful for > > stock investing. > > > > > > > >> > > > > > > > > >> > Hope that helps. > > > > > > > >> > -- Bruce > > > > > > > >> > > > > > > > > >> > --- In amibro...@yahoogrou ps.com, furinkazaan > > <furinkazaan@ ...> > > > > > > > >> wrote: > > > > > > > >> > > > > > > > > > >> > > Bruce, thanks for the afl. It comes at the most > > oppurtune time when > > > > > > > >> > I'm > > > > > > > >> > > considering creation of many sectoral indices. However, > > rookie that I > > > > > > > >> > am, I > > > > > > > >> > > am not able to figure out how to use the AFL. I would > > appreciate a > > > > > > > >> > > step-by-step detail on how to use it, including where > > to copy the afl, > > > > > > > >> > where > > > > > > > >> > > to store the csv list of tickers etc., and how to run > > it.. Can the afl > > > > > > > >> > be > > > > > > > >> > > pointed to a watchlist instead of a csv file of > > tickers? > > > > > > > >> > > > > > > > > > >> > > Thanks again. > > > > > > > >> > > > > > > > > > >> > > > > > > > > > >> > > 2009/11/18 Bruce brucer@ > > > > > > > >> > > > > > > > > > >> > > > > > > > > > > >> > > > > > > > > > > >> > > > Quick update - I've added a Free Code module and Free > > Code article > > > > > > > >> > to > > > > > > > >> > > > AmibrokerU called ListAvg. For those who need for an > > equal weighted > > > > > > > >> > > > average of a list of tickers, the Code module > > provides a function > > > > > > > >> > that > > > > > > > >> > > > implements the result in a single call. If you are > > interested in the > > > > > > > >> > > > background on the need for this function, and the > > problem with other > > > > > > > >> > > > types of index and list averages, the article should > > be of interest. > > > > > > > >> > > > Here are the links (sorry they are long, I'll fix > > that soon) - > > > > > > > >> > > > > > > > > > > >> > > > > > > > > > > >> > http://www.amibroke ru.com/FreeLibra ry/FreeCode/ > > tabid/99/ > > > > > > > >> articleType/ Arti\ > > > > > > > >> > \ > > > > > > > >> > > > > > > > > > > >> > cleView/articleId/ 109/ListAvg- ndash-A-Function > > -to-Calculate- > > > > > > > >> an-Equal- Wei\ > > > > > > > >> > \ > > > > > > > >> > > > > > > > > > > >> > ghted-Average- of-a-List- of-Tickers. > > aspx<http://www.amibroke > > > > > > > >> ru.com/FreeLi\ > > > > > > > >> > brary/FreeCode/ tabid/99/ articleType/ ArticleView/ > > articleId/ > > > > > > > >> 109/ListAvg- nd\ > > > > > > > >> > ash-A-Function- to-Calculate- an-Equal- Weighted- > > Average-of- a-List-of- > > > > > > > >> Ticke\ > > > > > > > >> > rs..aspx> > > > > > > > >> > > > > > > > > > > >> > > > > > > > > > > >> > http://www.amibroke ru.com/FreeLibra ry/FreeArticles/ > > tabid/63/ > > > > > > > >> articleType/ \ > > > > > > > >> > \ > > > > > > > >> > > > > > > > > > > >> > ArticleView/ articleId/ 110/ListAvg- ndash-Uses- > > and-Example.. aspx< > > > > > > > >> http://www\ > > > > > > > >> <http://www>> .amibrokeru. com/FreeLibrary/ FreeArticles/ > > tabid/63/ > > > > > > > >> articleType/ ArticleVie\ > > > > > > > >> > w/articleId/ 110/ListAvg- ndash-Uses- and-Example. aspx> > > > > > > > >> > > > > > > > > > > >> > > > As we prepare to open up subscriptions to AmibrokerU > > soon, I've > > > > > > > >> > received > > > > > > > >> > > > some questions about what types of free and > > subscription content > > > > > > > >> > that we > > > > > > > >> > > > plan to add. In general, we will offer "lite" of > > "subset" versions > > > > > > > >> > of > > > > > > > >> > > > premium code and articles available in the > > subscription sections. > > > > > > > >> > > > ListAvg is an example of that. It implements an equal > > weighted > > > > > > > >> > average > > > > > > > >> > > > of a CSV list, and is effectively re-balanced daily. > > Plans call for > > > > > > > >> > a > > > > > > > >> > > > full-featured routine in the subscription section > > called WtMixRebal > > > > > > > >> > that > > > > > > > >> > > > implements weighed averages that can be re-balanced > > at different > > > > > > > >> > periods > > > > > > > >> > > > or based upon a signal. This module is useful for > > index averages as > > > > > > > >> > > > well as portfolio modeling of a weighted list of > > tickers with > > > > > > > >> > shorting > > > > > > > >> > > > and margin with a fast, single function call. > > > > > > > >> > > > > > > > > > > >> > > > In addition to educational articles, I'm going to try > > to cover > > > > > > > >> > broader > > > > > > > >> > > > topics of applications, with examples, that I've > > found useful. In > > > > > > > >> > that > > > > > > > >> > > > spirit, the next topic will be about connecting to > > Excel and > > > > > > > >> > > > manipulating spreadsheets, charts, and data. That may > > seem a little > > > > > > > >> > > > odd, but there are many uses for such an interface - > > both for input > > > > > > > >> > to > > > > > > > >> > > > and output from Amibroker. For example - summary bar > > charts, command > > > > > > > >> > > > button trading control, etc. More later .... > > > > > > > >> > > > > > > > > > > >> > > > -- BruceR > > > > > > > >> > > > > > > > > > > >> > > > > > > > > > > >> > > > > > > > > > > >> > > > > > > > > > >> > > > > > > > > >> > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
