title: Creating a Buy Limit gives invalid price error
body: <p>I am trying to write an Expert Advisor with MQL5 that initiates buy limits based on certain EMA values. Here is the code that I have written in OnTick() function.</p>
  
  <pre><code>        MqlRates priceData[]; //create a price array
  
         //sort the array from the current candle downwards
         ArraySetAsSeries(priceData, true);
  
         //copy candle prices for 5 candles into array
         CopyRates(_Symbol, _Period, 0,5, priceData);
  
         //EMA Based Trading
  
         int ema8 = iMA(_Symbol, _Period, 8, 0, MODE_EMA, PRICE_CLOSE);
         int ema21 = iMA(_Symbol, _Period, 21, 0, MODE_EMA, PRICE_CLOSE);
  
         //Arrays to store EMAs
         double ema8Array[], ema21Array[];
  
  
         //Sorting EMAs fot the current candle downwards 
         ArraySetAsSeries(ema8Array, true);
         ArraySetAsSeries(ema21Array, true);
  
         //Defined EMA8, one line, current candle, 5 candles, store result
         CopyBuffer(ema8,0,0,5,ema8Array);
  
         //Defined EMA21, one line, current candle, 5 candles, store result
         CopyBuffer(ema21,0,0,5,ema21Array);
  
         if(ema8Array[0] &gt; ema21Array[0])
         {
  
            if(
            (ema8Array[0] &gt;= priceData[1].close) 
            &amp;&amp; 
            (priceData[1].close &lt; ema21Array[0]))
            {
              Print("Chance To Buy"); 
  
              double closePrices[5];
  
              closePrices[0]=priceData[1].close;
              closePrices[1]=priceData[2].close;
              closePrices[2]=priceData[3].close;
              closePrices[3]=priceData[4].close;
  
              if((OrdersTotal() == 0) &amp;&amp; (PositionsTotal() == 0))
              {
               int maxValue=ArrayMaximum(closePrices,0,WHOLE_ARRAY);
               double buyStop=closePrices[maxValue]+0.00003;
               double stopLoss=priceData[1].close-0.00004;
               double takeProfit=buyStop+(buyStop-stopLoss);
  
               trade.BuyLimit(0.01,buyStop,_Symbol,0,0,ORDER_TIME_GTC,0,"Limit Added");
              }
            }
  
  
     }
  </code></pre>
  
  <p>When I run it it strategy testing with EURUSD on H1 timeline, I get the following error most of the times:</p>
  
  <pre><code>2018.12.25 14:27:47.117 2017.01.02 09:00:09   failed buy limit 0.01 EURUSD at 1.05342 [Invalid price]
  2018.12.25 14:27:47.117 2017.01.02 09:00:09   CTrade::OrderSend: buy limit 0.01 EURUSD at 1.05342 [invalid price]
  </code></pre>
  
  <p>Can you please tell me what I might be doing wrong?</p>