[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [amibroker] Re: AmiBroker 4.74.0 BETA released



PureBytes Links

Trading Reference Links

Tomasz,

 

Please elevate “moving the menu bar and toolbar to one line” to a high priority.  This single change will add reduce my toolbar real estate by 50%*.  

 

I love the changes in latest beta.  As one who spends a lot to time with the AB charts, the new UI changes reduce screen usage, and improves flexibility and ease of use.   NICE WORK!!!

 

Regards,

 

Dan.

 

* With two or more high resolution monitors, it is easy to open all toolbars on a single line.  But the Menu bar also takes up one line.  Result: Two rows with mostly blank screen space.

 


From: amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx] On Behalf Of Tomasz Janeczko
Sent: Saturday, October 22, 2005 8:20 AM
To: amibroker@xxxxxxxxxxxxxxx
Subject: Re: [amibroker] Re: AmiBroker 4.74.0 BETA released

 

Hello,

So you want both menu bar and toolbar in one line? I did not think about allowing this, but I will add
to the to-do list.

Best regards,
Tomasz Janeczko
amibroker.com
----- Original Message -----
From: "Charles Stangor" <cstangor232@xxxxxxxxxxxxxxxxxx>
To: <amibroker@xxxxxxxxxxxxxxx>
Sent: Saturday, October 22, 2005 3:45 PM
Subject: Re: [amibroker] Re: AmiBroker 4.74.0 BETA released


