Forex_Strategy_Builder.Strategy.EnvironmentHTMLReport C# (CSharp) Method

EnvironmentHTMLReport() private method

Generates a HTML report about the trading environment.
private EnvironmentHTMLReport ( ) : StringBuilder
return StringBuilder
        StringBuilder EnvironmentHTMLReport()
        {
            StringBuilder sb = new StringBuilder();

            string swapUnit = (Data.InstrProperties.SwapType == Commission_Type.money ? Data.InstrProperties.PriceIn : Language.T(Data.InstrProperties.SwapType.ToString()));
            string commission = Language.T("Commission") + " " + Data.InstrProperties.CommissionScopeToString + " " + Data.InstrProperties.CommissionTimeToString;
            string commUnit = (Data.InstrProperties.CommissionType == Commission_Type.money ? Data.InstrProperties.PriceIn : Language.T(Data.InstrProperties.CommissionType.ToString()));

            sb.AppendLine("<h3>" + Language.T("Market") + "</h3>");
            sb.AppendLine("<table class=\"fsb_table_cleen\" cellspacing=\"0\">");
            sb.AppendLine("<tr><td>" + Language.T("Symbol")     + "</td><td> - <strong>" + Data.Symbol    + "</strong></td></tr>");
            sb.AppendLine("<tr><td>" + Language.T("Time frame") + "</td><td> - <strong>" + Data.PeriodString + "</strong></td></tr>");
            sb.AppendLine("</table>");

            sb.AppendLine("<h3>" + Language.T("Account") + "</h3>");
            sb.AppendLine("<table class=\"fsb_table_cleen\" cellspacing=\"0\">");
            sb.AppendLine("<tr><td>" + Language.T("Initial account") + "</td><td> - " + Configs.InitialAccount.ToString("F2") + " " + Configs.AccountCurrency + "</td></tr>");
            sb.AppendLine("<tr><td>" + Language.T("Lot size")        + "</td><td> - "   + Data.InstrProperties.LotSize.ToString() + "</td></tr>");
            sb.AppendLine("<tr><td>" + Language.T("Leverage")        + "</td><td> - 1/" + Configs.Leverage + "</td></tr>");
            sb.AppendLine("<tr><td>" + Language.T("Required margin") + "</td><td> - " + Backtester.RequiredMargin(1, Data.Bars - 1).ToString("F2") + " " + Configs.AccountCurrency + "* " + Language.T("for each open lot") + "</td></tr>");
            sb.AppendLine("</table>");

            sb.AppendLine("<h3>" + Language.T("Charges") + "</h3>");
            sb.AppendLine("<table class=\"fsb_table_cleen\" cellspacing=\"0\">");
            sb.AppendLine("<tr><td>" + Language.T("Spread") + "</td><td> - " + Plural("pip", Data.InstrProperties.Spread) + "</td><td>(" + Backtester.PipsToMoney(Data.InstrProperties.Spread, Data.Bars - 1).ToString("F2") + " " + Configs.AccountCurrency + "*)</td></tr>");
            sb.AppendLine("<tr><td>" + Language.T("Swap number for a long position rollover")  + "</td><td> - " + Data.InstrProperties.SwapLong.ToString()  + " " + swapUnit + "</td><td>(" + Backtester.RolloverInMoney(PosDirection.Long,  1, 1, Data.Close[Data.Bars - 1]).ToString("F2") + " " + Configs.AccountCurrency + "*)</td></tr>");
            sb.AppendLine("<tr><td>" + Language.T("Swap number for a short position rollover") + "</td><td> - " + Data.InstrProperties.SwapShort.ToString() + " " + swapUnit + "</td><td>(" + Backtester.RolloverInMoney(PosDirection.Short, 1, 1, Data.Close[Data.Bars - 1]).ToString("F2") + " " + Configs.AccountCurrency + "*)</td></tr>");
            sb.AppendLine("<tr><td>" + commission + "</td><td> - " + Data.InstrProperties.Commission.ToString() + " " + commUnit + "</td><td>(" + Backtester.CommissionInMoney(1, Data.Close[Data.Bars-1], false).ToString("F2") + " " + Configs.AccountCurrency + "*)</td></tr>");
            sb.AppendLine("<tr><td>" + Language.T("Slippage") + "</td><td> - " + Plural("pip", Data.InstrProperties.Slippage) + "</td><td>(" + Backtester.PipsToMoney(Data.InstrProperties.Slippage, Data.Bars - 1).ToString("F2") + " " + Configs.AccountCurrency + "*)</td></tr>");
            sb.AppendLine("</table>");

            sb.AppendLine("<p>--------------<br />");
            sb.AppendLine("* " + Language.T("This value may vary!"));
            sb.AppendLine("</p>");

            return sb;
        }