I tried coding an EA and i get no errors when I compile it.
However, when I try testing it on the Strategy tester, none of the orders are executed. Looking at the journal (please see the picture below), I saw that the problem is with executing my orders. My orders were never executed.
I have the following lines of code for sending orders and closing positions.
For an order to go long
===============================================================
TicketNumber = OrderSend(Symbol(),OP_BUY,TradeLots,Ask,3,Ask-11*Point,0,"My EA",numOrders,0,Green);
if(TicketNumber <=0)
{ Alert("Buy Order NOT executed. Ticket Number: ",TicketNumber);
return(-1);
}
PositionOpen = TRUE;
PositionLong = TRUE;
//Similarly for an order to go short
TicketNumber = OrderSend(Symbol(), OP_SELL,TradeLots,Bid,3,Bid+5*Point,0, "My EA",numOrders,0,Red);
if(TicketNumber <=0)
{ Alert("Sell Order NOT executed. Ticket Number: ", TicketNumber);
Print("OrderSend failed with error # ",GetLastError());
return(-1);
}
PositionOpen = TRUE;
PositionLong = FALSE;
==========================================================
The following code is to close an existing open position.
================================================================
The following code to close an existing short position
=================================================================
OrderClosed = OrderClose(currentOrderTicketNumber, TradeLots, 2, CLR_NONE);
if(OrderClosed != true)
{ Alert("Short Position NOT successfully Closed. Ticket Number: ",currentOrderTicketNumber);
return(-1);
}
PositionOpen = FALSE;
PositionLong = FALSE;
==================================================================
Can anyone please tell me where am I going wrong, or why am I getting all these errors?
Your help is much appreciated.
However, when I try testing it on the Strategy tester, none of the orders are executed. Looking at the journal (please see the picture below), I saw that the problem is with executing my orders. My orders were never executed.
I have the following lines of code for sending orders and closing positions.
For an order to go long
===============================================================
TicketNumber = OrderSend(Symbol(),OP_BUY,TradeLots,Ask,3,Ask-11*Point,0,"My EA",numOrders,0,Green);
if(TicketNumber <=0)
{ Alert("Buy Order NOT executed. Ticket Number: ",TicketNumber);
return(-1);
}
PositionOpen = TRUE;
PositionLong = TRUE;
//Similarly for an order to go short
TicketNumber = OrderSend(Symbol(), OP_SELL,TradeLots,Bid,3,Bid+5*Point,0, "My EA",numOrders,0,Red);
if(TicketNumber <=0)
{ Alert("Sell Order NOT executed. Ticket Number: ", TicketNumber);
Print("OrderSend failed with error # ",GetLastError());
return(-1);
}
PositionOpen = TRUE;
PositionLong = FALSE;
==========================================================
The following code is to close an existing open position.
================================================================
The following code to close an existing short position
=================================================================
OrderClosed = OrderClose(currentOrderTicketNumber, TradeLots, 2, CLR_NONE);
if(OrderClosed != true)
{ Alert("Short Position NOT successfully Closed. Ticket Number: ",currentOrderTicketNumber);
return(-1);
}
PositionOpen = FALSE;
PositionLong = FALSE;
==================================================================
Can anyone please tell me where am I going wrong, or why am I getting all these errors?
Your help is much appreciated.