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/
|