Hello,
At least 2 of them are available
already:
- fibonnacci time zones / time
extension
- gann box (assuming you mean gann
square)
If you mean something else please provide exact
descriptions because
people tend to use the same names for very
differnent tools,
so if you want to suggest somethign and want to be
satisifed with the (eventual)
implementation you need to describe in very detail
what you are after.
Best regards, Tomasz
Janeczko amibroker.com
----- Original Message -----
Sent: Tuesday, October 25, 2005 7:53
AM
Subject: Re: [amibroker] AmiBroker 4.74.4
BETA released
Hi, Tomasz!
I like very much Amibroker but I want to know if you intend to add more
tools for technical analysis like:
- time range line
- price range line
- square of 90 (and 144) grid overlay
- gann box
- time extension (46,91, 144, 182 etc trading days from a specific
point)
etc.
It will be great.
Thanks.
Hello,
A new beta version (4.74.4) of AmiBroker has
just been released.
Highlight of this release is new
customizable user-interface, featuring
- several user-selectable UI-themes, selectable via
Tools->Customize->Appearance (by default "Whidbey" look)
- Tear-Off Tabs
- Nested docking pane grouping
- WYSIWYG docking
- sliding auto-hide pinnable windows
- Tear-Off menus and toolbars
- Add/copy/Delete/Modify/drag-drop commands
- User-defined toolbars
IMPORTANT NOTES:
- 1. Toolbar and keyboard customizations made in 4.73 and earlier
versions need to be re-done because they can not be imported by new system
due to fundamental differences (I am sorry about that)
- During first run you will see the note "Due to a software update the
toolbar 'View' has changed. Would you like to reset your customized
toolbar and load the new one?". It is normal and won't appear
any more than once. If you answer Yes then View toolbar will be reset to
default, if you answer No, it will remain unchanged.
- After installation 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.
- 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)
Best regards, Tomasz
Janeczko amibroker.com
AmiBroker 4.74.4 Beta Read Me
October 25, 2005 3:58
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.4 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.4 (as compared to 4.74.3)
- New "Appearance" tab in Tools->Customize, allowing to select
menu/toolbar/docking pane themes and tab location
- Layout and Symbol trees are marked for refresh when database is
changed and refreshed when user brings them up
- Fixed exception that occurred after customization when ticker bar was
removed from all toolbars
- Fixed ticker bar losing focus when Shift/Insert/CapsLock/NumLock
pressed
- Real-time Quote column order/size is remembered correctly
again
CHANGES FOR VERSION 4.74.3 (as compared to 4.74.2)
- 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)
- Ticker combo is now correctly refreshed on database change even if
moved to other toolbar than default
- Previously when Reset was used on Ticker toolbar it became blank - now
it is fixed, ticker combo is refilled after closing customization
mode
- Edit field in Ticker combobox does not scroll horizontally now when
edited text is too long
- Numeric keypad keys now work with File MRU menu (most recently used
files)
- Global shortcuts continue to work when focus is inside ticker
combo
- "Profile" button in View toolbar works correctly now
CHANGES FOR VERSION 4.74.1 (as compared to 4.74.0)
- Fixed incorrect message displayed in the progress window during some
longer explorations
CHANGES FOR VERSION 4.74.0 (as compared to 4.73.0)
- New user interface: fully user-customizable advanced docking
panes/toolbars/menus.
New UI features:
- Tear-Off Tabs
- Nested docking pane grouping
- WYSIWYG docking
- sliding auto-hide pinnable windows
- modern "Whidbey" look
- Tear-Off menus and toolbars
- Add/copy/Delete/Modify/drag-drop commands
- 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)]
- GroupID(), IndustryID(), SectorID, MarketID(), InWatchList(),
IsIndex() and IsContinuous() functions are now affected by
SetForeign
- Removed debug messages cluttering DebugView output (that appeared in
4.73)
- 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
- Fixed false message "The note has been modified outside the notepad
editor." occuring when file did not exist
- OLE: Changed Window.LoadTemplate to return FALSE when file can not be
found
- OLE: Window.LoadTemplate now refreshes display so it is not necessary
to use SelectedTab = 0
- Removed constant RT refreshes in interpretation window when text does
not change
- ZoomToRange: last selected bar in range is visible after zooming now
CHANGES FOR VERSION 4.73.0 (as compared to 4.72.1)
- 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" ); }
- Fixed: Chart got shrinked a bit with each overlaid plot, now the Y
scale does not change (unless really needed)
- Fixed: XShift now works correctly with styleOwnScale and
styleLeftScale
- 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]
- 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.
- Optimize() function now checks if min < max, step > 0 and checks
if parameter name is not empty
- Made Time&Sales case insensitive (when "case sensitive tickers"
option is turned off")
- OBV/AccDist/Chaikin functions adjusted to be SetForeign-aware
- 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");
- 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
- Fixed: Exception was generated when GetRTDataForeign was called with
non-existing ticker
- 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)
- 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)
- " Currency" field support in ASCII importer
added command:
$CURRENCY USD
and field:
$FORMAT Name,Currency$OVERWRITE
1$AUTOADD 1]
- Added "Additional commands" field in the Import wizard for typing any
extra $- commands that are not available via checkboxes
- 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
);
- 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 );
}
- AFL added: tanh(), sinh(), cosh() functions
Hyperbolic tangent,
sine and cosine function
- AFL functions: StrToUpper and StrToLower
- Fixed: Tick ASCII import: last tick of previous import was deleted on
subsequent import, now it is corrected
- 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]
- GetRTDataForeign (retrieving values for other symbols)
GetRTDataForeign( "field", "symbol")
- Pane is not deleted if shrinked down to zero (prevents from
accidential deletion of panes)
- 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
- Removed data source selection from preferences because it caused user
confusion way too often
- Stock.Currency available via OLE
- 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() );
- 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
- QuoteArray resizing now uses heuristic algorithm to minimize memory
fragmentation and increase performance
- atcFlagDeleteValues now highlighted properly in the AFL
editor
CHANGES FOR VERSION 4.71.1 (as compared to 4.71.0)
- fixed compatibility problem with AmiQuote (due to changed order of OLE
properties/method while AmiQuote was using old ones)
- 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)
- 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();
-
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();]
-
Added ability to store charts as .GIF (in addition to PNG)
-
ASCII importer maximum supported line length is increased to 2048
characters
-
Fixed: .aflsafe files didn't get deleted automatically
- 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.
-
OLE: Save As PNG / GIF callable from automation
Example
script:
AB = new
ActiveXObject("Broker.Application"); AB.ActiveWindow.ExportImage("Test.png");
-
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
-
Protected against changing application's current working directory by
printing to file
-
Toolbar does not get wrapped when main frame window is resized
-
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.
-
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!
FareChase - Search multiple travel sites in one click.
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
|