>I agree. But last couple of times this group voted, more
people voted
>to keep the Yahoo email list than move to a forum.
People didn't vote against a different forum, only against the only
choice offered, which was a forum without messages by mail.
If Tomasz wanted a new forum we would have one already!
Since it was only yesterday that Tomasz had to remind us that his
answers on this board detract from development time then that
confirms my view that we are all losers but he is the biggest loser
of all by not moving to a better format.
> Maybe in the future a forum will be found that can also email all
> threads, for those that want to stick to email.
Although I am not at all optimistic that my view will prevail I post
some relevant points anyway:
- forum software with messages by mail exist but Tomasz said he will
not pay for software
- perhaps free/open source software, complete with email service, is
out there somewhere (I don't know because I don't follow that type of
thing)
- PHBB was the considered version, in the aforementioned poll, and it
was described in the poll preamble as being devoid of mail but it
does have some mail features (I don't use it and don't know exactly
what it provides)
- PHBB does have some comm modes, a few of which are superior to the
mail that comes from this list e.g. users can elect to receive mail
notification limited to posts that reply to their topics?
- PHBB has mail digest, jabber, messaging, private emails etc (are
they any good?)
http://www.phpbb.com/support/documentation/3.0/adminguide/acp_general.
php
- PHBB is open source and allows/encourages user added features e.g.
add on for RSS feed exists
http://www.phpbb.com/community/viewtopic.php?f=69&t=1189825
Possibly a mod for mailing messages exists OR Tomasz OR the community
could write one but once again, as always, it comes down to what
Tomasz wants OR the goodwill of the community.
Note: from my experience at the UKB Tomasz emphatically does not want
to write mods for open source software, in fact just the opposite.
My impression, gathered there, was that he does not have the time, or
the inclination, to intensively support community projects.
--- In amibroker@xxxxxxxxxps.com,
"ozzyapeman" <zoopfree@xx.> wrote:
>
> I agree. But last couple of times this group voted, more people
voted
> to keep the Yahoo email list than move to a forum.
>
> Maybe in the future a forum will be found that can also email all
> threads, for those that want to stick to email.
>
> And for the rest of us, the superior archiving and search ability
of
> forums will be finally be available. There should be sub boards for
> each broad category of AmiBroker, stickies on each board for
popular
> topics and "open source" AFLs that everyone can tweak over time...
>
>
> --- In amibroker@xxxxxxxxxps.com,
"sidhartha70" <sidhartha70@>
wrote:
> >
> > If they can ever find it in 6 months time - which I doubt,
and
that's
> > the main reason a top notch forum would be better than a user
group in
> > my humble opinion...
> >
> > --- In amibroker@xxxxxxxxxps.com,
"ozzyapeman" <zoopfree@> wrote:
> > >
> > > Thanks, Tomasz. It's all finally clear now, and makes
sense.
> > >
> > > On the bright side, at least this thread will supply
future
answers to
> > > anyone who gets as confused as I was in setting Forex
correctly
in the
> > > backtester.
> > >
> > > Thanks again!
> > >
> > >
> > > --- In amibroker@xxxxxxxxxps.com,
"Tomasz Janeczko" <groups@>
wrote:
> > > >
> > > > Did you read what I wrote on -at list?
> > > > Interactive Brokers is NOT a typical Forex dealer.
> > > > The instructions on forex on KB were mere example
of one of
many
> > > possibilities
> > > > and actual settings of course vary from
broker/dealer to
> > > broker/dealer as each broker/dealer on this
> > > > planet sets its own margin rules.
> > > >
> > > > Interactive Brokers do not operate on full 100'000
lots only
(they
> > > allow you to buy for example 25000 EUR) and
> > > > report actual CASH positions, instead of lots. If
you
actually DO
> > > the trading with them
> > > > you will quickly find out that you end up with
EUR33.12 and
JPY2314
> > > "remainings" on your account
> > > > if you trade EURUSD or JPY because of the fact that
those CASH
> > > positions earn interest.
> > > > That would never happen with true *Forex* dealer
that would do
> > > overnight rollover.
> > > > Also IB does NOT use fixed deposit. They use
percentage
deposit
> > (2.5%),
> > > > therefore you should always use MarginDeposit =
-2.5 as
negative
> > > sign means percent.
> > > >
> > > > As instructed on the -at list the settings for IB
are
> > > >
> > > > SetPositionSize( 100000, spsShares );
> > > > MarginDeposit = -2.5;
> > > >
> > > > and currency set to USD.
> > > >
> > > > Typical Forex dealer as GFT trades in 100'000 lots
and
*reports*
> > > lots, unlike IB.
> > > > That's why you can use 1 "share" = 1 lot paradigm.
> > > >
> > > > Of course you can insist on using lots with IB,
however, it
is not
> > > the way they operate.
> > > >
> > > > You are so much concerned about deposit which in
fact does not
> > > matter at all because
> > > > it is eventually returned in full to your account
once you
close the
> > > position, so dollar profit
> > > > does NOT depend on deposit (only percent profit
does).
> > > > However if you set incorrect currency for the
symbol, you are
> > > risking gettting your profits incorrect
> > > > because your profits will be transfered back to
base currency
via
> > > conversion.
> > > >
> > > > Best regards,
> > > > Tomasz Janeczko
> > > > amibroker.com
> > > > ----- Original Message -----
> > > > From: ozzyapeman
> > > > To: amibroker@xxxxxxxxxps.com
> > > > Sent: Friday, January 23, 2009 1:57 AM
> > > > Subject: [amibroker] Re: How to force Backtester to
Calculate
> > > Position Size on Open Price?
> > > >
> > > >
> > > > Tomasz (and anyone else who cares to comment) --
> > > >
> > > > At the risk of turning myself into a major pain in
the
butt, I
> > > must make one more post on this subject, if only for the
sake of
> > > completion. I realize you already mentioned to email
support,
but I am
> > > sure others will benefit.
> > > >
> > > > I believe that the Amibroker instructions for
setting up
Forex may
> > > be incorrect. However, I am willing to concede that
perhaps I am
> > > merely retarded (won't be the first time I've had major
> misconceptions).
> > > >
> > > > But first, thank you for your very comprehensive
responses
on this
> > > subject, both in this thread, and on the autotrade
forum. I
spent half
> > > the day going over your posts and doing some tests with
real
money.
> > > >
> > > > I went to my IB Live Account (not the virtual) and
did some
actual
> > > FOREX trades. From my TWS account, here are some figures
from
one such
> > > trade, that will serve as a typical example:
> > > >
> > > > Short 100,000 EUR.USD @ 1.30078 entry price
> > > >
> > > >
> > > > value: $130,078.00
USD
> > > > margin requirement (40:1): $ 3,251.48
> > > > cash deducted from my acct: $ 3,251.48 + commission
> > > >
> > > > The above is no surprise, and is exactly what I
expected. I
did
> > > several Short/Cover and Buy/Sells to be sure.
> > > >
> > > > Now, in order to simulate the above real-world
behavior
with the
> > > AB backtester, these are the settings I use:
> > > >
> > > > Set Symbol Information --> EUR.USD -->
Currency to EUR,
and not
> > > USD as you suggested and as written in the Knowledge
Base.
> > > >
> > > > I know that EUR.USD is denominated in USD, but
setting
currency to
> > > EUR is the only way to get it to work properly.
> > > >
> > > > AFL settings:
> > > >
> > > > SetOption("FuturesMode", 1);
> > > > SetOption("InitialEquity", 100000);
> > > > SetOption("InterestRate",0);
> > > > SetOption("MaxOpenPositions", 1);
> > > > SetOption("MinPosValue", 0);
> > > > SetOption("MinShares", 1);
> > > > TradeDelays(0, 0, 0, 0);
> > > > SetPositionSize(1, spsShares);
> > > > TickSize = 0.0001; // The minimum price move of
symbol for
> > > Forex
> > > > PointValue = 100000;
> > > > RoundLotSize = 1;
> > > > MarginDeposit = 2500;
> > > > BuyPrice = SellPrice = ShortPrice = CoverPrice =
Close;
> > > >
> > > >
> > > > With the above settings, the backtester mimics the
real
world
> > > results. Each lot of 100,000 Euro is bought with a
margin
deposit of
> > > (100,000 * entry price / 40) US dollars, as it should
be, and
that
> > > amount is correctly deducted from Cash for each Entry.
The
detailed
> > > Log Report verifies this behavior.
> > > >
> > > > If we instead set Symbol Information --> EUR.USD
-->
Currency to
> > > USD, then each lot of 100,000 Euro gets purchased with
$2,500
USD. And
> > > $2,500 USD is deducted from Cash for each entry,
regardless of
current
> > > EUR.USD price. That is incorrect, and does not mimic the
real
world.
> > > Nor does it make any sense that I can fathom.
> > > >
> > > > In a similar vein, this calculation from the
Knowledge Base
> > > appears to be incorrect:
> > > >
> > > >
> > > > http://www.amibroker.com/kb/2006/08/09/amibroker-for-forex/
> > > >
> > > >
> > > > "Then - once everything is configured - press
BACKTEST
button. Now
> > > let's have a look at the results list.
> > > > The profit is calculated as follows:
> > > >
> > > > NumContracts * (SellPrice - BuyPrice) * PointValue
> > > >
> > > > In the first transaction:
> > > > - the Entry Price is equal to 1.2154
> > > > - the Exit Price is equal to 1.2304
> > > > - NumContracts = 3 (since we trade 3 contracts).
> > > > - we trade on 1% margin so deposit is $1,000 x 3 =
$3,000
(that's
> > > expressed in Position Value)....."
> > > >
> > > >
> > > >
> > > >
> > > > The $3,000 figure above should instead be: 3 *
($100,000*1.2154
> > > / 100 ) = $3,646.20
> > > >
> > > > I invite anyone out there to test this out for
themselves
on their
> > > Forex broker account, using real money. Then try to
simulate
the trade
> > > behavior in the backtester. Then please tell me I'm not
crazy!
> > > >
> > > > And if turns out that I am crazy, I will eat crow,
and
slink away,
> > > only to repost another day in much more humble form. :-)
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > --- In amibroker@xxxxxxxxxps.com,
"Tomasz Janeczko"
<groups@>
> wrote:
> > > > >
> > > > > "rather $2,500 multiplied by the dynamic
exchange rate!"
> > > > >
> > > > > Yes, if you are using dynamic exchange rate
and if
> currencies are
> > > > > defined in the symbol database.
> > > > > However EURUSD should not have "EUR" currency
defined,
because
> > > > > it is denominated in DOLLARS, not in euros.
EURUSD is the
amount
> > > > > of US DOLLARS you get for one euro. So it is
denominated
in US
> > > dollars,
> > > > > as any US contract. This is different than
USDJPY which is
> > > denominated
> > > > > in Yen (i.e. it represents amount in Yen you
get for one
US
> > > dollar). In that case
> > > > > the currency should be set to "Yen" in
Information window.
> > > > >
> > > > > However for EURUSD symbol, the currency in the
Information
> > > window should be set to USD,
> > > > > because EURUSD quotes are denominated in US
dollars.
> > > > >
> > > > > Best regards,
> > > > > Tomasz Janeczko
> > > > > amibroker.com
> > > > > ----- Original Message -----
> > > > > From: "ozzyapeman" zoopfree@
> > > > > To: amibroker@xxxxxxxxxps.com
> > > > > Sent: Thursday, January 22, 2009 4:55 PM
> > > > > Subject: [amibroker] Re: How to force
Backtester to
Calculate
> > > Position Size on Open Price?
> > > > >
> > > > >
> > > > > > Thanks again for the feedback Tomasz. I
do realize you
are
> > > busy with
> > > > > > development and what not, and really
appreciate all the
> > > responses you
> > > > > > make on this board. Frankly, I don't know
where you get
the
> > > time to do
> > > > > > all that you manage to do!
> > > > > >
> > > > > > And it's certainly not my intention to
clutter up the
board.
> > But I
> > > > > > think that there are a lot of others out
there who might
> > share my
> > > > > > confusion on backtesting Forex. The topic
does come up
from
> > > time to time.
> > > > > >
> > > > > > I will use support for further questions
on this issue.
But I
> > > did want
> > > > > > to point out that, when clicking on
detailed log, I see
> that the
> > > > > > backtester is in fact working the way I
outlined, i.e.
it
> is not
> > > > > > deducting a static $2,500, as you seem to
be saying, but
> > > rather $2,500
> > > > > > multiplied by the dynamic exchange rate!
> > > > > >
> > > > > > Anyway, I am sure you are correct in what
you were
trying to
> > > point out
> > > > > > to me, but I must be understanding things
differently.
I will
> > > send an
> > > > > > email to Marcin to see if he can
alleviate my
confusion. :-)
> > > > > >
> > > > > >
> > > > > >
> > > > > > --- In amibroker@xxxxxxxxxps.com,
"Tomasz Janeczko"
groups@
> > wrote:
> > > > > >>
> > > > > >> Hello,
> > > > > >>
> > > > > >> > First, I am backtesting
Intraday, not EOD, so time
> stamps are
> > > > > > relevant.
> > > > > >>
> > > > > >> Problem is that I had to guess what
you are using
since I
> > didn't
> > > > > > find any info
> > > > > >> about interval in use in previous
e-mail and lack of
complete
> > > > > > information
> > > > > >> about what you are actually doing
makes the whole
information
> > > > > > exchange longer.
> > > > > >>
> > > > > >> Please do use support at
amibroker.com
> > > > > >> Marcin is sitting there waiting for
you to help.
> > > > > >> It is way better way as we don't want
to clutter 9000+
list
> > > members'
> > > > > > inboxes.
> > > > > >>
> > > > > >> >How can you say that the price of
buying 100,000 EUR
is
> always
> > > > > > fixed at $2,500 USD no matter how the
EUR.USD price
> > fluctuates?!
> > > > > >> > How could that simulate a
realistic backtest?!
> > > > > >>
> > > > > >> It is so because you DEFINED it so in
your formula
using this
> > > single
> > > > > > line:
> > > > > >> MarginDeposit = 2500;
> > > > > >>
> > > > > >> So your calculations are actually
incorrect. Only 2500
is
> > > subtracted
> > > > > > from your account
> > > > > >> (because you have defined constant
margin).
> > > > > >>
> > > > > >> The information about that is readily
available in the
> manual.
> > > > > >> http://www.amibroker.com/guide/h_futbacktest.html
> > > > > >>
> > > > > >> MarginDeposit is the amount paid by
the trader when
entering
> > > given
> > > > > > futures position.
> > > > > >> Depending on instrument you are
trading margin deposit
can be
> > > dynamic (
> > > > > >> when expressed as FRACTION of price)
or constant.
> > > > > >>
> > > > > >> In your formula you have specifically
decided to use
CONSTANT
> > > > > > margin, using this line:
> > > > > >> MarginDeposit = 2500;
> > > > > >>
> > > > > >> That's why I said - the price does
not matter, because
> you have
> > > > > > choosen to use
> > > > > >> STATIC deposit that does not vary
with price.
> > > > > >>
> > > > > >> If you wish to use dynamic margin,
you should define it
> > > accordingly.
> > > > > >> You can use actual dynamic number or
percentage. To use
> > > percentage -
> > > > > > use negative numbers
> > > > > >> For example
> > > > > >> MarginDeposit = -10;
> > > > > >> means that margin is 10% of contract
price.
> > > > > >>
> > > > > >> (again please look at:
> > > > > > http://www.amibroker.com/guide/h_futbacktest.html
- it
is all
> > > > > > described there)
> > > > > >>
> > > > > >> There is no substitute to re-reading
the manual if in
doubt.
> > > If you
> > > > > > have any trouble
> > > > > >> please use SUPPORT, not this list. He
is very keen to
answer
> > > any of
> > > > > > your questions / troubles.
> > > > > >>
> > > > > >> Sorry but I am pretty busy and I am
here on this list
from
> > > time to
> > > > > > time only and only for "public interest"
things.
> > > > > >> My task is NOT to do individual user
support. It is
Marcin
> > > task, so
> > > > > > please use support at amibroker.com
> > > > > >> My tasks are:
> > > > > >> a) developing the program
> > > > > >> b) analysing and planning future
development
> > > > > >> c) writing docs
> > > > > >> d) maintaing web pages
> > > > > >> e) writing articles for KB/
Stocks&Commodities
> > > > > >> f) other task involved with running
business on
everyday
> basis
> > > > > >>
> > > > > >> Best regards,
> > > > > >> Tomasz Janeczko
> > > > > >> amibroker.com
> > > > > >> ----- Original Message -----
> > > > > >> From: ozzyapeman
> > > > > >> To: amibroker@xxxxxxxxxps.com
> > > > > >> Sent: Thursday, January 22, 2009 5:09
AM
> > > > > >> Subject: [amibroker] Re: How to force
Backtester to
Calculate
> > > > > > Position Size on Open Price?
> > > > > >>
> > > > > >>
> > > > > >> Tomasz - I just read this post, and I
am now royally
> > confused. I
> > > > > > will chalk it up to my brain being slow,
but please
indulge me
> > > once
> > > > > > more...
> > > > > >>
> > > > > >> First, I am backtesting Intraday, not
EOD, so time
stamps are
> > > > > > relevant.
> > > > > >>
> > > > > >> Secondly, how can the entry price
*not matter* even if
I
> am in
> > > > > > FUTURES mode?
> > > > > >>
> > > > > >> To simulate real trading, shouldn't
the backtester
apply the
> > > > > > margin deposit *dynamically*,
according to the
fluctuating
> > price?
> > > > > >>
> > > > > >> For example:
> > > > > >>
> > > > > >> If IB allows FOREX trading at 40:1
margin, and I am
trading
> > > > > > EUR.USD, then in order to buy 1 share
(100,000 EUR) I
only
> > > need to pay
> > > > > > for 2,500 EUR.
> > > > > >>
> > > > > >> In order to Buy 2,500 EUR on 1/3/2008
@ 23:59, the
Open price
> > > > > > was 1.2840
> > > > > >>
> > > > > >> therefore, $3,210.00 USD (2,500 *
1.2840) must be
deducted
> > > from my
> > > > > > IB cash account in order to Buy the 2,500
EUR.
> > > > > >>
> > > > > >> And after buying, my Position Value
is $3,143.50 at the
> > Close of
> > > > > > the bar (this latter part I now
understand).
> > > > > >>
> > > > > >> How can you say that the price of
buying 100,000 EUR is
> always
> > > > > > fixed at $2,500 USD no matter how the
EUR.USD price
> > > fluctuates?! How
> > > > > > could that simulate a realistic backtest?!
> > > > > >>
> > > > > >> Anyone else, please feel free to
chime in too. I am
either
> > > totally
> > > > > > confused on how the backteter works with
Forex or
something is
> > > being
> > > > > > lost in translation.
> > > > > >>
> > > > > >> A bit depressing if I have actually
been doing all my
> > backtesting
> > > > > > wrong for the past four months. And if
that's the case,
I
> > need to
> > > > > > understand this once and for all.
> > > > > >>
> > > > > >>
> > > > > >>
> > > > > >> --- In amibroker@xxxxxxxxxps.com,
"Tomasz Janeczko"
<groups@>
> > > wrote:
> > > > > >> >
> > > > > >> > Hello,
> > > > > >> >
> > > > > >> > You are completely missing the
point and mix up
things.
> > > > > >> >
> > > > > >> > First: the timestamp - if you
backtest on EOD data,
the
> time
> > > > > > component does not matter (should be
ignored),
> > > > > >> > because the EOD bar timestamp
depends on data source
> > delivering
> > > > > > data.
> > > > > >> > If you use true EOD data, it
will be without time
component
> > > at all.
> > > > > >> > If you are using compressed
intraday data it will use
> > timestamp
> > > > > > that is either beginning or end
> > > > > >> > of interval based on Preferences
> Tools->Preferences->Intraday
> > > > > > "Timestamp ... shows:".
> > > > > >> > Anyway, the time component does
not matter if you
> backest EOD
> > > > > > system and solely depends
> > > > > >> > on how data source time stamps
bars, and has no
> > indication when
> > > > > > trade happened.
> > > > > >> >
> > > > > >> > Second: position sizing - you
are using FUTURES
mode. In
> > > futures
> > > > > > mode when you defined
> > > > > >> > MarginDeposit, entry price does
not matter ! Why?
> Because in
> > > > > > FUTURES mode you just pay
> > > > > >> > MARGIN DEPOSIT (i.e. $2500) in
your case, regardless
of
> > current
> > > > > > price.
> > > > > >> > Since you also defined position
size of ONE
contract, the
> > > > > > position sizing DOES NOT depend
> > > > > >> > on Equity at all, since it will
be JUST ONE contract.
> > > > > >> >
> > > > > >> >
> > > > > >> > MarginDeposit = 2500; // $2500
is required to enter
that
> > trade,
> > > > > > price of actual contract does NOT matter
> > > > > >> > in futures mode
> > > > > >> >
> > > > > >> > SetPositionSize(1,
spsShares); // here you say to
enter ONE
> > > > > > contract.
> > > > > >> >
> > > > > >> > So simply $2500 is taken from
your account and you
have 1
> > > > > > futures contract
> > > > > >> > open pos, regardless of account
equity and any other
> > > conditions.
> > > > > >> >
> > > > > >> > The price used TO ENTER this
position was CORRECT
OPEN
> price:
> > > > > >> >
> > > > > >> > "The prices on 11/3/2008 are as
follows: Open =
1.2840"
> > > > > >> > 1.2840
> > > > > >> >
> > > > > >> >
> > > > > >> > So everything operates as it
should
> > > > > >> >
> > > > > >> > The EXIT was on 11/4/2008 (not
11/3) therefore data
> from 11/3
> > > > > > are irrelevant for the exit.
> > > > > >> > The OPEN price for 11/4/2008
apparently is 1.2574 so
the
> > > exit is
> > > > > > at that price. Again as it should be.
> > > > > >> >
> > > > > >> > Best regards,
> > > > > >> > Tomasz Janeczko
> > > > > >> > amibroker.com
> > > > > >> > ----- Original Message -----
> > > > > >> > From: ozzyapeman
> > > > > >> > To: amibroker@xxxxxxxxxps.com
> > > > > >> > Sent: Thursday, January 22, 2009
1:13 AM
> > > > > >> > Subject: [amibroker] Re: How to
force Backtester to
> Calculate
> > > > > > Position Size on Open Price?
> > > > > >> >
> > > > > >> >
> > > > > >> > Here is an explicit example.
> > > > > >> >
> > > > > >> > In addition to OPEN being set in
the reserved
variables
> > below,
> > > > > > OPEN is also set for all trade prices in
AA settings:
> > > > > >> >
> > > > > >> >
> > > > > >> > //
> > > > > >
> > >
> ----------------------------------------------------------
---
> > > > > >> > // BACKTESTER SETTINGS
> > > > > >> > //
> > > > > >
> > >
> ----------------------------------------------------------
---
> > > > > >> >
> > > > > >> > SetBarsRequired(10000, 0);
> > > > > >> > SetOption("AllowPositionShrinking",
False);
> > > > > >> > SetOption("AllowSameBarExit",
True);
> > > > > >> > SetOption("CommissionAmount",
3.00);
> > > > > >> > SetOption("CommissionMode",
3);
> > > > > >> > SetOption("FuturesMode",
1);
> > > > > >> > SetOption("InitialEquity",
100000);
> > > > > >> > SetOption("InterestRate",0);
> > > > > >> > SetOption("MaxOpenPositions",
1);
> > > > > >> > SetOption("MinPosValue",
0);
> > > > > >> > SetOption("MinShares", 1);
> > > > > >> > SetOption("PriceBoundChecking",
False );
> > > > > >> > SetOption("ReverseSignalForcesExit",
False);
> > > > > >> > SetOption("UsePrevBarEquityForPosSizing",
False );
> > > > > >> > SetTradeDelays(0, 0, 0, 0);
> > > > > >> > SetPositionSize(1,
spsShares);
> > > > > >> > TickSize = 0.0001; // The
minimum price move of
symbol for
> > > Forex
> > > > > >> > PointValue = 100000;
> > > > > >> > RoundLotSize = 1;
> > > > > >> > MarginDeposit = 2500;
> > > > > >> > BuyPrice = SellPrice =
ShortPrice = CoverPrice =
Open;
> > > > > >> >
> > > > > >> >
> > > > > >> > //
> > > > > >
> > >
> ----------------------------------------------------------
---
> > > > > >> > // SIMPLE TRADING SYSTEM
> > > > > >> > //
> > > > > >
> > >
> ----------------------------------------------------------
---
> > > > > >> >
> > > > > >> > fast = Optimize( "fast", 3, 5,
10, 1 );
> > > > > >> > slow = Optimize( "slow", 6, 10,
15, 1 );
> > > > > >> >
> > > > > >> > Buy = Cross( MACD( fast, slow ),
Signal( fast,
slow ) );
> > > > > >> > Sell = Cross( Signal( fast, slow
), MACD( fast,
slow ) );
> > > > > >> >
> > > > > >> > Short = Sell;
> > > > > >> > Cover = Buy;
> > > > > >> >
> > > > > >> >
> > > > > >> > Backtesting the above on EUR.USD
for 11/01/2008 -
> 12/01/2008
> > > > > > gives the following result ( I will just
paste the first
> line):
> > > > > >> >
> > > > > >> > Ticker Trade Date Price
> > > > > >> > EURUSD Short 11/3/2008 23:59
1.284
> > > > > >> >
> > > > > >> >
> > > > > >> > Ex. date Ex. Price % chg Profit
> > > > > >> > 11/4/2008 23:59 1.2575 -2.06%
3326.11
> > > > > >> >
> > > > > >> >
> > > > > >> > % Profit Contracts Position
value Cum. Profit
> > > > > >> > 105.81% 1 3143.5 3326.11
> > > > > >> >
> > > > > >> >
> > > > > >> > # bars Profit/bar MAE MFE Scale
In/Out
> > > > > >> > 2 1663.06 -0.47% 2.45% 0/0
> > > > > >> >
> > > > > >> >
> > > > > >> > The prices on 11/3/2008 are as
follows:
> > > > > >> >
> > > > > >> > Open = 1.2840
> > > > > >> > Low = 1.2525
> > > > > >> > High = 1.2900
> > > > > >> > Close = 1.2574
> > > > > >> >
> > > > > >> >
> > > > > >> > If you reverse the Position
Value, based on 40:1
> > leverage, you
> > > > > > find that it was calculated on a price of
1.2574, which
is the
> > > CLOSE:
> > > > > >> >
> > > > > >> > $3,143.50 * 40 / 100000 = 1.2574
> > > > > >> >
> > > > > >> >
> > > > > >> >
> > > > > >> >
> > > > > >> >
> > > > > >> >
> > > > > >> > --- In amibroker@xxxxxxxxxps.com,
"ozzyapeman"
zoopfree@
> > wrote:
> > > > > >> > >
> > > > > >> > > I should note that for
Entry prices, the
backtester is
> > > > > > correctly using
> > > > > >> > > OPEN prices and for
ApplyStop, it is correctly
exiting
> > at the
> > > > > > right
> > > > > >> > > price point between LOW and
HIGH.
> > > > > >> > >
> > > > > >> > > It is only for the position
values that the
backtester is
> > > > > > using CLOSE
> > > > > >> > > prices to calculate, even
though CLOSE is nowhere
in
> my AA
> > > > > > settings or
> > > > > >> > > AFL reserved variables or
SetOptions.
> > > > > >> > >
> > > > > >> > >
> > > > > >> > > --- In amibroker@xxxxxxxxxps.com,
"ozzyapeman"
zoopfree@
> > > wrote:
> > > > > >> > > >
> > > > > >> > > > Tomasz,
> > > > > >> > > >
> > > > > >> > > > Thanks for the reply,
but I *did* read the
manual and
> > *did*
> > > > > > set the
> > > > > >> > > > buyprice reserved
variables, etc. (all to OPEN),
and
> > > yet the
> > > > > >> > > > backtester is still
using CLOSE for position
value
> > > calculations.
> > > > > >> > > >
> > > > > >> > > > Hence I posted the
question.
> > > > > >> > > >
> > > > > >> > > > So either this is a
bug or there is some other
setting
> > > which is
> > > > > >> > > > overriding both my AA
settings and reserved
variable
> > > > > > settings. I can't
> > > > > >> > > > seem to find any such
setting error, so at this
point
> > I am
> > > > > > thinking
> > > > > >> > > > it's a bug.
> > > > > >> > > >
> > > > > >> > > > Is it?
> > > > > >> > > >
> > > > > >> > > >
> > > > > >> > > >
> > > > > >> > > > --- In amibroker@xxxxxxxxxps.com,
"Tomasz
Janeczko"
> > > > > > <groups@> wrote:
> > > > > >> > > > >
> > > > > >> > > > > Hello,
> > > > > >> > > > >
> > > > > >> > > > > When everything
fails consult..... the manual:
> > > > > >> > > > >
> > > > > >> > > > > http://www.amibroker.com/guide/h_backtest.html
> > > > > >> > > > >
> > > > > >> > > > > Quote
> > > > > >> > > > >
> > > > > >> > > > > "Controlling
trade price
> > > > > >> > > > >
> > > > > >> > > > > AmiBroker now
provides 4 new reserved
variables for
> > > > > > specifying the
> > > > > >> > > > price at which buy,
sell, short and cover orders
are
> > > executed.
> > > > > >> > > > > These arrays have
the following names:
buyprice,
> > > sellprice,
> > > > > >> > > > shortprice and
coverprice.
> > > > > >> > > > >
> > > > > >> > > > > The main
application of these variables is
> controlling
> > > > > > trade price:
> > > > > >> > > > >
> > > > > >> > > > > BuyPrice = IIF(
dayofweek() == 1, HIGH,
CLOSE );
> > > > > >> > > > > // on monday buy
at high, otherwise buy on
close
> > > > > >> > > > >
> > > > > >> > > > > So you can write
the following to simulate real
> > > stop-orders:
> > > > > >> > > > >
> > > > > >> > > > > BuyStop = ... the
formula for buy stop level;
> > > > > >> > > > > SellStop = ...
the formula for sell stop level;
> > > > > >> > > > >
> > > > > >> > > > > // if anytime
during the day prices rise above
> > > buystop level
> > > > > >> > > > (high>buystop)
> > > > > >> > > > > // the buy order
takes place (at buystop or low
> > whichever
> > > > > > is higher)
> > > > > >> > > > > Buy = Cross(
High, BuyStop );
> > > > > >> > > > >
> > > > > >> > > > > // if anytime
during the day prices fall below
> > sellprice
> > > > > > level ( low
> > > > > >> > > > < sellstop )
> > > > > >> > > > > // the sell order
takes place (at sellstop or
high
> > > > > > whichever is lower)
> > > > > >> > > > > Sell = Cross(
SellPrice, SellStop);
> > > > > >> > > > >
> > > > > >> > > > > BuyPrice = max(
BuyStop, Low ); // make sure
buy
> > > price not
> > > > > > less
> > > > > >> > > than Low
> > > > > >> > > > > SellPrice = min(
SellStop, High ); // make
sure sell
> > > price not
> > > > > >> > > > greater than High
> > > > > >> > > > >
> > > > > >> > > > > Please note that
AmiBroker presets buyprice,
> sellprice,
> > > > > > shortprice
> > > > > >> > > > and coverprice array
variables with the values
> defined in
> > > > > > system
> > > > > >> > > > > test settings
window (shown below), so you can
but
> > don't
> > > > > > need to
> > > > > >> > > > define them in your
formula. If you don't define
them
> > > AmiBroker
> > > > > >> > > > > works as in the
old versions.
> > > > > >> > > > >
> > > > > >> > > > > During
back-testing AmiBroker will check if the
> > > values you
> > > > > > assigned
> > > > > >> > > > to buyprice,
sellprice, shortprice, coverprice
fit into
> > > > > > high-low
> > > > > >> > > > > range of given
bar. If not, AmiBroker will
adjust
> it to
> > > > > > high price
> > > > > >> > > > (if price array value
is higher than high) or to
the
> > > low price
> > > > > >> > > > > (if price array
value is lower than low)"
> > > > > >> > > > >
> > > > > >> > > > > Best regards,
> > > > > >> > > > > Tomasz Janeczko
> > > > > >> > > > > amibroker.com
> > > > > >> > > > > ----- Original
Message -----
> > > > > >> > > > > From:
"ozzyapeman" <zoopfree@>
> > > > > >> > > > > To: amibroker@xxxxxxxxxps.com
> > > > > >> > > > > Sent: Wednesday,
January 21, 2009 10:46 PM
> > > > > >> > > > > Subject:
[amibroker] Re: How to force
Backtester to
> > > Calculate
> > > > > >> > > > Position Size on Open
Price?
> > > > > >> > > > >
> > > > > >> > > > >
> > > > > >> > > > > > and here are
all my other options set in the
AFL.
> > > > > >> > > > > >
> > > > > >> > > > > > I can't see
how any of them would force the
> > backtester
> > > > > > to use Close
> > > > > >> > > > > > prices, but
maybe one option does?
> > > > > >> > > > > >
> > > > > >> > > > > >
> > > > > >> > > > > >
SetBarsRequired( 10000, 0 );
> > > > > >> > > > > > SetOption(
"AccountMargin", 100 );
> > > > > >> > > > > > SetOption(
"ActivateStopsImmediately",
True );
> > > > > >> > > > > > SetOption(
"AllowPositionShrinking", False );
> > > > > >> > > > > > SetOption(
"AllowSameBarExit", True );
> > > > > >> > > > > > SetOption(
"CommissionAmount", 3.00 );
> > > > > >> > > > > > SetOption(
"CommissionMode", 2 );
> > > > > >> > > > > > SetOption(
"FuturesMode", 1 );
> > > > > >> > > > > > SetOption(
"InitialEquity", 100000 );
> > > > > >> > > > > > SetOption(
"InterestRate", 0 );
> > > > > >> > > > > > SetOption(
"MaxOpenPositions", 1 );
> > > > > >> > > > > > SetOption(
"MinPosValue", 0 );
> > > > > >> > > > > > SetOption(
"MinShares", 1 );
> > > > > >> > > > > > SetOption(
"PriceBoundChecking", True );
> > > > > >> > > > > > SetOption(
"ReverseSignalForcesExit",
False );
> > > > > >> > > > > > SetOption(
"UsePrevBarEquityForPosSizing",
False );
> > > > > >> > > > > >
SetTradeDelays( 0, 0, 0, 0 );
> > > > > >> > > > > >
SetPositionSize( 1, spsShares );
> > > > > >> > > > > >
> > > > > >> > > > > >
> > > > > >> > > > > >
> > > > > >> > > > > >
> > > > > >> > > > > >
> > > > > >> > > > > >
> > > > > >> > > > > >
> > > > > >> > > > > >
> > > > > >> > > > > >
> > > > > >> > > > > >
> > > > > >> > > > > >
> > > > > >> > > > > >
> > > > > >> > > > > >
> > > > > >> > > > > >
> > > > > >> > > > > >
> > > > > >> > > > > > --- In
amibroker@xxxxxxxxxps.com,
"ozzyapeman"
> > > > > > <zoopfree@> wrote:
> > > > > >> > > > > >>
> > > > > >> > > > > >>
Buyprices set in AFL formula are all Open:
> > > > > >> > > > > >>
> > > > > >> > > > > >> BuyPrice
= Open;
> > > > > >> > > > > >>
ShortPrice = Open;
> > > > > >> > > > > >>
SellPrice = Open;
> > > > > >> > > > > >>
CoverPrice = Open;
> > > > > >> > > > > >>
> > > > > >> > > > > >> very
wierd...
> > > > > >> > > > > >>
> > > > > >> > > > > >>
> > > > > >> > > > > >> --- In amibroker@xxxxxxxxxps.com,
"Anthony
> > Faragasso"
> > > > > > <ajf1111@>
> > > > > >> > > > wrote:
> > > > > >> > > > > >> >
> > > > > >> > > > > >> > Is
there anywhere in your code formula
that you
> > > may be
> > > > > >> > > specifying a
> > > > > >> > > > > >>
different buyprice....because I believe the
> formula
> > > > > > overrides the
> > > > > >> > > > > >> settings
in the preference window..
> > > > > >> > > > > >> >
> > > > > >> > > > > >> >
Anthony
> > > > > >> > > > > >> >
> > > > > >> > > > > >> >
> > > > > >> > > > > >> >
----- Original Message -----
> > > > > >> > > > > >> >
From: ozzyapeman
> > > > > >> > > > > >> > To:
amibroker@xxxxxxxxxps.com
> > > > > >> > > > > >> >
Sent: Wednesday, January 21, 2009 3:41 PM
> > > > > >> > > > > >> >
Subject: [amibroker] Re: How to force
> > Backtester to
> > > > > > Calculate
> > > > > >> > > > > >> Position
Size on Open Price?
> > > > > >> > > > > >> >
> > > > > >> > > > > >> >
> > > > > >> > > > > >> >
I've always had the trade settings set to
> > > buyprice Open.
> > > > > >> > > > > >> >
> > > > > >> > > > > >> >
Unfortunately, the backtester insists on
> using the
> > > > > > Close, and I
> > > > > >> > > > > > can't
> > > > > >> > > > > >> >
figure out why that is.
> > > > > >> > > > > >> >
> > > > > >> > > > > >> > ---
In
amibroker@xxxxxxxxxps.com,
"gonzagags"
> > > > > > <gonzagags@>
> > > > > >> > > wrote:
> > > > > >> > > > > >> > >
> > > > > >> > > > > >> >
> Try in settings- trades, set in long
trades
> > > buyprice in
> > > > > >> > > open..
> > > > > >> > > > > >> > >
> > > > > >> > > > > >> > >
> > > > > >> > > > > >> >
> --- In
amibroker@xxxxxxxxxps.com,
"ozzyapeman"
> > > > > > <zoopfree@>
> > > > > >> > > > wrote:
> > > > > >> > > > > >> >
> >
> > > > > >> > > > > >> >
> > Hello, even though I have set
Buyprice =
> > Open; I
> > > > > > noticed
> > > > > >> > > > > > that the
> > > > > >> > > > > >> >
> > backtester report is displaying
position
> sizes
> > > > > > based on the
> > > > > >> > > > > >> Close of
> > > > > >> > > > > >> >
> > the bar. On some trades this makes a
huge
> > > difference.
> > > > > >> > > > > >> >
> >
> > > > > >> > > > > >> >
> > I am backtesting Forex. And I imagine
that
> > when
> > > > > > trading
> > > > > >> > > > on the
> > > > > >> > > > > >> Open,
> > > > > >> > > > > >> >
> a
> > > > > >> > > > > >> >
> > broker like IB will use the dynamic
price
> > of the
> > > > > > Open to
> > > > > >> > > > > >> calculate
> > > > > >> > > > > >> >
> the
> > > > > >> > > > > >> >
> > exchange rate and position size,
since the
> > Close
> > > > > > price is
> > > > > >> > > > > > not yet
> > > > > >> > > > > >> >
> > known at the time of the trade.
> > > > > >> > > > > >> >
> >
> > > > > >> > > > > >> >
> > So how do I force the backtester to
> mimic the
> > > > > > above, and
> > > > > >> > > > > > calculate
> > > > > >> > > > > >> >
> > position sizes based on Opens? Or is
this
> > > not even an
> > > > > >> > > option?
> > > > > >> > > > > >> >
> >
> > > > > >> > > > > >> >
> > I looked up Setoption in the reference
> > > guide, and
> > > > > > don't
> > > > > >> > > seem
> > > > > >> > > > > >> to see
> > > > > >> > > > > >> >
> an
> > > > > >> > > > > >> >
> > appropriate setting to switch.
> > > > > >> > > > > >> >
> >
> > > > > >> > > > > >> >
> > Any input appreciated.
> > > > > >> > > > > >> >
> >
> > > > > >> > > > > >> > >
> > > > > >> > > > > >> >
> > > > > >> > > > > >> >
> > > > > >> > > > > >> >
> > > > > >> > > > > >> >
> > > > > >> > > > > >> >
> > > > > >> > > > > >> >
> > > > > >> > > > > >> >
> > > > > >> > > > > >>
> > > > > >> > > > > >
> > > > > >> > > >
> > > > > >> > >
> > > > > >
> > >
> >
> ----------------------------------------------------------
----------
> > > > > >> > > > > >> >
> > > > > >> > > > > >> >
> > > > > >> > > > > >> >
> > > > > >> > > > > >> > No
virus found in this incoming message.
> > > > > >> > > > > >> >
Checked by AVG - http://www.avg.com
> > > > > >> > > > > >> >
Version: 8.0.176 / Virus Database:
> > 270.10.10/1906 -
> > > > > > Release
> > > > > >> > > Date:
> > > > > >> > > > > >>
1/21/2009 7:07 AM
> > > > > >> > > > > >> >
> > > > > >> > > > > >>
> > > > > >> > > > > >
> > > > > >> > > > > >
> > > > > >> > > > > >
> > > > > >> > > > > > ------------------------------------
> > > > > >> > > > > >
> > > > > >> > > > > > ****
IMPORTANT ****
> > > > > >> > > > > > This group
is for the discussion between
users
> only.
> > > > > >> > > > > > This is
*NOT* technical support channel.
> > > > > >> > > > > >
> > > > > >> > > > > > *********************
> > > > > >> > > > > > TO GET
TECHNICAL 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
> > > > > >> > > > > >
> > > > > >> > > > > >
> > > > > >> > > > > >
> > > > > >> > > > >
> > > > > >> > > >
> > > > > >> > >
> > > > > >> >
> > > > > >>
> > > > > >
> > > > > >
> > > > > >
> > > > > > ------------------------------------
> > > > > >
> > > > > > **** IMPORTANT ****
> > > > > > This group is for the discussion between
users only.
> > > > > > This is *NOT* technical support channel.
> > > > > >
> > > > > > *********************
> > > > > > TO GET TECHNICAL 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
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>