I want to open orders by orders whenever a certain trading condition is met. I want to open pending orders in previous highest and lowest price.
So, I tried like this:
upper=iHigh(Symbol(),Period(),iHighest(Symbol(),Period(),MODE_HIGH,periods,0));
lower=iLow(Symbol(),Period(),iLowest(Symbol(),Period(),MODE_LOW,periods,0));
Comment("Upper: ",upper,"\nLower: ",lower);
int openCount=0;
int openpendCount=0;
for( int i = OrdersTotal()-1; i >= 0 ; i--)
{
if (OrderSelect(i, SELECT_BY_POS) && // Only my orders :
OrderMagicNumber() == 0 && // my magic number
OrderSymbol() == _Symbol) // and my symbol
{
if(OrderType() == OP_SELL && OrderType() ==OP_BUY) // count market orders
openCount++;
if(OrderType() == OP_SELLLIMIT && OrderType() ==OP_BUYLIMIT) // count market orders
openpendCount++;
}
}
if(openCount ==0 && openpendCount == 0 )
{ OrderSend(Symbol(), OP_SELLLIMIT,1,Ask+(upper-Ask), 3,0,0,"Sub Buy", MAGIC,0, Blue);
OrderSend(Symbol(), OP_BUYLIMIT,1,Ask-(Bid-lower), 3,0,0,"Sub Buy", MAGIC,0, Blue);
}
But no success,
Q: How can I make multiple new orders at the same time, and no more new orders when trade condition meet.