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

[amibroker] Re: AmiBroker 4.75.2 BETA released



PureBytes Links

Trading Reference Links

Hey, Tomasz.:)

"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."

I'm sorry, I don't understand what you mean by this.  Is it the other 
way around, and the new version won't "see" the indicators created in 
the old version?  Does this mean I should save the indicators some 
way (like in a text file isolated from AB), then re-create them in 
the new version?

TIA.


Luck,

Sebastian




--- In amibroker@xxxxxxxxxxxxxxx, "Tomasz Janeczko" <amibroker@xxxx> 
wrote:
>
> Hello,
> 
> A new beta version (4.75.2) of AmiBroker has just been released.
> 
> It is available for registered users only from the members area at:
> http://www.amibroker.com/members/bin/ab4752beta.exe
> 
> (File size: 1 087 592 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:
>   a.. 24-bit (Truecolor) support for indicators and exploration 
output (see picture below) 
>   b.. new "cloud" chart style (see picture below) 
>   c.. speed improvements 
>     a.. (AFL arithmetical / logical array operators hand optimized 
on assembly level providing upto +400% speed up) 
>     b.. startup time increased 10 times
>   d.. other fixes and improvements (check READ ME below for details)
> 
>  
> IMPORTANT NOTES:
> 
> 
> 
>   1.. If you are using Firewall you may need to check if it did not 
block Broker.EXE file after upgrade. (It happened to some users that 
firewall blocked AmiBroker after upgrade and they could not connect 
to RT data sources due to that)
>   2.. If you installed 4.75.1 BETA before, after installation of 
this version you may see "Invalid key file. Please visit 
http://www.amibroker.com/lostkey.html";  in the Help->About window. 
>   If this happens, please either replace your key file with 
original one (if you have a backup) or go to 
http://www.amibroker.com/lostkey.html 
>   to have the key sent to you.
> Best regards,
> Tomasz Janeczko
> amibroker.com
> 
> AmiBroker 4.75.2 Beta Read Me
> January 3, 2006 17:13 
> 
> 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.75.2 beta" written 
in the About box.
> 
> UPGRADE ALERT
> 
> Version 4.75.x beta requires license for v4.30 or higher. Users who 
registered before March 5th, 2003 (version 4.20 or older) need to 
purchase upgrade - in such case you will see "LICENSE EXPIRED" 
message in the About box.
> 
> 
> See CHANGE LOG below for detailed list of changes.
> 
> 
> CHANGE LOG
> 
> CHANGES FOR VERSION 4.75.2 (as compared to 4.75.1)
> 
>   a.. when no data we available chart background is correct now (it 
was black instead of one choosen in prefs in 4.75.x) 
> 
> 
>   b.. Added ability to disable fixed ruin stop
>   When you add 
> 
>   SetOption("DisableRuinStop", True);
> 
>   to your formula the backtester will not use built in 99.96% loss 
stop (ruin) Note: it is recommended NOT to use it unless you really 
have to.
> 
> 
>   c.. added new option to SetOption: 
> 
>   SetOption("EveryBarNullCheck", True)
> 
>   SetOption("EveryBarNullCheck", True)- allows to turn on checking 
for Nulls in arithmetic operations on every bar in the array(by 
default it is OFF - i.e. AmiBroker checks for nulls that appear in 
the beginning of the arrayand in the end of the array and once non-
null value is detected it assumes no further holes (nulls) in the 
middle). Turning "EveryBarNullCheck" to True allows to extend these 
checks to each and every barwhich is the way 4.74.x and earlier 
versions worked.
> 
>   Note however that turning it on gives huge performance penalty 
(arithmetic operations are performed even 4x slower when this option 
is ON, so don't use it unless you really have to).
> 
> 
>   d.. Added small result summary after backtest in the status line
> 
> 
>   e.. Fixed problem with plotting xshifted charts occuring when 
formula referenced future bars
> 
> 
>   f.. logical (boolean) operators check for nulls on every bar and 
treat null as "false" to maintain backward compatibility with 
formulas written for previous versions
> 
> 
>   g.. Modified file dialog buffer size from 262144 (0x40000) bytes 
to 262143 (0x3FFFF) to workaround 16 bit (64KB) buffer limit of 
Windows 95/98/NT4 (yes surprisingly NT4 is limited to 64K buffer in 
file dialogs)
> 
>   16-bit windows (95/98) and NT4 were treating 0x40000 as 0 (zero) 
because only lower 16 bits were interpreted. Thanks to move to 
0x3FFFF it is now interpreted as 0xFFFF on 16 bit windows.
> 
> 
>   h.. Potential crash fixed when formula using AddToComposite 
atcEnableInBacktest is verified in the AFL editor
> 
> 
>   i.. Added XShift parameter to PlotOHLC and PlotForeign functions
> 
> 
>   j.. fixed re-mapping of built-in and custom colors in grid color 
picker 
> 
> 
> CHANGES FOR VERSION 4.75.1 (as compared to 4.75.0) 
> 
>   a.. ParamColor now accepts 24 bit colors without crashing 
> 
> 
>   b.. Null values appearing at the end of data series (array) are 
handled appropriately (propagate through arithmetic operators)
>   This fixes problem that 4.75.0 had with "trendline" formulas that 
used Null values put into the array at the end of the data series. 
> 
> 
>   c.. Most recently picked drawing tool color is preserved between 
runs
> 
> 
>   d.. EncodeColor was not handling all 24 bit color combinations 
correctly. Fixed now.
> 
> 
>   e.. Chart tree fix: Moving or renaming formula in charts tree now 
updates all paths in indicators that use this formula
> 
> 
> CHANGES FOR VERSION 4.75.0 (as compared to 4.74.6) 
> 
>   a.. New chart style (styleCloud) to be used to create "cloud" 
chart as in Ichimoku charts. Also useful for indicator charts like 
MACD.
> 
>   This style fills non-rectangular (free shaped) area between HIGH 
and LOW arrays provided
>   by PlotOHLC function. Open and Close arrays are not relevant for 
plotting however Close
>   is used as usual to display value label and title. So recommended 
use is to use "upper" bounding value
>   in Open and High arrays and "lower" bounding value in "Low" 
and "Close" arrays 
>   Sample Ichimoku cloud:
> 
>   SL = ( HHV( H, 26 ) + LLV( L, 26) )/2; 
>   TL = ( HHV( H, 9 ) + LLV( L, 9 ) )/2; 
>   DL = Ref( C, 25 ); 
>   Span1 = Ref( ( SL + TL )/2, -25 ); 
>   Span2 = Ref( (HHV( H, 52) + LLV(L, 52))/2, -25); 
> 
> 
>   Plot( C, "Price", colorBlack, styleCandle ); 
>   Plot( SL, "SL", colorRed, styleThick ); 
>   Plot( TL, "TL", colorGreen, styleThick ); 
>   PlotOHLC( 0, span1, span2, span2, "Cloud", colorLightOrange, 
styleCloud );
> 
>   Simple MACD cloud:
> 
>   m = MACD(); 
>   Plot( Signal(), "Signal", colorBlue, styleThick ); 
>   PlotOHLC( m,m,0,m, "MACD", IIf( m > 0, colorGreen, colorRed ), 
styleCloud );
> 
>   Another MACD cloud (difference):
> 
>   m = MACD(); 
>   s = Signal(); 
>   Plot( s, "Signal", colorBlue); 
>   Plot( m, "MACD", colorRed ); 
>   PlotOHLC( m,m,s,m, "MACD", IIf( m > s, colorLime, 
colorLightOrange), styleCloud );
> 
> 
>   b.. when File->Open database or MRU list is choosen then old 
database is saved first
> 
> 
>   c.. When default database is deleted, AB now asks for new default 
database folder, instead of re-creating it
> 
> 
>   d.. when database is deleted from the outside and user picks it 
via MRU list -then gets removed from MRU list and is not recreated 
anymore
> 
> 
>   e.. When AmiBroker is launched with incorrect "Start in" (working 
directory) then it automatically switches to "last good" path
> 
>   " Last good" path is saved in the registry 
HKEY_CURRENT_USER\TJP\Broker\Defaults\LastGoodPath, during successful 
launch in correct directory (whenever working directory is correct or 
not it is determined by checking for presence of Broker.chm file 
(help file))
> 
>   Using correct working directory is important because AmiBroker 
uses relative paths to most components.
> 
> 
>   f.. AFL: new function: StaticVarRemove()
> 
>   StaticVarRemove("varname")
>   removes static variable and releases associated memory
> 
> 
>   g.. Start-up time decreased significantly by implementation of on-
demand loading of formulas
> 
>   (on slow, low-end machines loading time decreases from 10 seconds 
to just 0.5 second)
> 
> 
>   h.. printf/StrFormat/SelectedValue functions no longer affect 
number of extra future bars calculated by QuickAFL
> 
> 
>   i.. Minor plugin status change (as in IB backfill) does not cause 
sound (only tooltip is displayed)
> 
> 
>   j.. Increased the limit of files that can be selected using 
Windows file dialog
>   Now import wizard and ascii importer file dialogs use 256KB 
buffer for file names that on average should allow 20000 files to be 
selected at once.
> 
> 
>   k.. Further speed improvements by rewriting chart ID lookup 
routine (GetChartInfoByID)
> 
> 
>   l.. Chart title string is clipped so Y axis is never obscured
> 
> 
>   m.. Chart title can be automatically wrapped now
>   Use 'Parameters' window,
>   " Axes & Grid" tab,
>   Miscellaneous->Wrap title: YES
> 
>   If you want to set it programmatically from the formula use
>   SetChartOptions( 2, chartWrapTitle );
> 
> 
>   n.. Auto-hide panes slide slightly faster
> 
> 
>   o.. All basic array arithmetic and logical operators inlined and 
hand optimized on assembly level for speed, gives upto 450% speed 
increase in basic array calculations
> 
>   Example speed increases:
> 
>   a) purely "theoretical" example
>   million iterations of array addition
>   for( i = 0; i < 1000; i++ ) 
>    for( k = 0; k < 1000; k++ ) 
>      Sumh = H + L;
> 
>   runs 4.8 times (+480%) faster (5 seconds in 4.75 compared to 24 
seconds in 4.74 and older, Athlon64@xxxx)
>   2000 data bars.
> 
>   This gives ( 2000 * 1000000 additions ) / 5 sec = 400 MEGAFLOPS 
(millions of floating point operations per second) AFL array-based 
AFL execution speed.
> 
>   b) "real-world" examples:
>   " Projection Oscillator" 
>   http://www.amibroker.com/library/detail.php?id=344
>   single security optimization runs 85% faster
>   (13 seconds (4.75) compared to 24 seconds (4.74 or older) )
> 
>   " RSIS"
>   http://www.amibroker.com/library/detail.php?id=153
>   single-security optimization 5000 iterations runs 21% faster
>   (28 seconds (4.75) compared to 34 seconds (4.74 or older))
> 
>   NOTE: Performance increase depends on complexity of the formula. 
Biggest gains can be observed for formula doing LOTS of mathematical 
calculations on arrays (using lots of +, -, *, /, ^, %, comparisions 
<, >, ==, !=, <=, >=, etc).
> 
> 
>   p.. AFL: new function: SetChartBkColor( color )
>   sets chart background to user-specified color
> 
> 
>   q.. Added View->Time & Sales menu back
> 
> 
>   r.. Added chart timing display (you can turn it on via Tools-
>Preferences->Display chart timing)
> 
>   when turned on, in the bottom of each chart the following 
information is displayed:
>   Total time X sec, AFL exec time Y sec (Z %), # extra bars back Q, 
fwd R
> 
>   where 
>   X - is total time in second spent during chart refresh ( this 
includes AFL execution and actual screen painting/drawing, grid / 
scale calculations, etc)
>   Y - is time spent in chart AFL execution only (without any actual 
screen painting, grid / scale calcs)
>   Z - is percentage of time that AFL execution takes compared to 
total time required for refresh
>   Q - is a number of previous bars (before first visible bar) that 
are needed to calculate the indicator (QuickAFL estimation)
>   R - is the number of future bars (after last visible bar) that 
are needed to calculate the indicator (QuickAFL estimation)
> 
> 
>   s.. Added asin/acos to the AFL function reference
> 
> 
>   t.. AFL: 24-bit (16 million) truecolor support for indicators and 
exploration output.
> 
> 
>   u.. new ColorRGB() and ColorHSB functions to access full 24 bit 
palette
> 
>   ColorRGB( red, green, blue )
> 
>   returns color value to be used in 
Plot/PlotOHLC/AddColumn/AddTextColumn
>   red, green, blue - represent color component values in range 
0..255 each
> 
>   For more information about RGB color model please read:
>   http://en.wikipedia.org/wiki/RGB_color_model
> 
>   ColorHSB( hue, saturation, brightness )
> 
>   returns color value to be used in 
Plot/PlotOHLC/AddColumn/AddTextColumn
> 
>   hue - represents gradation of color within the optical spectrum 
(as in rainbow)
>   saturation represents "vibrancy" of the color
>   brightness represents brightness.
> 
>   Each parameter ranges from 0 to 255, where 0 represents 0% 
saturation/brightness 
>   or 0 degree hue in HSV color wheel,
>   and 255 represents 100% saturation/brightness or 360degrees hue 
in HSV color wheel
> 
>   When you modify hue from 0 to 255 you will see consecutive
>   rainbow colors starting from red, through yellow and green to 
blue and violet.
> 
>   For more information about HSB color space please read:
>   http://en.wikipedia.org/wiki/HSB_color_space
> 
> 
>   Example MA rainbow chart (bring up parameters dialog and play 
with it):
> 
>   side = 1; 
>   increment = Param("Increment",2, 1, 10, 1 ); 
>   for( i = 10; i < 80; i = i + increment ) 
>   { 
>       up = MA( C, i ); 
>       down = MA( C, i + increment ); 
> 
>      if( ParamToggle("3D effect?", "No|Yes" ) ) 
>       side = IIf(up<=down AND Ref( up<=down, 1 ), 1, 0.6 ); 
> 
>      PlotOHLC( up,up,down,down, "MA"+i, ColorHSB( 3*(i - 10), 
>      Param("Saturation", 128, 0, 255 ), 
>       side * Param("Brightness", 255, 0, 255 ) ), styleCloud | 
styleNoLabel ); 
>   }
> 
>   ///////
>   Color-parade exploration
> 
>   Filter=1; 
>   for( i = 0; i < 256; i = i + 16 ) 
>     AddColumn( C, "C", 1.2, colorDefault, ColorHSB( ( BarIndex() + 
i ) % 256, 255-i, 255 ) ); 
> 
> 
> 
> 
> CHANGES FOR VERSION 4.74.6 (as compared to 4.74.5) 
> 
>   a.. Fixed problem with RTQuote failing to load symbol list during 
first show
> 
> 
>   b.. Fixed problem in AA-Apply To-Date that was introduced because 
of tab order change
> 
> CHANGES FOR VERSION 4.74.5 (as compared to 4.74.4)
> 
>   a.. Toolbar theme was reset when entering Formula Editor, now it 
is fixed
> 
> 
>   b.. Quote Editor list now remembers columns size and order 
between runs
> 
> 
>   c.. Keyboard shortcut editor now allows using punctation 
characters like Ctrl+[, Ctrl+], - =, etc
> 
> 
>   d.. Automatic Analysis: Pick button now has shortcut on Alt+I to 
avoid conflict with Alt+P (Parameters), also fixed tab order
> 
> 
>   e.. Fixed ParamDate to return DateNum instead of YYYYMMDD (4 
digit year)
> 
> CHANGES FOR VERSION 4.74.4 (as compared to 4.74.3)
> 
>   a.. New "Appearance" tab in Tools->Customize, allowing to select 
menu/toolbar/docking pane themes and tab location
> 
> 
>   b.. Layout and Symbol trees are marked for refresh when database 
is changed and refreshed when user brings them up
> 
> 
>   c.. Fixed exception that occurred after customization when ticker 
bar was removed from all toolbars
> 
> 
>   d.. Fixed ticker bar losing focus when 
Shift/Insert/CapsLock/NumLock pressed
> 
> 
>   e.. Real-time Quote column order/size is remembered correctly 
again
> 
> CHANGES FOR VERSION 4.74.3 (as compared to 4.74.2)
> 
>   a.. Fixed losing focus by ticker combobox when Shift, CapsLock, 
NumLock, Insert keys were pressed 
> CHANGES FOR VERSION 4.74.2 (as compared to 4.74.1)
> 
>   a.. Ticker combo is now correctly refreshed on database change 
even if moved to other toolbar than default
> 
> 
>   b.. Previously when Reset was used on Ticker toolbar it became 
blank - now it is fixed, ticker combo is refilled after closing 
customization mode
> 
> 
>   c.. Edit field in Ticker combobox does not scroll horizontally 
now when edited text is too long
> 
> 
>   d.. Numeric keypad keys now work with File MRU menu (most 
recently used files)
> 
> 
>   e.. Global shortcuts continue to work when focus is inside ticker 
combo
> 
> 
>   f.. "Profile" button in View toolbar works correctly now
> 
> 
> CHANGES FOR VERSION 4.74.1 (as compared to 4.74.0)
> 
>   a.. Fixed incorrect message displayed in the progress window 
during some longer explorations 
> 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.htmlNote: 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
>






------------------------ Yahoo! Groups Sponsor --------------------~--> 
Try Online Currency Trading with GFT. Free 50K Demo. Trade 
24 Hours. Commission-Free. 
http://us.click.yahoo.com/RvFikB/9M2KAA/U1CZAA/GHeqlB/TM
--------------------------------------------------------------------~-> 

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

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/amibroker/

<*> To unsubscribe from this group, send an email to:
    amibroker-unsubscribe@xxxxxxxxxxxxxxx

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/