Expert Advisor Programming by Andrew R. Young
Expert Advisor Programming by Andrew R. Young
Expert Advisor Programming by Andrew R. Young
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Appendix B<br />
// Buy Order<br />
if(FastMA > SlowMA && BuyTicket == 0)<br />
{<br />
// Close order<br />
OrderSelect(SellTicket,SELECT_BY_TICKET);<br />
if(OrderCloseTime() == 0 && SellTicket > 0 && OrderType() == OP_SELL)<br />
{<br />
double CloseLots = OrderLots();<br />
while(IsTradeContextBusy()) Sleep(10);<br />
RefreshRates();<br />
double ClosePrice = Ask;<br />
bool Closed = OrderClose(SellTicket,CloseLots,ClosePrice,UseSlippage,Red);<br />
// Error handling<br />
if(Closed == false)<br />
{<br />
ErrorCode = GetLastError();<br />
string ErrDesc = ErrorDescription(ErrorCode);<br />
string ErrAlert = StringConcatenate("Close Sell Order - Error ",<br />
ErrorCode,": ",ErrDesc);<br />
Alert(ErrAlert);<br />
}<br />
}<br />
string ErrLog = StringConcatenate("Ask: ",Ask," Lots: ",LotSize,<br />
" Ticket: ",SellTicket);<br />
Print(ErrLog);<br />
// Delete order<br />
else if(OrderCloseTime() == 0 && SellTicket > 0 && OrderType() == OP_SELLSTOP)<br />
{<br />
bool Deleted = OrderDelete(SellTicket,Red);<br />
if(Deleted == true) SellTicket = 0;<br />
// Error handling<br />
if(Deleted == false)<br />
{<br />
ErrorCode = GetLastError();<br />
ErrDesc = ErrorDescription(ErrorCode);<br />
ErrAlert = StringConcatenate("Delete Sell Stop Order - Error ",<br />
ErrorCode,": ",ErrDesc);<br />
Alert(ErrAlert);<br />
}<br />
}<br />
ErrLog = StringConcatenate("Ask: ",Ask," Ticket: ",SellTicket);<br />
Print(ErrLog);<br />
167