> Another small glitch I'm having is that in the AFL editor I cannot put the
> "file - edit - tools -help" toolbar on the same line as the standard
> toolbar.
>
> ----- Original Message -----
> From: "Quad Rate Serial Abby" <quad_pumped_abby@xxxxxxxxx>
> To: <amibroker@xxxxxxxxxxxxxxx>
> Sent: Saturday, October 22, 2005 9:28 AM
> Subject: [amibroker] Re: AmiBroker 4.74.0 BETA released
>
>
>> Wow!  Nice job!  The charts really sing now with the extra space that
>> is available.  Thanks.
>>
>>
>> --- In amibroker@xxxxxxxxxxxxxxx, "Tomasz Janeczko" <amibroker@xxxx>
>> wrote:
>>>
>>> Hello,
>>> A new beta version (4.74.0) of AmiBroker has just been released.
>>>
>>>
>>> It is available for registered users only from the members area at:
>>> http://www.amibroker.com/members/bin/ab4740beta.exe
>>>
>>> (File size: 1 123 424 bytes, 1 MB)
>>>
>>> If you forgot your user name / password to the members area
>>> you can use automatic reminder service at:
>> http://www.amibroker.com/login.html
>>>
>>> The instructions are available below and in the "ReadMe" file
>>> ( Help->Read Me menu from AmiBroker )
>>>
>>> Highlight of this release is new customizable user-interface, featuring
>>>   a.. Tear-Off Tabs
>>>   b.. Nested docking pane grouping
>>>   c.. WYSIWYG docking
>>>   d.. sliding auto-hide pinnable windows
>>>   e.. modern "Whidbey" look
>>>   f.. Tear-Off menus and toolbars
>>>   g.. Add/copy/Delete/Modify/drag-drop commands
>>>   h.. User-defined toolbars
>>>
>>> For a little video presentation see:
>>> http://www.amibroker.com/video/uicustomize.html
>>>
>>> Note: toolbar and keyboard customizations made in old versions need
>> to be re-done because they can not be imported by new system due to
>> fundamental differences (I am sorry about that)
>>>
>>> Best regards,
>>> Tomasz Janeczko
>>> amibroker.com
>>>
>>> AmiBroker 4.74.0 Beta Read Me
>>> October 22, 2005 13:50
>>>
>>> THIS IS A BETA VERSION OF THE SOFTWARE. EXPECT BUGS !!!
>>>
>>> Backup your data files and entire AmiBroker folder first!
>>> IMPORTANT NOTE: This version uses new system to store indicators (in
>> separate files), so old versions will not automatically "see"
>> indicators created with new version.
>>>
>>> INSTALLATION INSTRUCTIONS
>>>
>>> IMPORTANT: This archive is update-only. You have to install full
>> version 4.70 first.
>>>
>>> Just run the installer and follow the instructions.
>>>
>>> Then run AmiBroker. You should see "AmiBroker 4.74.0 beta" written
>> in the About box.
>>>
>>> Many thanks to all providing detailed descriptions how to reproduce
>> given bug.
>>>
>>>
>>> See CHANGE LOG below for detailed list of changes.
>>>
>>>
>>> CHANGE LOG
>>>
>>> CHANGES FOR VERSION 4.74.0 (as compared to 4.73.0)
>>>
>>>   a.. New user interface: fully user-customizable advanced docking
>> panes/toolbars/menus.
>>>
>>>   New UI features:
>>>     a.. Tear-Off Tabs
>>>     b.. Nested docking pane grouping
>>>     c.. WYSIWYG docking
>>>     d.. sliding auto-hide pinnable windows
>>>     e.. modern "Whidbey" look
>>>     f.. Tear-Off menus and toolbars
>>>     g.. Add/copy/Delete/Modify/drag-drop commands
>>>     h.. User-defined toolbars
>>>
>>>
>>>   For a little video presentation see:
>>>   http://www.amibroker.com/video/uicustomize.html
>>>
>>>   Note: toolbar and keyboard customizations made in old versions
>> need to be re-done because they can not be imported by new system due
>> to fundamental differences (I am sorry about that)]
>>>
>>>
>>>   b.. GroupID(), IndustryID(), SectorID, MarketID(), InWatchList(),
>> IsIndex() and IsContinuous() functions are now affected by SetForeign
>>>
>>>
>>>   c.. Removed debug messages cluttering DebugView output (that
>> appeared in 4.73)
>>>
>>>
>>>   d.. Changed the way drawing color picker is working: now it works
>> like in Word (or other text editor) - keeps selected color even if
>> drawing with different color is clicke
>>>
>>>
>>>   e.. Fixed false message "The note has been modified outside the
>> notepad editor." occuring when file did not exist
>>>
>>>
>>>   f.. OLE: Changed Window.LoadTemplate to return FALSE when file can
>> not be found
>>>
>>>
>>>   g.. OLE: Window.LoadTemplate now refreshes display so it is not
>> necessary to use SelectedTab = 0
>>>
>>>
>>>   h.. Removed constant RT refreshes in interpretation window when
>> text does not change
>>>
>>>
>>>   i.. ZoomToRange: last selected bar in range is visible after
>> zooming now
>>> CHANGES FOR VERSION 4.73.0 (as compared to 4.72.1)
>>>
>>>   a.. OLE: Window object, new method ZoomToRange( From, To )
>>>   ZoomToRange( From, To )
>>>   From and To parameters are of any type that can be converted to
>> date(you can use string or OLE date for example).
>>>
>>>   Example code (JScript):
>>>
>>>   AB=new ActiveXObject("Broker.Application");
>>>   AW = AB.ActiveWindow;
>>>   if( AW.ZoomToRange( "2005-04-01", "2005-08-01" ) )
>>>   {
>>>      WScript.Echo("Zoom successfull" );
>>>   }
>>>
>>>
>>>   b.. Fixed: Chart got shrinked a bit with each overlaid plot, now
>> the Y scale does not change (unless really needed)
>>>
>>>
>>>   c.. Fixed: XShift now works correctly with styleOwnScale and
>> styleLeftScale
>>>
>>>
>>>   d.. Fixed: Volume chart overlaid on price chart in log scale
>> (overlay) was compressed to flat line, now it is fixed (volume chart
>> overlay uses linear scale always)
>>>   [#22262]
>>>
>>>
>>>   e.. AFL: Added AlmostEqual function (completed: 2005-09-16)
>>>
>>>   AlmostEqual( x, y, ulps = 5 )
>>>
>>>   this is a helper function for comparing floating point numbers.It
>> returns True if x and y are equal or almost equal upto defined
>> accurracy (ulps).It is recommended to use this function instead of
>> equality check (==) as itleads to more reliable comparisons and less
>> headache caused by IEEE floating pointacurracy issues.
>>>
>>>   Parameters:x, y - the numbers or arrays to be compared,Ulps stands
>> for "units in last place" and represents maximum relative error of the
>> comparison. Since 32 bit IEEE floating point numbers have accurracy of
>> 7 significant digits, 1 unit in last place(ulp) represents relative
>> error of 0.00001 %. The default value of ulps parameter is 5 which
>> gives roughtly 0.00005% "comparison sensitivity".
>>>
>>>
>>>   Example code:
>>>
>>>   if( 1/3 == 0.3333333 )
>>>   {
>>>     printf("32-bit Floating point IEEE exact equality\n");
>>>   }
>>>
>>>   if( AlmostEqual( 1/3, 0.3333333 ) )
>>>   {
>>>     printf("Numbers are almost equal\n");
>>>   }
>>>
>>>   Thanks to Bruce Dawson for his fast routine.
>>>
>>>
>>>   f.. Optimize() function now checks if min < max, step > 0 and
>> checks if parameter name is not empty
>>>
>>>
>>>   g.. Made Time&Sales case insensitive (when "case sensitive
>> tickers" option is turned off")
>>>
>>>
>>>   h.. OBV/AccDist/Chaikin functions adjusted to be SetForeign-aware
>>>
>>>
>>>   i.. OLE: Application object new methods
>>>   BOOL LoadLayout( filename )
>>>   BOOL SaveLayout( filename )
>>>
>>>   AB = new ActiveXObject("Broker.Application");
>>>   AB.LoadLayout("C:\\Program
>> Files\\AmiBroker\\Data\\Layouts\\Default.awl");
>>>
>>>
>>>   j.. OLE: Window object new property: SelectedTab
>>>
>>>   AB = new ActiveXObject("Broker.Application");
>>>   AW = AB.ActiveWindow;
>>>   tabindex = AW.SelectedTab; // read selected tab
>>>   AW.SelectedTab = 3; //switch to tab 3
>>>   AW.SelectedTab = tabindex; // restore originally selected tab
>>>
>>>
>>>   k.. Fixed: Exception was generated when GetRTDataForeign was
>> called with non-existing ticker
>>>
>>>
>>>   l.. OLE: Window object new methods: LoadTemplate, SaveTemplate
>>>
>>>   AB = new ActiveXObject("Broker.Application");
>>>   AW = AB.ActiveWindow;
>>>   AW.SaveTemplate("Test.abt");
>>>   AW.LoadTemplate("Test.abt");
>>>
>>> CHANGES FOR VERSION 4.72.1 (as compared to 4.72.0)
>>>
>>>   a.. fixed out-of-memory problem sometimes occuring during scan of
>> large (>512MB) databases
>>> CHANGES FOR VERSION 4.72.0 (as compared to 4.71.1)
>>>
>>>
>>>   a.. " Currency" field support in ASCII importer
>>>   added command:
>>>   $CURRENCY USD
>>>
>>>   and field:
>>>
>>>   $FORMAT Name,Currency$OVERWRITE 1$AUTOADD 1]
>>>
>>>
>>>   b.. Added "Additional commands" field in the Import wizard for
>> typing any extra $- commands that are not available via checkboxes
>>>
>>>
>>>   c.. Added parameter to AddColumn/AddTextColumn to control column
>> width
>>>
>>>   AddColumn( ARRAY, "Caption", format = 1.2, color = colorDefault,
>> bgcolor = colorDefault, width = -1);
>>>   AddTextColumn( "Text", "Caption", format = 1.2, color =
>> colorDefault, bgcolor = colorDefault, width = -1 );
>>>
>>>
>>>   d.. AddToComposte new flag to work when Status("action")==
>> actionPortfolio (completed: 2005-09-09)
>>>   new flag is called atcEnableInPortfolio
>>>
>>>   Example:
>>>
>>>   if( Status("action" ) == actionPortfolio )
>>>
>>>   {
>>>   ... Custom backtest mode here ....
>>>   AddToComposite( some_array, "~COMPOSITE", "X",
>> atcFlagEnableInPortfolio | atcFlagDefaults );
>>>
>>>   }
>>>
>>>
>>>   e.. AFL added: tanh(), sinh(), cosh() functions
>>>   Hyperbolic tangent, sine and cosine function
>>>
>>>
>>>   f.. AFL functions: StrToUpper and StrToLower
>>>
>>>
>>>   g.. Fixed: Tick ASCII import: last tick of previous import was
>> deleted on subsequent import, now it is corrected
>>>
>>>
>>>   h.. Function to detect mouse button state
>>>
>>>   GetCursorMouseButtons() returns mouse button state at the time
>> when chart formula is executed
>>>
>>>   0 - if no mouse button is pressed
>>>   1 - if left mouse button is pressed
>>>   2 - if right mouse button is pressed
>>>   4 - if middle mouse button is pressed
>>>
>>>   plus combinations:3 - left + right5 - left + middle6 - right +
>> middle 7 - left + right + middle]
>>>
>>>
>>>   i.. GetRTDataForeign (retrieving values for other symbols)
>>>   GetRTDataForeign( "field", "symbol")
>>>
>>>
>>>   j.. Pane is not deleted if shrinked down to zero (prevents from
>> accidential deletion of panes)
>>>
>>>
>>>   k.. Plot function now has xshift parameter that allows to visually
>> shift the chart past the last bar
>>>   Example 20-bar Moving average shifted 10 bars into the future past
>> the last bar:
>>>
>>>   Plot(Close,"Close",colorBlack,styleCandle);Plot(MA(Close,20),
>> "Shifted MA", colorRed, styleLine, Null, Null, 10 );
>>>
>>>   Note that shift occurs during plotting and does not affect source
>> array
>>>
>>>
>>>   l.. Removed data source selection from preferences because it
>> caused user confusion way too often
>>>
>>>
>>>   m.. Stock.Currency available via OLE
>>>
>>>
>>>   n.. Title variable now supports new special token {{OHLCX}} which
>> is replaced at runtime by string "Open ..., Hi .... Lo ... Close
>> (...%)" showing current price
>>>
>>>   This way it is possible to implement formula that will show OHLC
>> prices with number of decimal places set in the preferences.
>>>
>>>   Example:
>>>
>>>   SetChartOptions(0,chartShowArrows|chartShowDates);
>>>   _N(Title = "{{NAME}} - {{INTERVAL}} {{DATE}} {{OHLCX}} {{VALUES}}" );
>>>   Plot( C, "Close", ParamColor("Color", colorBlack ), styleNoTitle |
>> ParamStyle("Style") | GetPriceStyle() );
>>>
>>>
>>>   o.. user-definable number of decimal places in chart titles
>> (completed: 2005-09-09)
>>>   Number of decimal places displayed in default chart title is now
>> user-definable inTools->Preferences->Miscellaneous"Decimal places in
>> chart titles".
>>>
>>>   Allowable values:
>>>   -1 - dynamic mode (number of decimal places automatically adjusted)
>>>   0..6 - fixed number of decimal places
>>>
>>>
>>>   p.. QuoteArray resizing now uses heuristic algorithm to minimize
>> memory fragmentation and increase performance
>>>
>>>
>>>   q.. atcFlagDeleteValues now highlighted properly in the AFL editor
>>>
>>> CHANGES FOR VERSION 4.71.1 (as compared to 4.71.0)
>>>
>>>   a.. fixed compatibility problem with AmiQuote (due to changed
>> order of OLE properties/method while AmiQuote was using old ones)
>>>   b.. now ASCII importer in $TICKMODE does not delete quotes older
>> than oldest (first) record in the imported file, so you can safely
>> import tick data from subsequent files (older first, newest later)
>>> CHANGES FOR VERSION 4.71.0 (as compared to 4.70.5)
>>>
>>>   a.. AFL: added GetCursorXPosition() and GetCursorYPosition() functions
>>>
>>>   Functions return current mouse cursor position.
>>>   Values returned are equal to those visible in the status bar, and
>> these functions require status bar to be visible. Returned values
>> represent cursor position at the formula execution time (or few
>> milliseconds before it) and accurracy is subject to pixel resolution
>> of the screen (first cursor position is read in screen pixels
>> (integer) and then converted to actual value therefore for example
>> when screen resolution is 1024x768 maximum obtainable resolution in X
>> direction is 0.1% and in Y direction 0.13%), also X values are snap to
>> datetime of nearest data bar.
>>>
>>>   It only makes sense to use these functions in
>> indicator/interpretation code.
>>>
>>>   Using them in AA window may yield random
>> values.GetCursorXPosition() function returns X position in DateTime
>> format (the same as used by DateTime() function).You can convert it to
>> string using DateTimeToStr() function.GetCursorYPosition() returns Y
>> position (as displayed in Y axis of the chart).
>>>
>>>   Example:
>>>
>>>
>>>   ToolTip="X="+DateTimeToStr(GetCursorXPosition())
>> +"\nY="+GetCursorYPosition();
>>>
>>>
>>>
>>>   b.. AFL: added DateTimeToStr() and StrToDateTime() functions
>>>
>>>   These functions allow to convert string to datetime format and
>> vice versa.
>>>
>>>
>>>   Example:
>>>
>>>   ToolTip="X="+DateTimeToStr(GetCursorXPosition())
>> +"\nY="+GetCursorYPosition();]
>>>
>>>   c.. Added ability to store charts as .GIF (in addition to PNG)
>>>
>>>
>>>
>>>   d.. ASCII importer maximum supported line length is increased to
>> 2048 characters
>>>
>>>
>>>
>>>   e.. Fixed: .aflsafe files didn't get deleted automatically
>>>
>>>
>>>
>>>   f.. Added N-volume bars charts and timeframe support.
>>>
>>>   Custom N-volume bar intervals are definable (as usual) in
>> Tools->Preferences->Intraday.
>>>
>>>   TimeFrame functions were also extended to support N-volume bars
>> using new TimeFrameMode() function calling
>>>
>>>   TimeFrameMode( 0 );
>>>
>>>   - switches time frame functions to time-based operation (the default)
>>>
>>>   TimeFrameMode( 1 );
>>>
>>>   - switches time frame functions to N-tick operation (positive
>> values passed to TimeFrameSet are treated now as N-tick)
>>>
>>>   TimeFrameMode( 2 );
>>>
>>>   - switches time frame functions to N-volume bar operation
>> (positive values passed to TimeFrameSet are treated nowas N-volme bars)
>>>
>>>   Example:
>>>
>>>   TimeFrameMode( 2 );
>>>   TimeFrameSet( 50000 ); // 50'000 share bars..
>>>   ...do something ...
>>>   TimeFrameRestore();
>>>
>>>
>>>   Note: N-volume bars are somewhat weird (compression of data to
>> N-volume bar may actually deliver MORE output bars - for example if
>> one tick is 1000 shares and you have specified 100V bars then single
>> tick will be expanded to TEN 100V bars - ten times original size)
>>>   TimeFrame functions are protected against array overrun and will
>> not decompress beyond original array size (you will get an "Error 47.
>> N-volume bar compressed data longer than base time frame").
>>>   Also switching main time frame to some weird N-volume bar value
>> will result in limiting the output to maximum twice original data
>> size(without error message).
>>>   You should keep that in mind and avoid using too small N-volume
>> bar intervals that could lead to such condition.
>>>   Also due to the nature of N-volume bars the only TimeFrameSet()
>> function will yield correct N-volume bar values, TimeFrameGetPrice()
>> may give slightly distorted results.
>>>   It is also possible to use n-volume bars in TimeFrame functions
>> without calling TimeFrameMode() - it is then necessary to specify
>> n-volume bars as negative number offset by -1000000 (minus one million):
>>>
>>>   TimeFrameSet( -1000000 - 2000 );
>>>
>>>   // gives 2000V barsSimilarly formatted negative numbers will be
>> reported by Interval() function when n-volume bars are selected.
>>>
>>>
>>>
>>>
>>>   g.. OLE: Save As PNG / GIF callable from automation
>>>
>>>   Example script:
>>>
>>>   AB = new ActiveXObject("Broker.Application");
>>>   AB.ActiveWindow.ExportImage("Test.png");
>>>
>>>   h.. Plugin is not called when GetExtraData is used for symbol that
>> has "use only local database" flag turned on, and NULL is returned
>> instead of an error
>>>
>>>
>>>
>>>   i.. Protected against changing application's current working
>> directory by printing to file
>>>
>>>
>>>
>>>   j.. Toolbar does not get wrapped when main frame window is resized
>>>
>>>
>>>
>>>   k.. OLE: Analysis object has new method MoveWindow( x, y, width,
>> height) that allows to control position and size of automatic analysis
>> window
>>>
>>>   AB = new ActiveXObject("Broker.Application");
>>>   AB.Analysis.MoveWindow( 10, 10, 200, 200 );
>>>
>>>
>>>   It has some restrictions on size: specified size can not besmaller
>> than 10x10 pixels and can not be bigger than entire screen dimensions.
>>>   Also when "No minimum size for resizing dialogs" box in UNCHECKED
>> in Tools->Prefs->Misc it won't shink AA window below default size
>> necessary to fully display all controls.
>>>
>>>
>>>
>>>   l.. ASCII importer: added ability to import tick data from text files
>>>
>>>   ASCII importer now allows tick data files to be imported.
>>>
>>>   Tick data files consist of several records having the same
>> timestamp.This makes it impossible to use normal import mode which
>> assumes different (unique) timestampsfor each data row (when same
>> timestamp is found then new data overwrites old).
>>>
>>>
>>>   To turn on TICK mode you need to add manually
>>>
>>>   $TICKMODE 1
>>>
>>>   line to ASCII importer definition file.
>>>
>>>
>>>   $TICKMODE is a special mode of importer that allows to import
>> quotes that haveduplicate time stamps.
>>>
>>>   It makes two assumptions:
>>>   a) input data should come in the ascending time order (i.e. OLDER
>> records first, LATEST records last)
>>>   b) input data should consist of entire tick history because
>> importer will DELETE any existing quotes (to avoid creating multiple
>> copies of the same ticks).
>>>
>>>   Once again: Turning on
>>>   $TICKMODE 1
>>>   will DELETE ANY QUOTES that already exist in the database and then
>> will import all ticks from input data file.
>>>   You have been warned.
>>>
>>>
>>>   For example data files like this:
>>>
>>>
>> MOL,0,20050606,162959,16400.0000,16400.0000,16400.0000,16400.0000,2MOL,0,20050606,162959,16400.0000,16400.0000,16400.0000,16400.0000,11MOL,0,20050606,162959,16400.0000,16400.0000,16400.0000,16400.0000,40
>>>
>>>
>>>   Can be imported using the following definition file:
>>>
>>>
>>>   $FORMAT Ticker, Skip, Date_YMD, Time, Open, High, Low, Close, Volume
>>>   $SKIPLINES 1
>>>   $SEPARATOR ,
>>>   $CONT 1
>>>   $GROUP 255
>>>   $AUTOADD 1
>>>   $DEBUG 1
>>>   $TICKMODE 1
>>>
>>>
>>>   Sometimes it happens that input files have invalid timestamps
>> (seconds > 59).
>>>
>>>   For example:
>>>
>>>   MOL,0,20050606,162970,16400.0000,16400.0000,16400.0000,16400.0000,2
>>>
>>>   Please take a closer look at first line shown in this example it
>> has time:16:29:70 (you see 70 seconds !)
>>>
>>>   So I had to add a special flag to the importer that works around
>> such data errors.
>>>
>>>   It is called $ALLOW99SECONDS 1 and will convert all records with
>> invalid seconds (i.e greater than 59)to 59s.
>>>   So record stamped 16:29:70 will be treated as 16:29:59
>>>
>>>   Now for tick mode to work with such incorrect records you would
>> need to add two lines to ASCII importer definition:
>>>
>>>   $TICKMODE 1
>>>   $ALLOW99SECONDS 1
>>>
>>>
>>>
>>> HOW TO REPORT BUGS
>>>
>>> If you experience any problem with this beta version please send
>> detailed description of the problem (especially the steps needed to
>> reproduce it) to bugs at amibroker.com
>>>
>>
>>
>>
>>
>>
>>
>>
>> Please note that this group is for discussion between users only.
>>
>> To get support from AmiBroker please send an e-mail directly to
>> SUPPORT {at} amibroker.com
>>
>> For other support material please check also:
>> http://www.amibroker.com/support.html
>>
>>
>> Yahoo! Groups Links
>>
>>
>>
>>
>>
>>
>
>
>
>
> Please note that this group is for discussion between users only.
>
> To get support from AmiBroker please send an e-mail directly to
> SUPPORT {at} amibroker.com
>
> For other support material please check also:
> http://www.amibroker.com/support.html
>
>
> Yahoo! Groups Links
>
>
>
>
>
>
>




Please note that this group is for discussion between users only.

To get support from AmiBroker please send an e-mail directly to
SUPPORT {at} amibroker.com

For other support material please check also:
http://www.amibroker.com/support.html





SPONSORED LINKS
Investment management software Real estate investment software Investment property software
Software support Real estate investment analysis software Investment software


YAHOO! GROUPS LINKS