PureBytes Links
Trading Reference Links
|
Ok,
use this then, remember you will only the HV for closed
trades with this code, if you want open trades, you will need to do another
loop;
function FindStuffAtDateTime( fx, dt, Value
)
{
found =
-1;
for( i = 0; i < BarCount AND found == -1; i++ )
{
if( dt[ i ] == Value ) found = i;
}
return IIf( found != -1, fx[ found -
1 ], Null );
}
if ( Status("action") == actionPortfolio )
{
bo =
GetBacktesterObject();
bo.Backtest();
// iterate through closed trades first
for( trade =
bo.GetFirstTrade(); trade; trade = bo.GetNextTrade() )
{
sym =
trade.Symbol();
myC = Foreign(sym, "C");
HVtrade = 100*
StDev(log(myC/Ref(myC,-1)),100)*sqrt(252);
myHv = FindStuffAtDateTime(HVtrade, DateTime(), trade.EntryDateTime
);
trade.AddCustomMetric("HV", myHv );
}
bo.ListTrades();
}
Paul
Ho
TrustNet
P O
Box
212
Ashburton
Victoria
3147
- paul.ho@xxxxxxxxxxxxxxx
( 0400059655
I still get blank values in the HV column. I think the problem is
that I am passing an array to AddCustomMetric when it expects a value. I
need to determine the index into HVtrade, so I can do HVtrade[index].
Any ideas on how to get from the trade date to the index into
HVtrade?
Thank you, Cesar
--- In amibroker@xxxxxxxxxxxxxxx,
"Paul Ho" <paultsho@xxxx> wrote: > I suggest you try the
following > SetCustomBacktestProc(""); > /* Now custom-backtest
procedure follows */ > if( Status("action") == actionPortfolio ) >
{ > bo = GetBacktesterObject();
> bo.Backtest(1); // run default backtest
procedure > for(trade=bo.GetFirstTrade(); trade;
trade=bo.GetNextTrade()) > {
> sym =
trade.Symbol(); > myC = Foreign(sym,
"C" ); > HVtrade = 100*
StDev(log(myC/Ref(myC,-1)),100)*sqrt(252); >
trade.AddCustomMetric("HV", HVtrade ); > }
> bo.ListTrades(); > } >
> > Paul Ho > > >
> _____ > > From:
amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx] On
Behalf > Of C Alvarez > Sent: Sunday, 19 June 2005 2:07 AM >
To: amibroker@xxxxxxxxxxxxxxx > Subject: [amibroker] Re: Custom Trade
Metrics > > > The HV column has all blanks in it. >
> Thanks for the help. Here is the formula. > > Cey >
> //////////////////////////////////////////////////// > >
SetCustomBacktestProc(""); > /* Now custom-backtest procedure follows */
> if( Status("action") == actionPortfolio ) > {
> bo = GetBacktesterObject();
> bo.Backtest(1); // run default backtest
procedure > for(trade=bo.GetFirstTrade(); trade;
trade=bo.GetNextTrade()) > {
> sym =
trade.Symbol(); > SetForeign(sym
); > HVtrade = 100*
StDev(log(C/Ref(C,-1)),100)*sqrt(252); >
RestorePriceArrays(); >
trade.AddCustomMetric("HV", HVtrade ); > }
> bo.ListTrades(); > } > // trading
system here > Buy = MA(C,50) > MA(C,200) AND C >MA(C,200); >
Sell = C < MA(C,200); > > Buy = ExRem(Buy,Sell); > Sell =
ExRem(Sell, Buy); > > --- In amibroker@xxxxxxxxxxxxxxx, "Paul Ho"
<paultsho@xxxx> wrote: > > Can you post your formula and
results? > > > > Paul Ho > > >
> > > > > _____ > >
> > From: amibroker@xxxxxxxxxxxxxxx
[mailto:amibroker@xxxxxxxxxxxxxxx] > On Behalf > > Of C
Alvarez > > Sent: Saturday, 18 June 2005 1:17 PM > > To:
amibroker@xxxxxxxxxxxxxxx > > Subject: [amibroker] Re: Custom Trade
Metrics > > > > > > I added the SetForeign call and
the HV formula still does not > work. > > Is this something
that I need to calculate manually? > > Any more help? > >
> > Thanks, > > Cey > > > > --- In
amibroker@xxxxxxxxxxxxxxx, "Paul Ho" <paultsho@xxxx> wrote: >
> > the problem is with this line "HVtrade = 100* > > >
StDev(log(C/Ref(C,-1)),100)*sqrt(250); > > > you need to get the
trade symbol and then use foreign to get the > > price
array > > > before doing your calculaltion > > >
> > > Paul Ho > > > > > > >
> > > > > > > > _____ >
> > > > > From: amibroker@xxxxxxxxxxxxxxx >
[mailto:amibroker@xxxxxxxxxxxxxxx] > > On Behalf > > > Of
C Alvarez > > > Sent: Saturday, 18 June 2005 4:21 AM > >
> To: amibroker@xxxxxxxxxxxxxxx > > > Subject: [amibroker] Custom
Trade Metrics > > > > > > > > > I am
trying to add the custom metric of what the Historical > > >
Volatility was when the trade was entered. > > > > > >
I tried the following code, but all I get are blanks. Do we not >
> have > > > access to the price arrays? Or what am I doing
wrong? > > > > > > Thank you, > > >
Cey > > > > > > Here is the code: > > >
SetCustomBacktestProc(""); > > > if( Status("action") ==
actionPortfolio ) > > > { > > > bo =
GetBacktesterObject(); > > > bo.Backtest(1);
> > > for(trade=bo.GetFirstTrade(); trade;
trade=bo.GetNextTrade ()) > > > { >
> >
HVtrade = 100* StDev(log(C/Ref(C,-1)),100)*sqrt (250); > >
>
trade.AddCustomMetric("HV", HVtrade); > > > }
> > > bo.ListTrades(); > > > }
> > > > > > > > > > > >
> > > > > > 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 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/ >
> > > > > > > >
* 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/>
. > > > > > > > > > > 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 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/ >
> > > > > * 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/>
. > > > > > 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 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/ >
> > * 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/>
.
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 other support material
please check also: http://www.amibroker.com/support.html
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 other support material please check also:
http://www.amibroker.com/support.html
Yahoo! Groups Links
|