PureBytes Links
Trading Reference Links
|
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
>
------------------------ 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/
|