Forex_Strategy_Builder.Backtester.SetEntryOrders C# (CSharp) Метод

SetEntryOrders() статический приватный Метод

Sets an entry order
static private SetEntryOrders ( int bar, double price, PosDirection posDir, double lots ) : void
bar int
price double
posDir PosDirection
lots double
Результат void
        static void SetEntryOrders(int bar, double price, PosDirection posDir, double lots)
        {
            if (lots < 0.005)
                return; // This is a manner of cancellation an order.

            int ifOrder = 0;
            int toPos   = 0;

            if (posDir == PosDirection.Long)
            {
                if (openStrPriceType == StrategyPriceType.Open || openStrPriceType == StrategyPriceType.Close)
                    OrdBuyMarket(bar, ifOrder, toPos, lots, price, OrderSender.Open, OrderOrigin.Strategy, Language.T("Entry Order"));
                else if (price > Open[bar])
                    OrdBuyStop(bar, ifOrder, toPos, lots, price, OrderSender.Open, OrderOrigin.Strategy, Language.T("Entry Order"));
                else if (price < Open[bar])
                    OrdBuyLimit(bar, ifOrder, toPos, lots, price, OrderSender.Open, OrderOrigin.Strategy, Language.T("Entry Order"));
                else
                    OrdBuyMarket(bar, ifOrder, toPos, lots, price, OrderSender.Open, OrderOrigin.Strategy, Language.T("Entry Order"));
            }
            else
            {
                if (openStrPriceType == StrategyPriceType.Open || openStrPriceType == StrategyPriceType.Close)
                    OrdSellMarket(bar, ifOrder, toPos, lots, price, OrderSender.Open, OrderOrigin.Strategy, Language.T("Entry Order"));
                else if (price < Open[bar])
                    OrdSellStop(bar, ifOrder, toPos, lots, price, OrderSender.Open, OrderOrigin.Strategy, Language.T("Entry Order"));
                else if (price > Open[bar])
                    OrdSellLimit(bar, ifOrder, toPos, lots, price, OrderSender.Open, OrderOrigin.Strategy, Language.T("Entry Order"));
                else
                    OrdSellMarket(bar, ifOrder, toPos, lots, price, OrderSender.Open, OrderOrigin.Strategy, Language.T("Entry Order"));
            }

            return;
        }