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