Dennis:
I feel I
have a lot to learn from dynamic variables here (asked once before), but right
now I can not make this concept work.
Code
below is my modifcation of your concept and it does not crash but only prints
the commas between the strings.
List
becomes H1 on the first pass through the loop, then, SymList is SymList (empty
on first pass) + the first (0) item in H1, or the first symbol. At a minimum,
the Symlist will eventually be ",SPY,etc) as there is no logic to skip the first
comma---unless I am reading it wrong. Same issue on each of the other
ShrList and DatList.
So, not
sure what I am missing, nor have I been successful in adding anything to correct
the problem.
Any
suggestions?
Many
thanks for responding.
Ken
==============================
My code
using your concept"
H1 = "SPY,500,06/04/2008";
H2 = "DIA,100,09/02/2008";
H3 = "QQQQ,300,08/04/2008";
H4 = "BEARX,1204,05/21/2007";
TotalSymbolCount = 4;
SymList =
"";
ShrList =
"";
DatList =
"";
for( i=1; i < totalSymbolCount; i++ )
{
list
= StaticVarGetText( "H" + NumToStr(i, 1.0, 0));
SymList = SymList + "," + StrExtract( list , 0);
ShrList =
ShrList + "," + StrExtract( list, 1);
DatList = DatList + "," + StrExtract( list, 2);
}
Title = Symlist +
"\n"
+
ShrList + "\n" +
DatList;
===============================
Ken,
This is quite easy by using the StrExtract( list, item) function. I
am doing some similar things in the AFL I am writing for the AFL Glossary
project.
Typing this off the top of my head to give you the basic idea:
For( i=1; i < totalSymbolCount; i++ )
{
list =
VarGetText( "H" + NumToStr(i, 1.0, 0);
SymList
= SymList + "," + StrExtract( list , 0);
ShrList = ShrList + ","
+ StrExtract( list, 1);
DatList = DatList + ","
+ StrExtract( list, 2);
}
BR,
Dennis
On Sep 19, 2008, at 12:53 PM, Ken Close wrote:
I have tried various
constructions to achieve the following, but the code gets complex and has no
good way of detecting end of string.
I would like to take a
series of strings, H1, H2, H3, and create lists of the elements, as
such
H1
= "SPY,500,06/04/2008";
H2
= "DIA,100,09/02/2008";
H3
= "QQQQ,300,08/04/2008";
and turn them into these
three lists
SymList
= "SPY,DIA,"QQQQ";
ShrList
= "500,100,300";
DatList
= "06/04/2008,09/02/2008,08/04/2008";
Hx strings would be hard
coded into the overall afl although one could set up a variety of paramtxt
statements to enter them.
Seems like it would be
somewhat easy (and maybe it is), but I get bogged down in switch/case
statements, or complex if/else statements.
Anyone see a more simple
way to arrange the strings.
My ultimate goal is to
have a list of "holdings" and some simple statistics
displayed.
AA window with a
Watchlist seems obvious--yes?--but I need to have multiple positions of the
same symbol, and I do not think you can put multiples of the same symbol in a
watchlist--same symbol with different shares purchased on different
dates-- (is there a way?).
I next tried dynamic
variables, in order to manipulate symbols and their associated price
statistics, but that bombed.
So now I am attempting to
display my list of holdings in a Gfx title statement.
I successfully have it
displayed, but using long strings, like above for the SymList, ShrList, and
DatList. This gets unmanageable when the number of symbols gets large
and you try, by eye, to coordinate the dates and shares.
Thus, I was hoping to
list a three element string reprenting each holding and then rearrage them
into long string lists.
any
ideas?
thanks.
__._,_.___
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
__,_._,___
|