|
本帖最後由 joshsmi 於 12-12-30 00:28 編輯
sdnian 發表於 12-12-28 17:03
我個人想法是這樣... AB 會有什麼功能, 完全由作者一個人主觀的意思來決定, 當作者不認為某項功能是有需 ...
What you say in regards to IAB is nonsense
Hello,
Also read this (to the VERY END of document):
htt p://w ww.amibroker.com/ib.html
With default settings AmiBroker attempts to backfill not 5 days but *30* (THIRTY) days
and that is 6 times more than IB capability per single request (IB allows only 5 days in one request).
To get 30 days program needs to split it into 6 requests.
So if you are comparing to 5-day only backfill you are comparing apples to oranges.
So you would need to change backfill length to 5 days in the plugin status menu
as explained in the document referenced above.
Best regards,
Tomasz Janeczko
amibroker.com
Hello,
Precisely. If you actually read API docs:
w ww.interactivebrokers.com/en/software/apiReleaseNotes/api_84.php?ib_enti\ty=uk#84_intraday
you would see what are the limits of backfill and that they are set by IB, not AmiBroker.
See the table in the document pointed out above. 2000 seconds is maximum
backfill length when timeslice duration is 1 second (finest available @ IB).
Therefore you can not get more than 2000 seconds in one request when
your database is set to Base time interval of "Tick".
The only way to get more than 1 day of backfill data is to use base time interval of 1-minute.
Best regards,
Tomasz Janeczko
amibroker.com
Error 162 is "Historical market Data Service error message."
It means that something is wrong on TWS/IB end (i.e. with their historical server).
You may be not connected or you may be facing IB throttling.
As I wrote many times on this list TWS has *fixed* limit of 1 backfill at a time.
It can not be worked around.This is hardcoded in TWS.
Therefore you need to ask for data once at a time.
Best procedure is as to run AB before market open, put the symbols you need
into Real-time Quote window, click with RIGHT mouse button over plugin status
window and select "Backfill All RTQ symbols", this will step through all
rt quote window symbols once at a time at backfill them all.
If you experience problems with pacing violation you may also go to File->Database Settings, click "Configure" and turn OFF "automatic backfill on first data access".
As written here:
htt p:/ / w ww.amibroker.com/ib.html
If you switch "automatic backfill on first data access" option off, you will still be able to backfill data for current symbol or all symbols in real-time quote window list usign appropriate menu options from plugin status menu.
Backfill Current option allows to force backfill of currently selected symbol, while Backfill All RTQ symbols allow to force backfill of all symbols listed in Real-Time Quote window. Backfill of multiple symbols is performed sequentially (one at a time) due to limitations of TWS.
Best regards,
Tomasz Janeczko
amibroker.com
etc. etc
Also read here w ww.amibroker.com/guide/h_ib.html
And if you should have problems ask support at Amibroker. They reply pretty fast.
And this is by Interactive Brokers:
All of the API technologies support historical data requests. However, requesting the same historical data in a short period of time can cause extra load on the backend and subsequently cause pacing violations. The error code and message that indicates a pacing violation is:
162 - Historical Market Data Service error message: Historical data request pacing violation
The following conditions can cause a pacing violation:
Making identical historical data requests within 15 seconds;
Making six or more historical data requests for the same Contract, Exchange and Tick Type within two seconds.
Also, observe the following limitation when requesting historical data:
Do not make more than 60 historical data requests in any ten-minute period.
|
|