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 >
__._,_.___
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
__,_._,___
|