----- Original Message -----
Sent: Friday, July 04, 2008 8:13
PM
Subject: RE: Ah Tomasz: RE:
[amibroker] Ping Paul Ho---Re: Import Data into OI field? Using a
Watchlist
Tomasz:
Figured out the (now) simple looking commands to use the
Watchlist.
Ranking = C; // replace this with something you want to store
ab =
createobject("broker.Application");
target =
ab.Stocks(name());
qts = target.Quotations;
AA = AB.Analysis;
AA.ApplyTo
= 2;
for(i = 0; i < Barcount; i++)
{
qt =
qts.Item(i);
qt.OpenInt = Ranking[i];
}
buy = sell = 0;
I would still be
interested to know what happens to Amibroker operation if the IsDirty Flag
is NOT set, if the OI field now contains a value put there by this OLE
code.
Secondly, I can
"clear" the value by changing the Ranking value to 0 in the first line
above. This inserts a zero. Does this mean the symbol is still
"Dirty"?
Ken
Ah, Tomasz:
Couldn't you have also tossed in the few statements I
need to make it work with a Watchlist. And where do you put the
target.IsDirty = True statement. And what do you do when you remove
the value from the OI field? And what happens if you forgot (or never
knew) to set the IsDirty Flag to True? What happens to program
operation when that symbol is used by some other code?
Thanks for adding some more
information.
Ken
Ranking = C; // replace this with something you want to store
ab =
createobject("broker.Application");
target =
ab.Stocks(name());
qts = target.Quotations;
for(i = 0; i <
Barcount; i++)
{
qt =
qts.Item(i);
qt.OpenInt = Ranking[i];
}
buy = sell = 0;
Hello,
You need to know that AB caches data.
If you are writing directly to quote array thru OLE you
need to
set "IsDirty" flag, after you are done with writing to
given symbol.
target.IsDirty = True;
Best regards,
Tomasz
Janeczko
amibroker.com
----- Original Message -----
Sent: Friday, July 04, 2008 5:47
PM
Subject: [amibroker] Ping Paul
Ho---Re: Import Data into OI field? Using a Watchlist
Paul:
Sorry to bother you again.
I have proven that your small COM object code stuck
at the end of a very complex AFL will successfully stuff the one
parameter I want to save into the OI field.
Yea!
But, is a scan supposed to work on all symbols
within a Watchlist? I tried to run the code (scan) against a three
symbol watchlist but it did not work (only updated the current
symbol).
I see there is an Analysis object Analysis.ApplyTo and there is something called a
SCAN Method, but by trial and error, I can not come up with a
statement(s) that works.
Would you be so kind to show me the statement(s)
that need to be added so that I can run through the symbols in a
watchlist, and stick the "Ranking" variable into the OI field of each
one of them?
It would get me so very close to a major milestone
in my quest.
Thank you so much.
Ken
Ken
I presume you are using the latest version of
AB.
I have just tried it myself and I have come
back with a COM object error
run it in previous version and is working
fine.
Can you try it on an old version of AB, if you
have the same result. It is time to call on Tomasz to fix
it.
Paul:
I tried the code you shared below to see if I could
stick the
"Ranking=C" value into the OI filed of a single symbol,
and I got
nothing. I ran Scan over a short date range, clicked
"Refresh All",
and then looked in the Quote Editor for the change,
but none was there.
What needs to be done to make this
work?
Can the COM OBJECT application be put onto the end of an AFL
file
(which generates the Ranking value), and still be expected to
work?
Need help. Thanks for any suggestions.
Ken
---
In amibroker@xxxxxxxxxps.com,
"Paul Ho" <paultsho@xx.> wrote:
>
> Bob
>
You can't do it in Amiquote or fget, but you can do it with COM
objects.
> The following example gives you a means
>
Ranking = C; // replace this with something you want to store
>
ab = createobject("broker.Application");
> target =
ab.Stocks(name());
> qts = target.Quotations;
> for(i
= 0; i < Barcount; i++)
> {
> qt = qts.Item(i);
>
qt.OpenInt = Ranking[i];
> }
> buy = sell = 0;
>
> Run scan over tickers that you want. and Remember to refresh
all to
see the
> changes
> It is very important to know
that AB does not detect the OI field for
> changes, so if there
is no other changes in your database, pressing save
> doesnt
save your changes in OI (at least that was the case in the
past),
To
> force save, choose save database as, or make some sure
there are
some other
> changes in your database and press
save. Otherwise, the OI fields
would be
> blank next time you
open it.
> Good luck.
>
>
>
> _____
>
> From: amibroker@xxxxxxxxxps.com
[mailto:amibroker@xxxxxxxxxps.com]
On
Behalf
> Of bjagow@xxx
> Sent: Friday, 21 March 2008 10:38
AM
> To: amibroker@xxxxxxxxxps.com
>
Subject: [amibroker] Import Data into OI field?
>
>
>
>
>
> Although I understand that
additional AB data arrays [and means of
> populating them] are
planned for the future, I'd like to store a weekly
> value into
the OI field.of existing tickers.
>
> Any way to do this
with AmiQuote?
> If not, how about with fget, etc?
>
> TIA,
> Bob
>