ratsh wrote:Longterm AmiBroker user speaking here:
FYI AmiBroker is not dependent on any predefined fix format to get data imported to it. There is no such thing as "fix format". AB works with any format defined. It also provides millisecond data which is not even covered in those two predefined formats. In short those two formats supposed to work with Amiquote are just two of thousands possibilities as there are in addition any other standard data file extensions supported also. Also you don't need Amiquote to get data files imported since you can use any custom data plugin or OLE import script or the two manual file import options in File menu of AB. This is just meant to clarify to remove misunderstanding of how AB works. It's not like MT or NT who only work with fix datafile formats. It is highly flexible. So saying this or that 3rd party software now supports Amibroker for data import sounds quite funny to insiders.
Side note: aqi, aqd, aqh,aqfe other Amiquote file extensions are just standard comma separated ascii data files also and are readable with any texteditor. So there is no mystery about them and no hidden protection.
Hope this clears up a few tings.
##################################################################################################################
Here is one (out of many) examples showing how to import bid/ask price and volume with millisecond timestamp to AmiBroker at once.
##################################################################################################################
In Tickstory choose:
Timeframe: Tick
Timezone: whatever you need
Output format: Custom
Check include header
Header info:
Timestamp,Bid price,Bid volume,Ask Price,Ask volume
Data format (timestamp is again just one of many possiblities):
{Timestamp:yyyyMMdd HH:mm:ss.fff},{BidPrice},{BidVolume},{AskPrice},{AskVolume}
File name: for example use {Symbol}.csv
and start downloading
##################################################################################################################
With notepad++ create a file with following content (this is a "to be done just one time" procedure for each format you need):
##################################################################################################################
Code: Select all
$FORMAT Date_YMD,Time,Close,Volume,Aux1,Aux2
$SKIPLINES 1
$SEPARATOR ", "
$CONT 1
$GROUP 255
$AUTOADD 1
$DEBUG 1
$TICKMODE 1
$TIMESHIFT 0
and save it with file extension .format (for example
TickstoryBidAsk.format) and copy that file to ...\AmiBroker\Formats subfolder
Note:
Timshift line is set to zero but if you want to shift to other time zone during import then for example change to $TIMESHIFT 2 which would shift the time stamp by +two hours while $TIMESHIFT -4 would shift by 4 hours backwards (for example if you want import different timezone as the one you have set in tickstory download. Of course you need to take care of summer/winter time, so you would have to split data file if summer/winter time range is part of same file and need to adjust $TIMESHIFT line for summer and winter time import. Anyway $TIMESHIFT is not needed if you are happy with downloaded timezone. Just showing that it's possible to change time zone after download also.)
Go to same subfolder AmiBroker\Formats, open import.types file placed in there and add line (for example):
TickstoryTickBidAsk (*.csv)|*.csv|
TickstoryBidAsk.format
(you can see that the format file info at the end of the line needs to have same file name as you have saved your format file to before)
save that import.types file
Now you are finished with preparations.
Open AmiBroker, create a Tickstory database, go to File --> Import Ascii, choose file format "TickstoryTickBidAsk" in drop down menu and browse to your tickstory download folder to open your previously downloaded Bid/Ask data file(s) separated or all at once (by marking them).
Of course you can use programmatic import too but that's another short story.
One thing to do while creating your Database and being related to upper example is setting data source to local database since it is off-line data and setting base time interval to tick there. In addition go to File --> Database settings --> Intraday settings of our database and set Aux1 to Last and Aux2 to Sum (since latter one is ask volume). Also set start minutes to "00" from "30" to start hourly TF at 00.
see picture