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.
Order Placement<br />
double UsePoint;<br />
int UseSlippage;<br />
// Init function<br />
int init()<br />
{<br />
UsePoint = PipPoint(Symbol());<br />
UseSlippage = GetSlippage(Symbol(),Slippage);<br />
}<br />
// Start function<br />
int start()<br />
{<br />
// Moving averages<br />
double FastMA = iMA(NULL,0,FastMAPeriod,0,0,0,0);<br />
double SlowMA = iMA(NULL,0,SlowMAPeriod,0,0,0,0);<br />
// Buy order<br />
if(FastMA > SlowMA && BuyTicket == 0)<br />
{<br />
OrderSelect(SellTicket,SELECT_BY_TICKET);<br />
// Close order<br />
if(OrderCloseTime() == 0 && SellTicket > 0)<br />
{<br />
double CloseLots = OrderLots();<br />
double ClosePrice = Ask;<br />
}<br />
bool Closed = OrderClose(SellTicket,CloseLots,ClosePrice,UseSlippage,Red);<br />
double OpenPrice = Ask;<br />
// Calculate stop loss and take profit<br />
if(StopLoss > 0) double BuyStopLoss = OpenPrice - (StopLoss * UsePoint);<br />
if(TakeProfit > 0) double BuyTakeProfit = OpenPrice + (TakeProfit * UsePoint);<br />
// Open buy order<br />
BuyTicket = OrderSend(Symbol(),OP_BUY,LotSize,OpenPrice,UseSlippage,<br />
BuyStopLoss,BuyTakeProfit,"Buy Order",MagicNumber,0,Green);<br />
}<br />
SellTicket = 0;<br />
// Sell Order<br />
if(FastMA < SlowMA && SellTicket == 0)<br />
{<br />
OrderSelect(BuyTicket,SELECT_BY_TICKET);<br />
37