PureBytes Links
Trading Reference Links
|
> Risk = ValueWhen((Foreign("~trisk_" + trade.Symbol, dt )==
> Trade.EntryDateTime), Foreign("~trisk_" + trade.Symbol,"C")) ;
In this statement, the:
Foreign("~trisk_" + trade.Symbol, dt)
part is incorrect. The second parameter to Foreign is supposed to be
the array type ("C", "O", etc) but you have the DateTime array.
Regards,
GP
--- In amibroker@xxxxxxxxxxxxxxx, "justinwonono" <justinwonono@xxx> wrote:
>
>
>
> Hi
> I'm trying calculate Van Tharp's r multiple & expectancy by listing
> the pertrade values in the custom backtester's add custom metric, but
> this is as far as I got, when modifying the sample
> from the help file. Instead of fixed % trade risk , I'm using a
> variable trade risk values.
>
> And I get the commented error. Any ideas anyone what I'm doing wrong.
>
> If there is one thing that AB confuses me with & that's dates!..value
> when & custom backtesting !!
>
> Any assistance will be greatly appreciated.
>
> Regards
>
> justinwomomo
>
>
> =====
>
> TradeRisk = IIf(Buy, EntryPrice - ExitPrice ,0);
>
> // ...
>
> AddToComposite(TradeRisk, "~trisk"+Name(),"C",atcFlagDefaults |
> atcFlagEnableInBacktest );
>
> // .......
>
> SetCustomBacktestProc("");
>
> // MaxLossPercentStop = 10; // 10% max. loss stop .... but I want $
> value risk
>
> /* custom-backtest procedure follows */
>
> if( Status("action") == actionPortfolio )
> {
> _TRACE("Custom BT Actioned");
> 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
>
> dt = DateTime();
>
> Risk = ValueWhen((Foreign("~trisk_" + trade.Symbol, dt )==
> Trade.EntryDateTime), Foreign("~trisk_" + trade.Symbol,"C")) ;
>
> _TRACE(" Trade.EntryDateTime = " + Trade.EntryDateTime + " Risk = "
> + Risk );
>
> /*
> Risk = ValueWhen((Foreign("~trisk_" + trade.Symbol, dt )
> ------------------------------------------------------------^
>
> Error 5.
> Argument #2 has incorrect type (the function expects different
> argument type here)
> */
>
> // Risk = ( MaxLossPercentStop / 100 ) * trade.GetEntryValue();
> // how 2 get $ val risk
>
> RMultiple = trade.GetProfit()/Risk ;
> trade.AddCustomMetric("Initial risk $", Risk );
> trade.AddCustomMetric("R-Multiple", RMultiple );
> SumProfitPerRisk = SumProfitPerRisk + RMultiple;
> NumTrades++;
>
> }
>
> expectancy3 = SumProfitPerRisk / NumTrades;
> bo.AddCustomMetric( "Expectancy (per risk)", expectancy3 );
> 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 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/
|