Is there a way to go around this problem?
The main reason why I want
to automate Amiquite is that I am often at work in the evening... But
that's also when I run my optimizations...
Louis
2008/5/22 dingo <
dingo@xxxxxxxxcom>:
You
can't run anything else in AB while doing imports - think about
it.
d
Here is the bug:
AmiBroker version
5.09.0.4880
( cooltool.dll 5.9.0, mfc42.dll 6.2.4131,
msvcrt.dll 7.0.2600 )
Microsoft Windows XP version 5.1 (Build
2600)
Service Pack 2.0
Common Controls: 6.0
Unhandled
exception
Type:
CSysException
Code:
c0000005
Description: ACCESS
VIOLATION
Address: 00424A4C
AFL Parser
status:
Processing stage: NONE
Formula ID: 0 ()
Action 5
(BACKTEST)
Additional information:
Empty stock
database.
Workspace:
Data source = (local), Data local mode = 1,
NumBars = 1000
Preferences:
Data source = (local), Data local
mode = 1, NumBars = 1000
Command history:
2938 - Shows database
settings--Database settings
2863 - Organize assignments to markets,
groups, industries--
Organize assignments
2863 - Organize
assignments to markets, groups, industries--Organize
assignments
2823 - Displays categories: groups, markets, sectors,
industries--Categories
2863 - Organize assignments to markets,
groups, industries--Organize assignments
3044 - Export watch
list
2828 - Shows Analyser - a tool to test systems & explore
market--Auto-Analyser
57617 - Open this workspace
2940 -
Refresh charts only--Refresh
Cache manager stats:
Number of list
elements: 0
Number of map elements: 0
Hash table size:
5987
Memory status:
MemoryLoad: 42 %
TotalPhys: 1564144K
AvailPhys: 897744K
TotalPageFile: 3509328K AvailPageFile:
3020988K
TotalVirtual: 2097024K
AvailVirtual: 1926916K
Last Windows
message:
HWnd: 0x1802ea
Msg:
0x0110
wParam:
0x00170380
lParam: 0x00000000
Detailed
exception information:
Broker.exe caused a
EXCEPTION_ACCESS_VIOLATION in module Broker.exe at
001B:00424A4C
Call Stack:
001B:00424A4C Broker.exe
CPU
Registers:
EAX=00000000 EBX=00000001 ECX=0012F5E8
EDX=0000BCE6 ESI=01F6C696
EDI=01F6C588 EBP=00000D72
ESP=00000D7A EIP=00000000 FLG=00010246
CS=001B
DS=0023 SS=0023 ES=0023 FS=003B
GS=0000
2008/5/22 Louis Préfontaine <
rockprog80@xxxxxxcom>:
Hi again again again,
(lol),
Sorry for all the messages. I am just so excited
about this, cause this will help me a lot since I often work in the
evening and can't use Yahoo current day data.
I worked a bit and
it seems the second code you sent me works fine. Works
perfectly!
The only problem... is that it corrupts the
optimization I was doing. It's bug it seems, because at the moment
when Amiquote tries to update the database (which is optimizing at the
same time) it created a situation where a window pops up and asks me if
I want to continue even if Amibroker is now unstable. Even if I
click "yes" the optimization is dead and I have to re-begin it from
scratch.. A bit frustrating!
Thanks,
Louis
2008/5/22 Louis Préfontaine <
rockprog80@xxxxxxcom>:
Hi again,
Ok, I
think that I understand a bit more how it works. The file.js
will open Amiquote, who will then save the files to a .adq file, which
is Yahoo daily. But this file is only good for one day (until
the next time I run the script), so if for whatever reason I can't
manuallu import the ASCII to the database then I am in
trouble.
Would it be possible with the same type of script to
run Amiquote, to download the quotes AND to save them to the database
(current, or chosen one) directly so that whatever happens the quotes
will always be there when I come back?
Thanks,
Louis
2008/5/22 Louis Préfontaine <
rockprog80@xxxxxxcom>:
Ok I ran an
exploration with phony parameter (C>1) and saved the result to a
watchlist and then exported the watchlist to a .tsl file.
Now I ran the script; it said "No tickers found in
Amibroker" but then it began downloading the information as I wanted
it to do.
But then, my question is: how to take that
information back to the Database I am using? If I understand
correctly (I did some research on the site) the .tls is simply a
ticker list with no more information, so where is going the
information and how to make sure that that information will go
straight back to the database?
Thanks,
Louis
2008/5/22 Louis Préfontaine <
rockprog80@xxxxxxcom>:
Hi
Chris,
Thanks for your help.
The problem I have is
that... I am not sure how to use the .tls files! In
fact, I never used them; instead I would simply use the
"Auto-updated quotes" from the "Tools" menu in AB to automatically
download the quotes from Amibroker. So, I see in the
code that you posted that I need to have the .tls files setted,
and I am not sure how to do this.
1) How to take the
tickers in my current database and put them in the ..tls;
2) How
to be sure that the next morning when I will open AB it will open
the good database and that the database will contain the new
information from the .tls file.
I guess this must be a
really simple thing, but I still didn't get it... yet!
Thanks,
Louis
2008/5/22 Chris DePuy <
cdepuy@xxxxxxcom>:
You could try this.. (where big =
your database name). If you have questions about detailing
this, then you might want to do a "site:www.amibroker.com AB.LoadDatabase" search
and see what is on the ami site.
Good luck
/********************Amibroker open to
database***********************/
AB = new
ActiveXObject("Broker.Application");
AB.LoadDatabase("C:\\Program
Files\\Amibroker\\Big");
AB.Visible = true;
/* retrieve automatic analysis
object */
AA = AB.Analysis;
/***********
*********Amiquote retrieve
current***********************/
AQ = new
ActiveXObject("AmiQuote.Document");
AQ.Open("C:\\Program
files\\Amibroker\\amiquote\\Big.tls");
AQ.GetSymbolsFromAmiBroker();
FromDate
= new Date(2006,7,1,0,0,0);
/* year, month-1, day, hour, min, sec (required by
JScript date constructor) */
ToDate = new Date; // current
time
/* getVarDate is required to convert from JScript Date
to OLE-automation date */
AQ.From =
FromDate.getVarDate();
AQ.To =
ToDate.getVarDate();
AQ.AutoImport = true; // import
automatically
AQ.Source = 1; // Yahoo Current
AQ.Download(); // starts download
// wait until
download and import is finished
while(
AQ.DownloadInProgress || AQ.ImportInProgress
)
{
WScript.sleep(5000); // wait 5
seconds before querying status again
}
/********************Amiquote retrieve current
(end)***********************/
-----
Original Message -----
Sent:
Thursday, May 22, 2008 8:33 AM
Subject:
Re: [amibroker] amiquote lack of control
Thanks,
This is what I was looking
for...
Unfortunately, I know nothing (nada, niet,
rien) of this language. I don't use any ..tls
folder; is it possible to build such script that would
automatically look into AB and update the quotes in the
selected database? Or would it be better to save my
current databse in
.tls?
Thanks,
Louis
2008/5/22 Chris DePuy <
cdepuy@xxxxxxcom>:
Yuki had asked in "Re: [amibroker] amiquote lack of control" now Louis has asked in "Is it possible to run
Amiquote automatically". Here is how to get Amiquote
to run by itself from "outside" of
Amibroker.
Amibroker and its related
programs are easy to make work from other programs, like DOS
boxes, or by double clicking in windows.
2) Now, here's some code to try
(copy this into notepad).
AQ = new
ActiveXObject("AmiQuote.Document");
AQ.Open("C:\\mysymbols.tls");
FromDate = new
Date(1995,5,1,0,0,0);
/* year, month-1,
day, hour, min, sec (required by JScript date constructor)
*/
ToDate = new Date; // current
time
/* getVarDate is required to convert from
JScript Date to OLE-automation date */
AQ.From =
FromDate.getVarDate();
AQ.To =
ToDate.getVarDate();
AQ.AutoImport = true; //
import automatically
AQ.Source = 0; // Yahoo
Historical
AQ.Download(); // starts
download
// wait until download and import is
finished
while(
AQ.DownloadInProgress || AQ.ImportInProgress
)
{
WScript.sleep(5000);
// wait 5 seconds before querying status
again
}
WScript.echo("Download and import
complete");
3) Keep in mind, that you have
to use notepad to create this. And call it, yuki.js
and then save it. Then, double click yuki.js and it'll
run a bunch of stuff in amiquote automatically.
4) If you are interested, you
can use "Scheduled Tasks" to run yuki.js at scheduled times
(See ramvilas 's email from 5/22/08)
-----
Original Message -----
Sent:
Sunday, May 11, 2008 5:35 PM
Subject:
Re: [amibroker] amiquote lack of control
Is there anything for "normal" people? I mean people
who look at the
link you have provided and say, "Gee,
that looks like it should be
useful, somehow, but what
now?" People who think OLE is something you
shout in
Spain, at a bullfight?
Yuki
Saturday, May
10, 2008, 5:29:13 AM, you wrote:
TJ>
Hello,
TJ> Automation via "keyboard simulation"
is not reliable.
TJ> Reliable way to automate is to
use OLE interface
TJ> and that is proper way to
automate AmiQuote
TJ> http://www.amibroker.com/guide/aqobjects.html
TJ>
Best regards,
TJ> Tomasz Janeczko
TJ> amibroker.com
TJ> ----- Original
Message -----
TJ> From: "Yuki Taga" <yukitaga@xxxxatt.ne.jp>
TJ>
To: <amibroker@xxxxxxxxxps.com>
TJ>
Sent: Friday, May 09, 2008 1:37 PM
TJ> Subject:
[amibroker] amiquote lack of control
>>I use
a keyboard automation program (Automate) to do a lot of
routine
>> tasks, including tasks that must get
done when I'm on vacation.
>> (When I'm on
vacation, it means I don't even log into a computer
for
>> *any* reason -- in fact, I don't even want
to *see* a computer when
>> I'm on
vacation.)
>>
>> I also keep a database
of selected US indices and symbols (not
>>
large), that I update with Yahoo (dead-on accuracy is not
necessary).
>> But with Amiquote, I cannot toggle
between 'Current' and
>> 'Historical', because
there is no way to do this via the keyboard.
>>
>> Unfortunately, some Yahoo symbols have daily
data, but no historical
>> data. I like to run
'Current' in the morning (my time), and
>>
'Historical' in the afternoon. Then I'm
covered.
>>
>> I have asked on more
than one occasion that keyboard control be
added
>> to Amiquote, but it is apparently a very
low priority. However, my
>> next paid Amibroker
upgrade will be an equally low priority unless
>>
there is a way to accomplish what I feel I need to
do.
>>
>> Anyone?
>>
>> Yuki
>>
>>
>>
------------------------------------
>>
>> 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 NEW RELEASE ANNOUNCEMENTS and other news always check
DEVLOG:
>> http://www.amibroker.com/devlog/
>>
>> For other support material please check
also:
>> http://www.amibroker.com/support.html
>>
Yahoo! Groups Links
>>
>>
>>
No virus found in this incoming
message.
Checked by AVG.
Version: 8.0.100 / Virus Database:
269.24.0/1460 - Release Date: 5/22/2008 7:06
AM