PureBytes Links
Trading Reference Links
|
I guess I will start a debate that I don't intend to participate in
but state it for consideration. It seems many are trying to tweak
their back tester to find the absolute best performance but include
intangibles like slippage. Back testing, in my opinion, should only
be used to compare systems to find which out performs another. That
is all you need to do because the market will change and the system
will not work as you expect. So it is a waste of time to try to eek
our more gain or try to factor in slippage or all such nonsense.
Why do I say this? I have a system that consistently will back test
200% to 1000% A DAY using 1 Russell emini contract ER2 and a 1 minute
chart. In longer periods the gain is less and I use various time
periods and data samples. In the real world it does not make a profit
on a 1 minute chart. But that system works much better than one that
back tests with less gain and the system does not even start to make
a consistent gain with a period under 15 minutes. Using hour charts
it is much better but no where near 200% a day the back tester shows.
The problem is when you enter the real world, especially with auto
trading, whipsaw during sideways periods and during trend changes
will eat your lunch. Auto trading will come close to getting the
value of the close at the time the signal was generated by your
system. But there is slippage and that can be significant depending
on the buy/ask spread and the volatility of the market. You can't
predict what it will be. Don't even try! Even if you use a simple
button pushing auto trading system, where you hit the buy or sell
button when you see your signal, you can't hit the button fast enough
to simulate the price you get on the static chart. So your results
will not come close to your back test results. I REPEAT NOT EVEN
CLOSE!!! So it is a waste of time to do more than use back testing to
compare systems. Trying to predict what it will do in the real world
is deceitful, sheer folly, don't do it.
Well that's my two cents worth. I am going back to sleep now.
Cheers,
Barry
--- In amibroker@xxxxxxxxxxxxxxx, "Howard B" <howardbandy@xxx> wrote:
>
> Hi Louis --
>
> Perhaps write a simple loop?
>
> for (i=0; i<BarCount; i++)
> {
> // test to see if there was a Buy on this bar
> // and if there was, adjust BuyPrice
> if (Buy[i] == 1)
> {
> BuyPrice[i] = 1.01*BuyPrice[i];
> }
> }
>
> Or am I missing something?
>
> Thanks,
> Howard
>
>
>
>
> On Tue, Jul 1, 2008 at 9:27 PM, tayamaan <tayamaan@xxx> wrote:
>
> > Louis, you now assume your slippage to be 1%, which is a guess
> > anyways. It differs per situation what your system considers to be
> > the Buy/Sell Price and what you actually pay or get at the market.
> > These are still two different things. I wouln't know how to
calculate
> > the real slippage, all you can do is comparing the difference
over a
> > period of time and take some kind of average.
> >
> > Adrian
> >
> > --- In amibroker@xxxxxxxxxxxxxxx <amibroker%40yahoogroups.com>,
Graham
> > <kavemanperth@> wrote:
> > >
> > > turn off the option of PriceBoundChecking in the Analyser
settings
> > of in the AFL
> > >
> > > SetOption( "PriceBoundChecking", 0 );
> > >
> > > --
> > > Cheers
> > > Graham Kav
> > > AFL Writing Service
> > > http://www.aflwriting.com
> > >
> > >
> > > 2008/7/2 Louis Préfontaine <rockprog80@>:
> > > > Hi,
> > > >
> > > > But is it possible to set the backtester to consider that the
> > buyprice was
> > > > let's say 1% higher than the Close on the bar the trade was
made?
> > > >
> > > > That's what I tried to do. If it's complicated, I can live
with
> > this (well,
> > > > I can at least try, since I believe I am still a beginner in
> > understanding
> > > > AFL), but I'd need to know if it is possible, and if yes, what
> > can be a good
> > > > start...
> > > >
> > > > Was I on the right track with
> > > >
> > > > SetTradeDelays( 1, 1, 1, 1 );
> > > > BuyPrice = c*1.01;
> > > > SellPrice = c*0.99;
> > > >
> > > > Cause it does not work at all...
> > > >
> > > > Thanks again,
> > > >
> > > > Louis
> > > >
> > > > 2008/7/1 Graham <kavemanperth@>:
> > > >>
> > > >> Then you need to set out exactly what you need to do and
write
> > the afl to
> > > >> match
> > > >> It is all logical steps
> > > >> I do it by writing down all the restrictions and
possibilities
> > and
> > > >> what I need at the end and how I think is best way to achieve
> > this
> > > >> ......... in detail. There are no short cuts and can be very
> > tedious.
> > > >> I also more often than not write out a flow chart to map all
> > > >> decisions, inputs, outputs, calculations etc.
> > > >>
> > > >> --
> > > >>
> > > >> Cheers
> > > >> Graham Kav
> > > >> AFL Writing Service
> > > >> http://www.aflwriting.com
> > > >>
> > > >> 2008/7/2 Louis Préfontaine <rockprog80@>:
> > > >> > Hi Adrian,
> > > >> >
> > > >> > Thanks for your suggestion. But still... How can I do
this? I
> > mean: I
> > > >> > want to be precise. With the kind of markets I am in and
what
> > I am
> > > >> > trying
> > > >> > to do, precision is very important... I need to be able to
set
> > a
> > > >> > particular % adjustment for particular situations...
> > > >> >
> > > >> > Louis
> > > >> >
> > > >> > 2008/7/1 tayamaan <tayamaan@>:
> >
> > > >> >>
> > > >> >> Hi, if you would really like to try to compensate for
> > slippage,
> > > >> >> adding this to your commissions as part of your
transaction
> > costs is
> > > >> >> perhaps an idea.
> > > >> >>
> > > >> >> Adrian
> > > >> >>
> > > >> >> > Hi Graham,
> > > >> >> >
> > > >> >> > How can I put more information so that my buy price is
1%
> > higher
> > > >> >> than C and
> > > >> >> > sell price 1% lower than C?
> > > >> >> >
> > > >> >> > Thanks,
> > > >> >> >
> > > >> >> > Louis
> > > >> >> >
> > > >> >> > 2008/7/1 Graham <kavemanperth@>:
> > > >> >> >
> > > >> >> > > Without more information on what you are trying to
achieve
> > > >> >> > > The price will be for the bar of actual entry C*1.01
or
> > C*0.99
> > > >> >> > >
> > > >> >> > > Also the prices may be outside than the bar range in
> > which case
> > > >> >> the
> > > >> >> > > closer of high or low is used if you have the
> > PriceBoundChecking
> > > >> >> on
> > > >> >> > >
> > > >> >> > > --
> > > >> >> > > Cheers
> > > >> >> > > Graham Kav
> > > >> >> > > AFL Writing Service
> > > >> >> > > http://www.aflwriting.com
> > > >> >> > >
> > > >> >> > > 2008/7/1 Louis Préfontaine <rockprog80@ <rockprog80%
> > > >> >> 40gmail.com>
> > > >> >> > > >:
> > > >> >> > >
> > > >> >> > > > Hi,
> > > >> >> > > >
> > > >> >> > > > I have been trying to set a formula for slippage:
> > > >> >> > > >
> > > >> >> > > > SetTradeDelays( 1, 1, 1, 1 );
> > > >> >> > > >
> > > >> >> > > > BuyPrice = C*1.01;
> > > >> >> > > > SellPrice = C*0.99;
> > > >> >> > > >
> > > >> >> > > > It doesn't work at all. I tried to write C*50 just
for
> > fun, but
> > > >> >> it didn't
> > > >> >> > > > change the buyprice at all. What can possibly be
wrong?
> > > >> >> > > >
> > > >> >> > > > Thanks,
> > > >> >> > > >
> > > >> >> > > > Louis
> > >
> >
> >
> >
>
------------------------------------
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@xxxxxxxxxxxxxxx
mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx
<*> To unsubscribe from this group, send an email to:
amibroker-unsubscribe@xxxxxxxxxxxxxxx
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|