Thanks for the input. I'll start working on the cleanup. Your last comment about doing all this in an Exploration. Well not nearly as cool as dual heatmaps linked to a sector/ industry indicator linked to a relative strength indicator, with index and composite plots, of the list (any list) keyed off a signal pane of inputs :-) all symbol linked together. Is that what you meant by doing to much with indicators :-) I've uploaded an image to the Files section called - HeatMaps_RelStr.jpg Thanks again for all the help.
--- In [email protected], Tomasz Janeczko <gro...@...> wrote: > > Hello, > > What is posted in the files section is incomplete - it uses several > #includes and none of the files are there. > > Also the code looks overly complicated and it abuses many things. > It should be written again from scratch. > > Any kind of symbol by symbol matrix should be generated as EXPLORATION > not indicator. > This is so because exploration is done one demand (not with every > refresh) and it has > ability to iterate through symbols while displaying progress bar > and processing windows messages between symbols making > way more responsive. > > Also the code uses JScript to change the symbol for chart being > actually executed - a big no-no. > > Entire code should be totally re-written using Exploration mode. > > Third thing is that the code uses Status("Action") to execute > parts of the code only when used in indicator, therefore > you won't have this part profiled using Tools->Code Check And Profile > because code check is not run with Action == 1. > > > Generally speaking I see people largely abusing indicators > for things that should be done in AA window (mainly exploration). > > An example correlation heat map formula looks as follows. > Note that it is just 6 lines. > > /*This is the formula to create a correlation matrix in AB. > It is set up to run the correlation of the symbols in Watchlist 2 > with the "define" filter catagory in the auto-analyser. In this > default case > this code will correlate the symbols in watchlist 2 with the symbols > in watchlist 2. > - Tools -> Send to Analysis > - press FILTER button and select Watchlist 2 in INCLUDE tab > - press EXPLORE button in AA window.*/ > > symlist = CategoryGetSymbols( categoryWatchlist, 2 ); > Filter = Status("lastbarinrange"); > for( i = 0; ( sym = StrExtract( symlist, i ) ) != ""; i++ ) > { > Corr = Correlation( C, Foreign( sym, "C" ), 252 ); > Clr = 32 + SelectedValue( Corr ) * 32; > AddColumn( Corr, sym, 1.2, ColorHSB( 128+Clr, 255, 255 ) , > ColorHSB(Clr, 255, 255 ) ); > } > > > Best regards, > Tomasz Janeczko > amibroker.com > > gmorlosky wrote: > > Thanks TJ - I have uploaded the file to the Files section as HeatMap.afl > > HeatMap v1.1a > > I actually use 3 of these heatmap indicators at once in a single window > > with different scoreing selected. So anything to speed things up would help. > > > > > > --- In [email protected], Tomasz Janeczko <groups@> wrote: > > > >> Hello, > >> > >> Sorry, but I can't see any formula attached to your e-mail. Please send > >> the formula you are using, > >> then we could discuss the details. > >> > >> Best regards, > >> Tomasz Janeczko > >> amibroker.com > >> > >> > >> gmorlosky wrote: > >> > >>> Thanks - So I am really doing 123 * 123 in the orginal example... How do > >>> I speed that up ? > >>> > >>> Yes - the example was a partial list as I left off some of the "lesser" > >>> functions, but I have included all below (119 symbols). > >>> > >>> Function name Call Count Total Time[ms] Time per Call [ms] > >>> StrExtract 120 0.530 0.004 > >>> CategoryGetSymbols 1 0.125 0.125 > >>> GetCategorySymbols 1 0.107 0.107 > >>> Param 6 0.038 0.006 > >>> paramcategory 1 0.034 0.034 > >>> ParamList 4 0.031 0.008 > >>> ParamToggle 4 0.031 0.008 > >>> NumToStr 1 0.030 0.030 > >>> StaticVarGet 3 0.019 0.006 > >>> array operator - 1 0.015 0.015 > >>> paramlistnum 1 0.014 0.014 > >>> ParamTrigger 2 0.010 0.005 > >>> _SECTION_BEGIN 1 0.008 0.008 > >>> Status 1 0.005 0.005 > >>> IIf 2 0.003 0.002 > >>> StrLen 1 0.002 0.002 > >>> _SECTION_END 1 0.002 0.002 > >>> EnableScript 1 0.002 0.002 > >>> StrFind 1 0.002 0.002 > >>> EnableTextOutput 1 0.001 0.001 > >>> GetChartID 1 0.000 0.000 > >>> > >>> > >>> > >>> > >>> --- In [email protected], Tomasz Janeczko <groups@> wrote: > >>> > >>> > >>>> The list looks incomplete. Your formula probably uses > >>>> 123 * 123 (=15129) calls to Foreign function to generate heat map / > >>>> correlation for 123 symbols. That's > >>>> where it apparently spends most time. > >>>> > >>>> gmorlosky wrote: > >>>> > >>>> > >>>>> Explain something to me. This particular indicator code (HeatMap of 123 > >>>>> symbols)runs like a dog (5 seconds or more to complete. I have no > >>>>> plugins or scripting. The details of each function are below. Is it the > >>>>> StrExtract and/or the *Symbols, that needs to be sped up ? and how ? > >>>>> > >>>>> Function name Call Count Total Time [ms] Time per Call [ms] > >>>>> StrExtract 123 0.563 0.005 > >>>>> CategoryGetSymbols 1 0.403 0.403 > >>>>> GetCategorySymbols 1 0.285 0.285 > >>>>> Param 6 0.038 0.006 > >>>>> ParamList 4 0.035 0.009 > >>>>> Paramcategory 1 0.033 0.033 > >>>>> ParamToggle 4 0.032 0.008 > >>>>> NumToStr 1 0.030 0.030 > >>>>> AddColumn 1 0.023 0.023 > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> ------------------------------------ > >>>>> > >>>>> **** IMPORTANT PLEASE READ **** > >>>>> This group is for the discussion between users only. > >>>>> This is *NOT* technical support channel. > >>>>> > >>>>> TO GET TECHNICAL SUPPORT send an e-mail directly to > >>>>> SUPPORT {at} amibroker.com > >>>>> > >>>>> TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at > >>>>> http://www.amibroker.com/feedback/ > >>>>> (submissions sent via other channels won't be considered) > >>>>> > >>>>> For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG: > >>>>> http://www.amibroker.com/devlog/ > >>>>> > >>>>> Yahoo! Groups Links > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>> > >>> > >>> ------------------------------------ > >>> > >>> **** IMPORTANT PLEASE READ **** > >>> This group is for the discussion between users only. > >>> This is *NOT* technical support channel. > >>> > >>> TO GET TECHNICAL SUPPORT send an e-mail directly to > >>> SUPPORT {at} amibroker.com > >>> > >>> TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at > >>> http://www.amibroker.com/feedback/ > >>> (submissions sent via other channels won't be considered) > >>> > >>> For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG: > >>> http://www.amibroker.com/devlog/ > >>> > >>> Yahoo! Groups Links > >>> > >>> > >>> > >>> > >>> > >>> > > > > > > > > > > ------------------------------------ > > > > **** IMPORTANT PLEASE READ **** > > This group is for the discussion between users only. > > This is *NOT* technical support channel. > > > > TO GET TECHNICAL SUPPORT send an e-mail directly to > > SUPPORT {at} amibroker.com > > > > TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at > > http://www.amibroker.com/feedback/ > > (submissions sent via other channels won't be considered) > > > > For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG: > > http://www.amibroker.com/devlog/ > > > > Yahoo! Groups Links > > > > > > > > > > >
