Forex_Strategy_Builder.Strategy.StrategyPropertiesHTMLReport C# (CSharp) Method

StrategyPropertiesHTMLReport() private method

Generates a HTML report about the strategy properties.
private StrategyPropertiesHTMLReport ( ) : StringBuilder
return StringBuilder
        StringBuilder StrategyPropertiesHTMLReport()
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendLine("<h3>" + Language.T("Handling of Additional Entry Signals") + "</h3>");
            sb.AppendLine("<p>");
            sb.AppendLine(Language.T("Next same direction signal behavior") + " - ");
            if (SameSignalAction == SameDirSignalAction.Add)
                sb.AppendLine(Language.T("Adds to the position"));
            else if (SameSignalAction == SameDirSignalAction.Winner)
                sb.AppendLine(Language.T("Adds to a winning position"));
            else if (SameSignalAction == SameDirSignalAction.Nothing)
                sb.AppendLine(Language.T("Does nothing"));
            sb.AppendLine("<br />");
            sb.AppendLine(Language.T("Next opposite direction signal behavior") + " - ");
            if (OppSignalAction == OppositeDirSignalAction.Close)
                sb.AppendLine(Language.T("Closes the position"));
            else if (OppSignalAction == OppositeDirSignalAction.Reduce)
                sb.AppendLine(Language.T("Reduces the position"));
            else if (OppSignalAction == OppositeDirSignalAction.Reverse)
                sb.AppendLine(Language.T("Reverses the position"));
            else if (OppSignalAction == OppositeDirSignalAction.Nothing)
                sb.AppendLine(Language.T("Does nothing"));
            sb.AppendLine("</p>");

            sb.AppendLine("<h3>" + Language.T("Trading Size") + "</h3>");
            if (UseAccountPercentEntry)
                sb.AppendLine("<p>" + Language.T("Trade percent of your account. The percentage values show the part of the account equity used to cover the required margin.") + "</p>");

            sb.AppendLine("<table cellspacing=\"0\">");
            string sTradingUnit = UseAccountPercentEntry ? Language.T("% of the account equity") : "";
            sb.AppendLine("<tr><td>" + Language.T("Maximum number of open lots")                    + "</td><td> - " + MaxOpenLots + "</td></tr>");
            sb.AppendLine("<tr><td>" + Language.T("Number of entry lots for a new position")        + "</td><td> - " + EntryLots    + sTradingUnit + "</td></tr>");
            sb.AppendLine("<tr><td>" + Language.T("In case of addition - number of lots to add")    + "</td><td> - " + AddingLots   + sTradingUnit + "</td></tr>");
            sb.AppendLine("<tr><td>" + Language.T("In case of reduction - number of lots to close") + "</td><td> - " + ReducingLots + sTradingUnit + "</td></tr>");
            sb.AppendLine("</table>");

            sb.AppendLine("<h3>" + Language.T("Permanent Protection") + "</h3>");
            string sPermSL = Data.Strategy.UsePermanentSL ? (Data.Strategy.PermanentSLType == PermanentProtectionType.Absolute ? "(Abs) " : "") + Data.Strategy.PermanentSL.ToString() + " " + Language.T("pips") : "- " + Language.T("None");
            sb.AppendLine("<p>" + Language.T("Permanent Stop Loss") + " " + sPermSL + "</p>");
            string sPermTP = Data.Strategy.UsePermanentTP ? (Data.Strategy.PermanentTPType == PermanentProtectionType.Absolute ? "(Abs) " : "") + Data.Strategy.PermanentTP.ToString() + " " + Language.T("pips") : "- " + Language.T("None");
            sb.AppendLine("<p>" + Language.T("Permanent Take Profit") + " " + sPermTP + "</p>");

            return sb;
        }