PureBytes Links
Trading Reference Links
|
Hello,
it is be possible.
You have to store the CCI Value through AddToComposite for each symbol and
have to load it in the CBI through the foreign function.
Additionally you have to use a loop to iterate through all bars and all
closed trades to add the CCI value from the bar where the trade has been
closed.
Thomas
www.PatternExplorer.com
From: amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx] On Behalf
Of Ilhan Ketrez
Sent: Saturday, November 15, 2008 11:05 PM
To: amibroker@xxxxxxxxxxxxxxx
Subject: Re: [amibroker] Adding custom metrics
Still no replies.
I wonder if this is possible in Amibroker.
A yes/no response or a link to an example document can also be very helpful.
Thank you.
2008/11/14 İlhan Ketrez <ketrezilhan@xxxxxxxxx>
Thank you but it doesn't work that way, i.e. it doesn't give the entry CCI.
To clarify, I want to see the entry CCI values in the yellow areas of the
attached picture.
Could you please elaborate your response by providing an example?
Thank you very much.
On Fri, Nov 14, 2008 at 10:04 PM, Ara Kaloustian <ara1@xxxxxxxxxx> wrote:
Entry for "CCI" should be just "CCI" - not "trade.CCI"
----- Original Message -----
From: İlhan Ketrez
To: amibroker@xxxxxxxxxxxxxxx
Sent: Friday, November 14, 2008 12:00 PM
Subject: [amibroker] Adding custom metrics
Dear friends,
Regarding the addition of custom metrics to the backtest report, to simplify
my question please find below a script from the AB documentation. Simply, I
want to add, for example, CCI value, RSI value and various entry bar
conditions instead of Initial risk or R multiple below.
In other words, just like trade.score gives entry score, I want to add
"trade.cci" as entry cci to the backtest report.
Thank you in advance for your help.
Best regards,
Ilhan
SetCustomBacktestProc("");
MaxLossPercentStop = 10; // 10% max. loss stop
/* Now custom-backtest procedure follows */
if
( Status("action") == actionPortfolio )
{
bo =
GetBacktesterObject();
bo.Backtest(
1); // run default backtest procedure
SumProfitPerRisk =
0;
NumTrades =
0;
// iterate through closed trades first
for( trade = bo.GetFirstTrade(); trade; trade = bo.GetNextTrade() )
{
// risk is calculated as the maximum value we can loose per trade
// in this example we are using max. loss stop
// it means we can not lose more than (MaxLoss%) of invested amount
// hence ris
Risk = ( MaxLossPercentStop /
100 ) * trade.GetEntryValue();
RMultiple = trade.GetProfit()/Risk;
trade.AddCustomMetric(
"Initial risk $", Risk );
trade.AddCustomMetric(
"R-Multiple", RMultiple );
trade.AddCustomMetric(
"Trend", trend );
SumProfitPerRisk = SumProfitPerRisk + RMultiple;
NumTrades++;
}
expectancy3 = SumProfitPerRisk / NumTrades;
bo.AddCustomMetric(
"Expectancy (per risk)", expectancy3 );
bo.ListTrades();
}
------------------------------------
**** 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
<*> 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/
|