PureBytes Links
Trading Reference Links
|
Hello,
There are TWO "sides":
- AmiBroker side
- plugin side.
AmiBroker 's 4.54+ handling of mixed mode is as
follows:
======================================
AmiBroker receives MIXED eod and intraday bars in
single "file" (or block) from the plugin. Note also that
it can work without plugin at all, in other words -
you can import first EOD data file and then import intraday data
file
using ASCII importer and mixed mode will work
too.
Generally speaking daily time interval in mixed
mode works so that
1. IF EOD data bar is available for given day then
EOD bar is used
2. If there is no EOD data bar for given day then
time-compressed daily bar is calculated from intraday data
So if BOTH exist at the same time then EOD data are
taken for daily bar
Intraday time intervals work so that all EOD bars
mixed in between are removed and only true intraday data are
presented.
1. See the above - EOD will have a preference (if
present)
2. See above (there is NO way to select the
database because it is all in ONE database - the plugin combines EOD + intraday
data into single file,
that AB 4.54 is able to handle
correctly)
3. This works already that way (intraday interval
use intraday bars, daily time interval)
Under *NO* circumstance you will get doubled EOD
bars that may occur in OLD version (4.53 and older) if you attempted to use
mixed data.
PLUGIN side
==========
Depending on plugin implementation the plugin may
or may not deliver EOD data bars for all days.
Currently both eSignal and MarketCast plugins
download EOD data ONLY FOR THAT BARSthat are NOT available as intraday. So
for example eSignal plugin gets EOD data only when there are NO intraday data
available (i.e. are older than last 120 days),
so the block of data looks as follows:
<10 YEARS OF EOD><LAST 120 DAYS OF
INTRADAY>
<FONT
face=Arial size=2>
and after setting interval to daily it would look
like this:
<10 YEARS OF EOD><120 DAYS TIME
COMPRESSED>
The other possibility (NOT implemented as of now)
is that plugin delivers EOD bars for ALL days:
<10 YEARS OF EOD><120 EOD mixed with
120 days of INTRADAY>
and after setting interval to daily it would look
like this:
<10 YEARS OF EOD><120 DAYS
EOD>
<FONT
face=Arial size=2><FONT face=Arial
size=2>
AmiBroker 4.54 handles BOTH cases but current
plugins implement just case 1.
Best regards,Tomasz
Janeczkoamibroker.com
<BLOCKQUOTE dir=ltr
>
----- Original Message -----
<DIV
>From:
Herman van den
Bergen
To: <A title=amibroker@xxxxxxxxxxxxxxx
href="">amibroker@xxxxxxxxxxxxxxx
Sent: Wednesday, April 28, 2004 9:32
PM
Subject: RE: [amibroker] AmiBroker 4.54.0
BETA released - Thanks!
<FONT face=Arial color=#0000ff
size=2>Thank you very much Tomasz, to be able to access both types of data is
just great. Your work is much
appreciated!!
<FONT face=Arial color=#0000ff
size=2>
<FONT face=Arial color=#0000ff
size=2>Perhaps my questions/desires are a bit premature... but could you
explain to what extend we can use this. For example:
<FONT face=Arial color=#0000ff
size=2>
1)
When we run a back test set to Daily periodicity, will the back tester use EOD
or RT data? ...Will a choice be possible at some point?
<FONT face=Arial color=#0000ff
size=2>
2)
When using TimeFrames, will using TimeFrameSet(inDaily) use the EOD
db and TimeFrameSet(in1Minute) use the RT db? ...Will a DataBaseSet(EOD) and
DataBaseSet(RT) be available at some point?
3)
If possible at this stage, how would we code to run the first
part of the system in EOD, for example to calculate Timing signals and Scores,
and then switch to 1-Minute data to process intraday entries/exits?
<FONT face=Arial color=#0000ff
size=2>
<FONT face=Arial color=#0000ff
size=2>TIA,
<FONT face=Arial color=#0000ff
size=2>herman.
<FONT face=Tahoma
size=2>-----Original Message-----From: Tomasz Janeczko
[mailto:amibroker@xxxxxx]Sent: Wednesday, April 28, 2004 2:23
PMTo: amibroker@xxxxxxxxxxxxxxxSubject: [amibroker]
AmiBroker 4.54.0 BETA released
Hello,A new beta version (4.54.0) of
AmiBroker has just been released.
It is available for registered users only
from the members area at:<A
href=""><FONT face=Arial
size=2>http://www.amibroker.com/members/bin/ab4540beta.exe<FONT
face=Arial size=2>and<A
href=""><FONT face=Arial
size=2>http://www.amibroker.net/members/bin/ab4540beta.exe<FONT
face=Arial size=2>(File size: 770 408 bytes, 770
KB)If you forgot your user name / password to the members
areayou can use automatic reminder service at: <A
href=""><FONT face=Arial
size=2>http://www.amibroker.com/login.html<FONT
face=Arial size=2>The instructions are available below and in the "ReadMe"
file( Help->Read Me menu from AmiBroker )
The highlight of this version is mixed
EOD/intraday mode that allows
working with very long EOD histories and
intraday data in single database
(there is no longer the need to run two
instances for that). Currently this mode is supported
by eSignal and Market Cast plugins
only.
The archive comes with updated versions of
eSignal (1.7.0) and MarketCast (1.1.0)
plugins both featuring support for new mixed
EOD/Intraday mode.
To create database with new mixed mode you have
to go to
File->New database and create it as usual,
but later click on "Intraday Settings" button
and make sure that "Allow mixed intraday/EOD"
box is checked.
Best regards,Tomasz
Janeczkoamibroker.com
AmiBroker 4.54.0 Beta Read Me
April 28, 2004
20:08
THIS IS A BETA VERSION OF THE SOFTWARE. EXPECT
BUGS !!!
Backup your data files and entire AmiBroker
folder first!
INSTALLATION INSTRUCTIONS
IMPORTANT: This archive is update-only. You have
to install full version 4.50 first.
Just run the installer and follow the
instructions.
Then run AmiBroker. You should see "AmiBroker
4.54.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.54.0 (as compared to
4.53.1)
"Allow mixed EOD/intraday data" mode added
(controllable from File->Database Settings->Intraday, checkbox with
the same name) it allows to work with database that has a mixture of
intraday and EOD data in one data file. If this is turned on then in
intraday modes EOD bars are removed on-the-fly and in daily mode EOD bars
are displayed instead of time compressed intraday or if there is no EOD
bar for corresponding day then intraday bars are compressed as usual.
This mode works in conjunction with new
versions of plugins that allow mixed data. Mixed mode is now supported by
MarketCast plugin (1.1 or higher)(Australia) and eSignal plugin (1.7.0 or
higher) only.
Mixed mode allows intraday plus very long daily
histories in one database.
Note that this is EXPERIMENTAL feature.
Real-Time quote window enhancedNow only
fields that are changed change the background to 'yellow' and if the value
in given field increases then it is displayed in green if decreases then
is displayed in red. This allows easy identification of
movement.
all strings in the program moved to
resources for easy localization
fixed problem with
SetForeign()+FullName() returning symbol instead of full name of foreign
security.
added new AFL function IsContinuous() to
check if "continuous" flag is turned on in Symbol->Information
window
OLE properties can be retrieved
(DISPATCH_PROPERTYGET) directly from AFL now using parameterless function
syntax. This allows reading values exposed by OLE automation directly from
AFL code. Example:
AB = CreateObject("Broker.Application");
Stocks = AB.Stocks(); // get collection Stock = Stocks.Item(
Name() ); // currently selected "FullName : " + Stock.FullName();
"Alias : " + Stock.Alias(); "Address : " + Stock.Address();
"Shares: " + Stock.Issue(); "Book value: " + Stock.BookValue();
"Market : " + Stock.MarketID(); "WebID : " +
Stock.WebID();
You can check if OLE object is valid by calling
IsNull() function, example:
AB = CreateObject("Broker.Application");
Stocks = AB.Stocks(); // get collection Stock = Stocks.Item(
"INTC" ); if( IsNull( Stock ) ) { printf("COM
object invalid (Null) - symbol does not exist\n"); } else {
printf("COM object valid - you can access its methods\n");
}
IsEmpty/IsNull and IsTrue functions
operate with scalars and OLE dispatches without upsizing them to
array
CHANGES FOR VERSION 4.53.1 (as compared to
4.53.0)
addressed problem with broker.layers file. Now
version 4.53.1 correctly reads broker.layers file saved with older
versions however note that old versions are not compatible with new
format.
layer properties dialog provides more
comfortable setting of layer visibility
other minor fixes
CHANGES FOR VERSION 4.53.0 (as compared to
4.52.0)
per-group intraday settings (filtering/daily
compression) Use Symbol->Categories: "GROUP" -> Use own intraday
settings, clickon "Intraday settings" button to define intraday
settings specific to given group.
intraday settings now allow to specify
separate day (RTH) and night (ETH) sessions
time filtering now allows to display:a) 24
hours trading (no filtering)b) day session onlyc) night session
onlyd) day and night sessions only
new intraday time compression mode: Day/Night
- shows two bars (day and night) per day
daily compression can be now based ona)
exchange time (available since 4.00)b) local time (available since
4.50)c) day/night session times definable by the user (new)
when "activatestopsimmediately" is turned ON
then cash from stopped out positions is NOT available to enter trades the
same day
easy access to selected category settings from
Symbol->Information window.
Workspace tree supports in-place editing of
market, group, sector, industry and watch list names. Single click on
category name and just enter the name
CHANGES FOR VERSION 4.52.0 (as compared to
4.51.1)
fixed problem with fixup=0 and handling
multiple data holes in a row
added new commands to ASCII format
definitions:$MINTICKERLEN <number> - defines minimum accepted
length of the ticker symbol$MAXTICKERLEN <number> - defines
maximum accepted length of the ticker symbol For example ASX users may
wish to use$MAXTICKERLEN 3to make sure that ASCII importer accepts
only symbols that have no more than 3 characters (this excludes ASX
options and warrants)
fixed problem with incorrect very first value
of the array returned by variable-period version of HHV/LLV
fixed Procedure/function parameter overwrite
issue when using built-in price arrays and variable overwrite
issue
memory allocated for return value is marked
for earlier freeing so calling user-defined functions inside loops should
consume less memory
Interval() function enhanced. Now accepts
format parameter:Interval( format = 0 );possible values:format
= 0 - returns bar interval in secondsformat = 1 - as above plus TICK
bar intervals are returned with negative signso Interval() function
applied to 10 tick chart will return -10format = 2 - returns STRING
with name of interval such as
"weekly/monthly/daily/hourly/15-minute/5-tick"
vertical quote selection line in linked
windows is now independent
changing "same day stops" via
SetOption("ActivateStopsImmediately") in portfolio backtest mode has an
effect now (previously reacted only on manual settings)
SetOption("CommissionMode", mode ) works now
in portfolio mode too (previously workedin old backtest mode
only)
SetOption("CommissionAmount", amount ) works
now in portfolio mode too (previously workedin old backtest mode
only)
$SEPARATOR command in ASCII importer
definitions now allows to import files that have fields separated by more
than one separator characters Separator string (array of characters) must
be enclosed in quotation marks. If there is only one separator character
(as in old versions) then quotation marks are needed.For example files
with joined date and time$SEPARATOR ", "$FORMAT
DATE_YMD,TIME,OPEN,HIGH,LOW,CLOSEwill be able to import file like
this:2004-02-04 12:30,3.41,3.44,3.40,3.42 (note date and time
field are separated by space not by comma)
Import wizard now supports new separators
'comma or space', 'semicolon or space' and 'tab or space'
ASCII importer and Quote Editor properly
distinguish records with time specified as 00:00:00 from EOD records
(without time)
CHANGES FOR VERSION 4.51.1 (as compared to
4.51.0)
OLE interface methods numbering adjusted to
maintain backward compatibility with previous versions and other programs
referring to old OLE interface
CHANGES FOR VERSION 4.51.0 (as compared to
4.50.10)
OLE automation interface changes:
Analysis.Backtest and Analysis.Optimize now
support new "Type" parameter.Type can be one of the following
values:0 : portfolio backtest/optimize1 : individual
backtest/optimize2 : old backtest/optimizeFor backward
compatibility Type parameter is optional and defaults to 2(old
backtest/optimize)
Example code:AB = new
ActiveXObject("Broker.Application");AB.Analysis.Backtest( 0 ); //
perform portfolio backtestAB.Analysis.Optimize( 0 ); // perform
portfolio optimize
OLE automation interface new object:
"Commentary"This object has 5 methods:- BOOL LoadFormula(
STRING pszFileName ) - loads the formula- BOOL SaveFormula( STRING
pszFileName ) - saves the formula- void Apply() - displays the
commentary - BOOL Save( STRING pszFileName ); - saves commentary
output (result) to the file (use after call to Apply())- void Close()
- closes the commentary window
Commentary object is accessible from
Broker.Application object via Commentary property:
Example code:AB = new
ActiveXObject("Broker.Application");AB.Commentary.LoadFormula("C:\\Program
Files\\AmiBroker\\AFL\\MACD_c.afl");AB.Commentary.Apply();AB.Commentary.Save("Test.txt");AB.Commentary.SaveFormula("MACDTest.afl");//AB.Commentary.Close();
AFL function Now( format = 0 ) accepts new
parameter values
Returns current date / time in numerous of
formats: // formats supported by old versionsformat = 0 - returns
string containing current date/time formatted according to system settings
format = 1 - returns string containing current date only formatted
according to system settings format = 2 - returns string containing
current time only formatted according to system settings format = 3 -
returns DATENUM number with current date format = 4 - returns TIMENUM
number with current time format = 5 - returns DATETIME number with
current date/time // new formats available from version 4.51format
= 6 - returns current DAY (1..31) format = 7 - returns current MONTH
(1..12)format = 8 - returns current YEAR (four digit) format = 9 -
returns current DAY OF WEEK (1..7, where 1=Sunday, 2=Monday, and so
on)format = 10 - returns current DAY OF YEAR (1..366)
Custom indicators:If plot name is empty the
value of such plot does not appear in the titleand does not appear in
the data tool tip
Plot( C, "Price", colorWhite, styleCandle
);Plot( MA( C, 10 ), "", colorRed ); // NOTE that this plot name/value
will NOT appear in the titlePlot( MA( C, 20 ), "MA20", colorGreen
);
SetOption( "field", value )accepts new
fields:"CommissionMode" - 0 - use portfolio manager commission
table1 - percent of trade2 - $ per trade3 - $ per
share/contract
"CommissionAmount" - amount of commission in
modes 1..3
"MarginRequirement" - account margin
requirement (as in settings), 100 = no margin
"ReverseSignalForcesExit" - reverse entry
signal forces exit of existing trade (default = True )
new AFL function: GetOption( "field" ) -
retrieves the settings, accepted fields the same as in
SetOption.
Example:
PositionSize = -100 /
GetOption("MaxOpenPositions");
new AFL function: GetRTData( "field" )-
retrieves the LAST (the most recent) value of the following
fieldsreported by streaming real time data source )(Note 1: this
function is available ONLY in PROFESSIONAL edition,calling it using
Standard edition will give you NULL values for all fields)(Note 2:
works only if data source uses real time data source (plugin) )(Note
3: availablity of data depends on underlying data source- check the
real-time quote window to see if given field is available )(Note 4:
function result represents the current value at the time of the
call/formula execution/, and they will be refreshed depending on chart
or commentary refresh interval/settable in preferences/. Built-in real
time quote window is refreshedway more often (at least 10 times per
second) )
Supported fields:"Ask" - current best ask
price "AskSize " - current ask size"Bid" - current best bid price
"BidSize " - current bid size"52WeekHigh" - 52 week high
value"52WeekHighDate" - 52 week high date (in datenum
format)"52WeekLow" - 52 week low value"52WeekLowDate" - 52 week
low date (in datenum format)"Change" - change since yesterdays
close"Dividend" - last dividend value"DivYield" - dividend
yield"EPS" - earnings per share"High" - current day's high
price"Low" - current day's low price"Open" - current day's open
price"Last" - last trade price"OpenInt" - current open
interest"Prev" - previous day close"TotalVolume" - total today's
volume"TradeVolume" - last trade volume"ChangeDate" - datenum
(YYYMMDD) of last data change"ChangeTime" - timenum (HHMMSS) of last
data change"UpdateDate" - datenum (YYYMMDD) of last data
update"UpdateTime" - timenum (HHMMSS) of last data update"Shares"
- total number of shares
Example:"Bid = "+GetRTData("Bid");"Ask
= "+GetRTData("Ask");"Last = "+GetRTData("Last");"Vol =
"+GetRTData("TradeVolume");
"EPS = "+GetRTData("EPS");"52week high =
"+GetRTData("52weekhigh");
Custom indicators:Default names and graph
values appear in the title when using old-style graph0, graph1, graph2
statements in the custom indicators
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.comSend BUG REPORTS to
bugs@xxxxxxxxxxxxxSend SUGGESTIONS to
suggest@xxxxxxxxxxxxx-----------------------------------------Post
AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx (Web page:
<A
href="">http://groups.yahoo.com/group/amiquote/messages/)--------------------------------------------Check
group FAQ at: <A
href="">http://groups.yahoo.com/group/amibroker/files/groupfaq.html
Send BUG REPORTS to bugs@xxxxxxxxxxxxxSend
SUGGESTIONS to
suggest@xxxxxxxxxxxxx-----------------------------------------Post
AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx (Web page:
<A
href="">http://groups.yahoo.com/group/amiquote/messages/)--------------------------------------------Check
group FAQ at: <A
href="">http://groups.yahoo.com/group/amibroker/files/groupfaq.html
Send BUG REPORTS to bugs@xxxxxxxxxxxxx
Send SUGGESTIONS to suggest@xxxxxxxxxxxxx
-----------------------------------------
Post AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx
(Web page: http://groups.yahoo.com/group/amiquote/messages/)
--------------------------------------------
Check group FAQ at: http://groups.yahoo.com/group/amibroker/files/groupfaq.html
Yahoo! Groups Sponsor
ADVERTISEMENT
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 the Yahoo! Terms of Service.
|