Too bad!
Unfortunately PositionSize= -xxx is useless to me, as I use a volatility based
fixed risk model, where the risk per trade is a direct proportion of the total
equity, not the Position size itself.
Thanks a lot for you
help, in any case J
Regards,
Claude
From:
Stephane Carrasset [mailto:nenapacwanfr@xxxxxxxxx]
Sent: Friday, February 18, 2005
15:01
To:
amibroker@xxxxxxxxxxxxxxx
Subject: Re: FW: [amibroker] Risk
compounding with gains - I cannot get round it
yes,
you're
right, it was a bad idea to use
PositionSize=Foreign("~~~EQUITY", "C"
)*0.2;
it is a bad idea to use
PositionSize=Equity()*0.2;
so no others solution that
PositionSize=-20;
> Hi Stephane,
>
>
>
> Many
thanks for your help.
>
>
>
> However I suspect that the example below is picking up
the previous
equity
>
line, or something like that. (can't pinpoint exactly what's
happening!)
>
>
>
> I
first run it with positionsize=-10; works fine - several 100
trades
> taken. No problems
>
> I
then run it with positionsize = PositionSize=Foreign
("~~~EQUITY", "C"
> )*0.1;: works fine, and seems to be giving ok results
>
> BUT
>
> I hit backtest again, and no
trades are taken, implying that
positionsize =
> 0.
>
>
>
> Do you get the same thing I am
getting?
>
>
>
> Cheers,
>
>
Claude
>
>
>
>
>
> _____
>
>
From: Stephane Carrasset [mailto:nenapacwanfr@xxxx]
> Sent: Thursday, February 17, 2005
21:01
> To:
amibroker@xxxxxxxxxxxxxxx
>
Subject: Re: FW: [amibroker] Risk compounding with gains - I cannot
get
> round it
>
>
>
>
> Hi
claude,
>
> use
>
PositionSize=Foreign("~~~EQUITY", "C" )*0.1; // idem as
PositionSize=-
> 10;
>
> for ex run this basic system
and look the results.
> I
complain that Amibroker turns less and less obvious.
>
>
stephane
>
>
> SetCustomBacktestProc("");
> function FindEquityAtDateTime( eq, dt, Value )
> {
>
result=0;
>
for( i = 0; i < BarCount ; i++ )
> {
> if( dt[ i ] == Value )
>
result=eq[i];
>
}
>
return result ;
> }
>
> if( Status("action") == actionPortfolio )
> {
> bo =
GetBacktesterObject();
> bo.Backtest(1); //
run default backtest procedure
> eq =
Foreign("~~~EQUITY", "C" );
> dt = DateTime();
>
> for( trade = bo.GetFirstTrade();
trade; trade = bo.GetNextTrade
> () )
> {
>
EquityAtEntry = FindEquityAtDateTime( eq, dt,
> trade.EntryDateTime );
>
trade.AddCustomMetric("Equity at entry",
> EquityAtEntry);
> }
>
> for( openpos = bo.GetFirstOpenPos();
openpos; openpos =
>
bo.GetNextOpenPos() )
> {
>
EquityAtEntry = FindEquityAtDateTime( eq, dt,
> Openpos.EntryDateTime );
>
Openpos.AddCustomMetric("Equity at entry",
> EquityAtEntry);
> }
>
bo.ListTrades();
> }
>
> Buy=Cross( MACD(), Signal()
);
> Sell=Cross( Signal(),
MACD() );
>
SetOption("InitialEquity", 10000);
>
>
//PositionSize=-10;
>
PositionSize=Foreign("~~~EQUITY", "C" )*0.1; // idem as
PositionSize=-
> 10;
>
//BAD Usage is 01*Equity(0,-1) -1 is default settings of
backtesting
> //it returns the
decimal part of equity
>
>
>
>
>
> >
> > _____
> >
> > From: Claude Caruana
[mailto:claude.caruana@xxxx]
>
> Sent: Thursday, February 17, 2005 09:56
> > To:
'amibroker@xxxxxxxxxxxxxxx'
>
> Subject: RE: [amibroker] Risk compounding with gains - I cannot
get
> round it
> >
>
>
> >
> > Hi
all,
> >
> >
> >
> > I'm finding real
problems with implementing this so I would really
> > appreciate if there is somebody out there with
the answer!
> >
> > The key is that I want
my risk to be relative to current total
> equity, not
> > position size.
> >
>
>
> >
> > I understand if I use
> >
> > Positionsize = -20 ,
then my position size is 20% of my current
> equity.
> > Tried and tested - this works
ok.
> >
> >
BUT,
> >
> > If only I can assign a
percentage of the current equity to a
> variable other
> > than positionsize, it would solve all my problems
- something like
> >
> > CurrentEquity =
XXXXX
> >
> >
> >
> > Can anybody help? I
would be really grateful!
>
>
> >
Thanks,
> >
> >
Claude
> >
> >
> >
> >
> >
> >
> >
> > _____
> >
> > From: Claude Caruana
[mailto:claudecaruana@xxxx]
>
> Sent: Tuesday, February 15, 2005 23:23
> > To:
amibroker@xxxxxxxxxxxxxxx
>
> Subject: RE: [amibroker] Risk compounding with gains -
problem
> >
> >
> >
> > Hi
again.
> >
> >
> >
> > I found the problem to
be that the equity() function will only
work
>
if
> > placed after the
buy/sell signals.
> >
> > Problem is that I need
it before the buy signal in order to
> calculate the
> > position size.
> >
>
> Anybody can indicate a way to determine the equity value before
the
> buy
>
> signal??
> >
> > Thanks in advance for
any input.
> >
> >
> >
> >
Claude
> >
> >
> >
> >
> >
> > _____
> >
> > From: Claude Caruana
[mailto:claudecaruana@xxxx]
>
> Sent: Tuesday, February 15, 2005 13:12
> > To:
amibroker@xxxxxxxxxxxxxxx
>
> Subject: [amibroker] Risk compounding with gains -
problem
> >
> >
> >
> > Hi
All,
> >
> >
> >
> > Can anybody help me
with this? I am trying to achieve a position
> sizing
> > technique where half the current total profit
(assuming there is
a
>
profit)
> > is re-invested
into risk. Problem is that it seems like equity(0)
> is always
> > returning 250000 and the CurrentPL variable seems
to always be 0.
> >
> >
> >
> > StartCapital =
250000;
> >
> >
CapitalNow =
equity(0);
> >
> >
CurrentPL =
((CapitalNow-StartCapital)/StartCapital);
> >
>
>
> >
> > RiskPerTrade =
0.001+(CurrentPL/2);
> >
> > PositionSize =
((CapitalNow*RiskPerTrade) / stopPoints) *
BuyPrice;
>
>
> >
> >
> >
> > What I am expecting
this to do is: let us say at one point the
> equity goes
> > up 2% from 250,000 to 255,000 -
then:
> >
> >
> >
> > Current
PL = 255000-250000/250000 =
0.02
> >
> >
RiskPerTrade = 0.001+(0.02/2) =
0.011
> >
> > Risk per trade now
should go up from 0.001 to 0.011, but this
isn't
> >
happening.
> >
> >
> >
> > I am aware I need to
arrange this to handle losses, but I first
> would like
> > to sort out this issue.
> >
>
>
> >
> > Should I in fact be
using equity(0) to achieve this or should I
be
>
using
> > some other
function?
> >
> >
> >
> > Thanks in advance for
any help :-)
> >
> >
> >
> >
Claude
> >
> >
> >
> >
> >
> >
> >
> > Check AmiBroker web
page at:
> > http://www.amibroker.com/
> >
>
> Check group FAQ at:
> >
http://groups.yahoo.com/group/amibroker/files/groupfaq.html
> >
> >
> >
> >
> >
> > Check AmiBroker web
page at:
> > http://www.amibroker.com/
> >
>
> Check group FAQ at:
> >
http://groups.yahoo.com/group/amibroker/files/groupfaq.html
> >
> >
> >
> >
> >
> > Yahoo! Groups
Sponsor
> >
> >
> >
> >
ADVERTISEMENT
> >
> >
>
<http://us.ard.yahoo.com/SIG=129mu7tg7/M=298184.6018725.7038619.300117
> 6/D=gr
> >
>
oups/S=1705632198:HM/EXP=1108571031/A=2532114/R=2/SIG=12k45q5oa/*http:
> /clk.a
> >
>
tdmt.com/NFX/go/yhxxxnfx0020000014nfx/direct/01/&time=1108484631221203
> >
>
>
> >
> >
> <http://view.atdmt.com/NFX/view/yhxxxnfx0020000014nfx/direct/01/
>
<http://view.atdmt.com/NFX/view/yhxxxnfx0020000014nfx/direct/01/&time=
>
>
&time=
>
110848
> > 4631221203>
> >
> >
> >
> > <http://us.adserver.yahoo.com/l?
>
M=298184.6018725.7038619.3001176/D=groups/S=
> > :HM/A=2532114/rand=307249708>
> >
> >
> >
> > _____
> >
> > Yahoo! Groups
Links
> >
> >
* To visit your group on the web, go
to:
> > http://groups.yahoo.com/group/amibroker/
> >
> > * To unsubscribe
from this group, send an email to:
> >
amibroker-unsubscribe@xxxxxxxxxxxxxxx
> >
<mailto:amibroker-unsubscribe@xxxxxxxxxxxxxxx?
subject=Unsubscribe>
> >
> > * Your use of
Yahoo! Groups is subject to the Yahoo!
> > <http://docs.yahoo.com/info/terms/>
Terms of Service.
>
>
>
>
>
> Check AmiBroker web page at:
> http://www.amibroker.com/
>
>
Check group FAQ at:
> http://groups.yahoo.com/group/amibroker/files/groupfaq.html
>
>
>
>
>
>
> Yahoo! Groups
Sponsor
>
>
>
>
ADVERTISEMENT
>
>
<http://us.ard.yahoo.com/SIG=129n26bo9/M=298184.6018725.7038619.300117
6/D=gr
>
oups/S=1705632198:HM/EXP=1108735292/A=2532114/R=2/SIG=12kubiqh9/*http:
/clk.a
>
tdmt.com/NFX/go/yhxxxnfx0020000014nfx/direct/01/&time=1108648892438290
>
>
>
>
<http://view.atdmt.com/NFX/view/yhxxxnfx0020000014nfx/direct/01/&time=
110864
>
8892438290>
>
>
>
> <http://us.adserver.yahoo.com/l?
M=298184.6018725.7038619.3001176/D=groups/S=
> :HM/A=2532114/rand=820227807>
>
>
>
> _____
>
>
Yahoo! Groups Links
>
>
* To visit your group on the web, go
to:
> http://groups.yahoo.com/group/amibroker/
>
> * To unsubscribe from
this group, send an email to:
>
amibroker-unsubscribe@xxxxxxxxxxxxxxx
>
<mailto:amibroker-unsubscribe@xxxxxxxxxxxxxxx?subject=Unsubscribe>
>
>
* Your use of Yahoo! Groups is subject to the
Yahoo! Terms of
Service
>
<http://docs.yahoo.com/info/terms/>
.
Check AmiBroker web
page at:
http://www.amibroker.com/
Check group FAQ at: http://groups.yahoo.com/group/amibroker/files/groupfaq.html