OK, at
the risk of dragging this on :-) my disappointment was due to:
1) The
inability of experienced users to look beyond traditional TA. imo, System
Performance Indicators (SPI), that is what my initial OLE code was working
towards, should be part of all system design. SPIs should not be separated from
traditional indicators and only be used for static reporting. They should be
used dynamically and integrated into system design. Today we have plenty of
computer power to do so. This would introduce an entirely new category (AFAIK)
of indicators and, especially if they are provided with arguments like period
and input arrays, they may prove to be extremely useful. Tomasz' new code will
allow users to play with this idea.
2) Some
people knowingly underestimating the amount of work required to provide a
general solution, and/or to learn OLE, CBT, GFX, etc. Spending time learning
new tools takes away from system development and can set the average part-time
user back a year or more - and prevent him/her from ever excelling in any area.
It is far more expedient to just learn, use, and know well, a single language
(AFL). Diversification requires you to divided your time (and mental resources)
over several areas. Remember that after age forty your mind starts to lose its
edge :-) if you deny this you may be in for a surprise.
But no
hard feelings: I still love everyone :-)
Tomasz'
solution is very elegant, and it is a very nice demonstration/introduction
to using the CBT. I love it and I thank him for it. However regretfully it does
not solve my problem; it does not allow me to access equity-derived performance
metrics, in arrays, from an indicator window without running the AA. I need
in-line calculated values that are refreshed as the chart is refreshed and that
can be called from inside a ticker-loop.
Best
regards,
herman
For tips
on developing Real-Time Auto-Trading systems visit:
http://www.amibroker.org/userkb/
Monday,
May 19, 2008, 5:43:28 PM, you wrote:
> There wasn't any frustration in it for me.
> I was disappointed that Herman was disappointed.
> My general point is that it is quite hard to
communicate via boards
> like this, especially if the subject is complex
or has nuances to it.
> An undertone of miscommunication is the norm and
we should allow for
> that.
> Half the time I haven't got a clue what you are
talking about but put
> me down for a copy of the book.
> Before AB I used Metastock.
> I couldn't get the backtester to do what I wanted
it to do so I ended
> up using their explorer as a pseudo backtester.
> The fact is that in many respects it worked quite
well.
> That is how I know that it would be relatively
easy to use the AB
> indicator panes as a 'visual' backtester without
the need for
> complicated code.
> The actual sticking point, which is why I left
MS, is that the
> metrics were cumulative metrics (at least the way
I did it anyway) so
> I couldn't get individual trades, as a series, to
do distributions or
> account for wild outliers etc.
> The other challenge in MS was actually modelling
the trades because
> their program didn't have the levels of
customisation I needed for my
> entries and exists.
> Other than that it worked fine and if I could
have done those things
> I would probably still be there now, not knowing
any better.
> Of course now that I am at AB I am happy that the
program is bigger
> than me. It was rather scary, to me, that a
person with my background
> and experience outgrew MS in under a year.
> I don't see how anyone can complain because
Tomasz has given us the
> CBT, OLE methods etc but at the same time I have
my own preferences
> for and I don't mind sticking up for them.
> brian_z
> --- In amibroker@xxxxxxxxxps.com, Dennis Brown <see3d@xxx> wrote:
>> Brian,
>> As frustrating as threads like this can turn
out for most involved,
> I
>> really like to see this type of discussion
online. We can all
> learn a
>> lot through thrashing out our conceptions and
misconceptions --
> though
>> it might be better on a smaller forum with a
narrow set of
> interests.
>> I am keenly aware that this list has
thousands of readers, most of
>> which are still working towards a basic
understanding of AB/AFL.
>> I have gotten into "trouble"
in the past by posting to make a
> general
>> point, and obliquely mentioning some thing or
principle that I am
>> working on. I mentioned them without
details, because I didn't
> want
>> to encourage a discussion about them.
They were only meant as an
>> example of why I was motivated to post.
>> Laughably, sometimes I find that the thing I
was not trying to make
> an
>> issue becomes a target instead of the real
issue I was trying to
>> address. Sometimes I learn something
valuable in the exchange
> anyway,
>> and sometimes it is just a distraction.
>> There were a lot of apples being thrown and
oranges being thrown
>> back. I am glad you found one of the
fruits to your liking.
>> I am happy with my BT approach and my reasons
for it. The
> discussions
>> here, though valuable for general
understanding, will not change
> my
>> approach to indicator mode single equity
backtesting which is the
>> backbone of my day-trading platform. I
would not expect someone
> to
>> understand what I am doing without a lot of
screenshots and
>> explanations, which would take too much time
for a casual post on
>> someone's else's thread.
>> BR,
>> Dennis
>> On May 19, 2008, at 4:02 AM, brian_z111
wrote:
>> > No disrespect but when guys like you and
Dennis, who are working
> in
>> > specialist areas, post you can't expect
us to pick up your train
> of
>> > thought with only partial explanations
(if you had given me a
>> > screenshot of a spreadsheet mockup and
mini-tutorial I could have
>> > bought in to your search a lot easier).
>> >
>> > By the same token I think you
misunderstood the value of what I
> was
>> > talking about (maybe for the same
reasons although I have talked
>> > about it before).
>> >
>> > First I am talking about something more
generic that has added
> value
>> > if pursued (I only gave the starting
point).
>> > It leads on to inline MoneyManagement
and plotting trade series
>> > frequencies etc.
>> >
>> > Second, from my point of view, I don't
understand why you would
> want
>> > to have indicators as backtesters BUT if
you do want that then you
>> > can have it without new functions (if I
understand you correctly
> but
>> > I am saying that under the assumption
that you agree with Dennis's
>> > defintion of an inline BT).
>> >
>> > By my proposition if you know the trade%
and you know the time in
>> > trade you can calculate any equtiy
metric OR moneymanagement
> outcome
>> > you want. Since, for individual stocks,
you do have that then it
>> > should be do-able without megacode.
>> >
>> > (Keep in mind that I might not fully
understand your needs and
> that
>> > we are live i.e. speculating - if it
looks like I am making a
> mistake
>> > I will throw in my hand).
>> >
>> > Also, I appreciate Fred's/Tomnasz's
answers because, while I think
>> > that another approch offers far more
long term value, they taught
> me
>> > something and it is something I can use
right now (I have a
> policy to
>> > get on with it with what I have OR do it
myself i.e. code or
> plugins
>> > which for me is all about pragmatism. I
am only sidetracking a
> little
>> > bit here and there to give Tomasz my two
cents as I have too much
> to
>> > do to make a career of it).
>> >
>> > As I said, no disrespect.
>> >
>> > I think the topic is worth my honest
input.
>> >
>> > brian_z
>> >
>> >
>> >
>> >
>> >
>> >
>> > --- In amibroker@xxxxxxxxxps.com, Dennis Brown <see3d@> wrote:
>> >>
>> >> Herman,
>> >>
>> >> Actually, your needs and my needs
are closely aligned in this
>> > regard:
>> >> The need for a high speed BT on a
single ticker in an indicator
>> > that
>> >> refreshes on each new tick (more
than 1 per second).
>> >>
>> >> If I had these functions as built-in,
I might not have needed to
>> > write
>> >> my own AFL version.
>> >>
>> >> However, since it can be done in
AFL, we should not rule out the
>> >> #include option as a first viable
choice.
>> >>
>> >> I doubt that what I have written so
far qualifies as a useful
>> > general
>> >> purpose solution for others, but it
is more like 100 lines than
>> > 1000
>> >> lines of AFL.
>> >> However, if I had a good #include to
start with, I would likely
>> > have
>> >> used it as a base to work from, only
adding my unique needs to
> it.
>> >>
>> >> I am still debugging my last rewrite
of my equity function, but I
>> > am
>> >> willing to share what I have
privately with a good AFL coder who
>> > can
>> >> make something more general purpose
to share with all.
>> >>
>> >> Best regards,
>> >> Dennis
>> >>
>> >> On May 19, 2008, at 11:23 AM, Herman
wrote:
>> >>
>> >>> Hello Paul,
>> >>>
>> >>> you are absolutely correct, it
ought to be as simple as running
>> > this
>> >>> code in an Indicator:
>> >>>
>> >>> ....systems code...
>> >>>
>> >>> E = Equity(1);
// This function would be
>> > called
>> >>> once only
>> >>> NP = NetProfit(E);
// New AFL functions
that
>> > return
>> >>> ARRAYs based on the equity Array
>> >>> NPP = NetPercentProfit(E)
>> >>> CA = CAR(E)
>> >>> RA = RAR(E)
>> >>> MaxTradeDD = ... and so on for
all performance metrics.
>> >>>
>> >>> ... second level of systems code
using the above metrics for
>> > system
>> >>> analysis, signal generation,
position scoring, position sizing,
>> >>> etc. ...
>> >>>
>> >>> The so called solutions
discussed in this thread either do not
>> >>> provide the above arrays for use
in auto-refreshing indicators,
>> > or
>> >>> require a thousand lines of code
written by a professional
>> > programmer.
>> >>>
>> >>> best regards,
>> >>> herman
>> >>>
>> >>>
>> >>>
>> >>> For tips on developing Real-Time
Auto-Trading systems visit:
>> >>> http://www.amibroker.org/userkb/
>> >>>
>> >>> Sunday, May 18, 2008, 10:50:31
PM, you wrote:
>> >>>
>> >>>> Herman,
>> >>>> I think I know where you are
coming from. The difference
> between
>> >>>> using indicators vs scripts
is that indicators continue to
>> >>>> recalculate ( or in this
case backtest) as new data arrives.
>> >>>
>> >>>> One way to broker the impass
with Tomasz is consider simple
>> > profolio
>> >>>> backtesting as an AFL
function. Rather than using OLE, This
>> > option
>> >>> is
>> >>>> write a function similar to
Equity() in which the symbols in a
>> >>>> watchlist is read and
backtested.
>> >>>>
>> >>>> I think this function could
be done in AFL today using the
>> > various
>> >>>> functions already available.
ie CategoryGetSymbol to get the
>> >>> symbols,
>> >>>> foreign to set foreign
symbol, the equity() function to get rid
>> > of
>> >>>> excess signals etc. Of
course, you have to do your own
>> >>> ositionscoring
>> >>>> and position sizing. Since
Fred has done this before, may be he
>> > can
>> >>>> comment further or if he is
generous enough, dig out his code
>> > and
>> >>>> post it again.
>> >>>
>> >>>> Essentially, this function
can be called in your indicator afl.
>> > In
>> >>>> that way, you can have your
pie and eat it as well. I'm sure if
>> >>>> Tomasz sees a use in it, he
will incorporate in his list of
>> >>> functions
>> >>>> to do in the future.
>> >>>
>> >>>> What do you think?
>> >>>> Regards
>> >>>> Paul.
>> >>>
>> >>>
>> >>>
>> >>>> ------------------------------------
>> >>>
>> >>>> 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
>> >>>
>> >>>
>> >>>
>> >>>
>> >>
>> >
>> >
>> >
>> > ------------------------------------
>> >
>> > 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
>> >
>> >
>> >
> ------------------------------------
> 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
> <*> To visit your group on the web, go to:
> http://groups.yahoo.com/group/amibroker/
> <*> Your email settings:
> Individual Email | Traditional
> <*> To change settings online go to:
> http://groups.yahoo.com/group/amibroker/join
> (Yahoo! ID required)
> <*> To change settings via email:
> mailto:amibroker-digest@xxxxxxxxxps.com
> mailto:amibroker-fullfeatured@yahoogroups.com
> <*> To unsubscribe from this group, send an
email to:
> amibroker-unsubscribe@xxxxxxxxxxxxcom
> <*> Your use of Yahoo! Groups is subject
to:
> http://docs.yahoo.com/info/terms/