Ejemplo n.º 1
0
 protected override void OnPositionOpened(Position openedPosition)
 {
     position = openedPosition;
     counter  = 1;
     Trade.ModifyPosition(openedPosition, GetAbsoluteStopLoss(openedPosition, StopLoss), GetAbsoluteTakeProfit(openedPosition, TakeProfit));
 }
Ejemplo n.º 2
0
        protected override void OnBar()
        {
            if (Trade.IsExecuting)
            {
                return;
            }
            if (MarketSeries.Close[MarketSeries.Close.Count - 1] > MarketSeries.Close[MarketSeries.Close.Count - 2])
            {
                upClose = 1;
            }
            else
            {
                upClose = 0;
            }

            if (MarketSeries.Close[MarketSeries.Close.Count - 3] > MarketSeries.Close[MarketSeries.Close.Count - 4])
            {
                upCloseBefore = 1;
            }
            else
            {
                upCloseBefore = 0;
            }

            if ((MarketSeries.High[MarketSeries.High.Count - 2] < MarketSeries.High[MarketSeries.High.Count - 3]) && (MarketSeries.Low[MarketSeries.Low.Count - 2] > MarketSeries.Low[MarketSeries.Low.Count - 3]))
            {
                insideBar = 1;
            }
            else
            {
                insideBar = 0;
            }

            if (MarketSeries.Close[MarketSeries.Close.Count - 1] < MarketSeries.Close[MarketSeries.Close.Count - 2])
            {
                downClose = 1;
            }
            else
            {
                downClose = 0;
            }

            if (MarketSeries.Close[MarketSeries.Close.Count - 3] < MarketSeries.Close[MarketSeries.Close.Count - 4])
            {
                downCloseBefore = 1;
            }
            else
            {
                downCloseBefore = 0;
            }

            if (counter == 0)
            {
                if (upClose == 1 && insideBar == 1 && upCloseBefore == 1)
                {
                    Trade.CreateMarketOrder(TradeType.Buy, Symbol, Volume);
                }
                if (downClose == 1 && insideBar == 1 && downCloseBefore == 1)
                {
                    Trade.CreateMarketOrder(TradeType.Sell, Symbol, Volume);
                }
            }
        }