<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Forex Software — Custom Account Statistics for FSB Pro]]></title>
		<link>https://forexsb.com/forum/topic/4011/custom-account-statistics-for-fsb-pro/</link>
		<atom:link href="https://forexsb.com/forum/feed/rss/topic/4011/" rel="self" type="application/rss+xml" />
		<description><![CDATA[The most recent posts in Custom Account Statistics for FSB Pro.]]></description>
		<lastBuildDate>Mon, 18 Feb 2013 13:33:42 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Custom Account Statistics for FSB Pro]]></title>
			<link>https://forexsb.com/forum/post/18326/#p18326</link>
			<description><![CDATA[<p>Maximum floating Draw down % , In my opinion its something like real trading&nbsp; we don&#039;t need a profitable strategy with floating draw down 25% or so</p>]]></description>
			<author><![CDATA[null@example.com (ahmedalhoseny)]]></author>
			<pubDate>Mon, 18 Feb 2013 13:33:42 +0000</pubDate>
			<guid>https://forexsb.com/forum/post/18326/#p18326</guid>
		</item>
		<item>
			<title><![CDATA[Re: Custom Account Statistics for FSB Pro]]></title>
			<link>https://forexsb.com/forum/post/18325/#p18325</link>
			<description><![CDATA[<p>Minimum number of consecutive weeks/days / bars&nbsp; strategy allowed to be out of market&#039;&#039; not trading&#039;&#039; it will be a nice addition</p>]]></description>
			<author><![CDATA[null@example.com (ahmedalhoseny)]]></author>
			<pubDate>Mon, 18 Feb 2013 13:22:21 +0000</pubDate>
			<guid>https://forexsb.com/forum/post/18325/#p18325</guid>
		</item>
		<item>
			<title><![CDATA[Re: Custom Account Statistics for FSB Pro]]></title>
			<link>https://forexsb.com/forum/post/18323/#p18323</link>
			<description><![CDATA[<p>average trades last week = average trades last two weeks = average trades last month = average trades last quarter = average trades last year plus/minus % </p><br /><p>Is it applicable!!!!</p>]]></description>
			<author><![CDATA[null@example.com (ahmedalhoseny)]]></author>
			<pubDate>Mon, 18 Feb 2013 13:12:07 +0000</pubDate>
			<guid>https://forexsb.com/forum/post/18323/#p18323</guid>
		</item>
		<item>
			<title><![CDATA[Re: Custom Account Statistics for FSB Pro]]></title>
			<link>https://forexsb.com/forum/post/18314/#p18314</link>
			<description><![CDATA[<p>I&#039;ll add also:&nbsp; Average trade duration, Realized PL per lot, and Max consecutive loses</p><p>With this custom file will be very easy to remove a record or rearrange records.</p><p>Also we&#039;ll be possible to make some &quot;Strategy Performance&quot; function that will combine several stats value and will show: Very Good, Good, Bad... <br />something like:</p><div class="codebox"><pre><code>if (AmbiguousBars&lt; 1 &amp;&amp; MoneyProfitPerDay&gt; 30 &amp;&amp; MoneyEquityPercentDrawdown&lt; 10)
{
    records.Add(new InfoRecord
        {
            Name = &quot;Strategy performance&quot;,
            Value = &quot;Excelent&quot;,
            Flag = InfoRecordFlag.VeryGood
        });
}
else if (AmbiguousBars&lt; 5 &amp;&amp; MoneyProfitPerDay&gt; 25 &amp;&amp; MoneyEquityPercentDrawdown&lt; 15)
{
    records.Add(new InfoRecord
        {
            Name = &quot;Strategy performance&quot;,
            Value = &quot;Good&quot;,
            Flag = InfoRecordFlag.Good
        });
}
else if (AmbiguousBars&lt; 10 &amp;&amp; MoneyProfitPerDay&gt; 0 &amp;&amp; MoneyEquityPercentDrawdown&lt; 15)
{
    records.Add(new InfoRecord
        {
            Name = &quot;Strategy performance&quot;,
            Value = &quot;Normal&quot;,
            Flag = InfoRecordFlag.Normal
        });
}
else
{
    records.Add(new InfoRecord
        {
            Name = &quot;Strategy performance&quot;,
            Value = &quot;Bad&quot;,
            Flag = InfoRecordFlag.Bad
        });
}</code></pre></div><p>Where different Flag values correspond to different color of the info line.</p>]]></description>
			<author><![CDATA[null@example.com (Popov)]]></author>
			<pubDate>Sun, 17 Feb 2013 22:25:11 +0000</pubDate>
			<guid>https://forexsb.com/forum/post/18314/#p18314</guid>
		</item>
		<item>
			<title><![CDATA[Re: Custom Account Statistics for FSB Pro]]></title>
			<link>https://forexsb.com/forum/post/18313/#p18313</link>
			<description><![CDATA[<p>I am not sure if I am understanding the purpose of this.... so my reply may be way out to lunch..</p><p>Orders per day........ I feel it to be important that there be a certain number of actual trades per day for some advisers.&nbsp; Also.... profitable and losing entries per day. Because we may have a series of bad orders that needs to be corrected.</p>]]></description>
			<author><![CDATA[null@example.com (Blaiserboy)]]></author>
			<pubDate>Sun, 17 Feb 2013 22:00:37 +0000</pubDate>
			<guid>https://forexsb.com/forum/post/18313/#p18313</guid>
		</item>
		<item>
			<title><![CDATA[Custom Account Statistics for FSB Pro]]></title>
			<link>https://forexsb.com/forum/post/18306/#p18306</link>
			<description><![CDATA[<p>I&#039;m now experimenting with loading custom account statistics.</p><p>In that connection I totally rewrite it&#039;s code.</p><p>The main parameters and stats values are calculated by the Backtester at every test.<br />After that program calls AccountStatistics class and provides a link to Backteser.</p><div class="codebox"><pre><code>/// &lt;summary&gt;
///     Calculates the account statistics.
/// &lt;/summary&gt;
public void CalculateAccountStats(IBackTester backtester)
{
    IStrategy strategy = backtester.Strategy;
    IDataSet dataSet = backtester.DataSet;
    IProfile profile = backtester.Profile;

    int bars = dataSet.Bars;
    int firstBar = strategy.FirstBar;
    isInfoInCurrency = profile.IsInfoInCurrency;
    accountCurrency = profile.AccountCurrency;
    SentOrders = backtester.SentOrders;
    isScanPerformed = backtester.IsScanPerformed;
    testedBars = bars - firstBar;

    NetBalance = backtester.NetBalance;
    NetMoneyBalance = backtester.NetMoneyBalance;</code></pre></div><p>In that way, the custom code has full access to all strategy, data series, profile settings and backtest data.</p><p>CalculateAccountStats method of the custom code copies what it needs from backtester and calculates the new parameters.</p><p>The stats info is stored in a InfoRecord class record by record:<br /></p><div class="codebox"><pre><code>    public struct InfoRecord
    {
        public string Name { get; set; }
        public string Value { get; set; }
        public InfoRecordFlag Flag { get; set; }
    }</code></pre></div><div class="codebox"><pre><code>records.Add(new InfoRecord
    {
        Name = &quot;Profit per day&quot;,
        Value = isInfoInCurrency
                    ? MoneyProfitPerDay.ToString(&quot;F2&quot;) + unit
                    : ProfitPerDay + unit,
        Flag = ProfitPerDay &lt; 0
                   ? InfoRecordFlag.Bad
                   : InfoRecordFlag.Normal
    });

records.Add(new InfoRecord
    {
        Name = &quot;Tested bars&quot;,
        Value = testedBars.ToString(CultureInfo.InvariantCulture),
        Flag = InfoRecordFlag.Normal
    });</code></pre></div><p>This concept works fine for now, but I want to experiment more.</p><p>Can you suggests some stats info you want to see in Account Stats info window.<br />I&#039;ll use it for a demo.</p>]]></description>
			<author><![CDATA[null@example.com (Popov)]]></author>
			<pubDate>Sun, 17 Feb 2013 16:44:35 +0000</pubDate>
			<guid>https://forexsb.com/forum/post/18306/#p18306</guid>
		</item>
	</channel>
</rss>
