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@xxxxxxxxxps.com,
"Howard B" <howardbandy@...> 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@xx.> 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@xxxxxxxxxps.com
<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
> > >
> >
> >
>
>
>