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.
EXPERT ADVISOR PROGRAMMING<br />
MinStop = 5 * UsePoint;<br />
PendingPrice = Low[0] - (PendingPips * UsePoint);<br />
if(PendingPrice > LowerStopLevel) PendingPrice = LowerStopLevel - MinStop;<br />
if(StopLoss > 0) double SellStopLoss = PendingPrice + (StopLoss * UsePoint);<br />
if(TakeProfit > 0) double SellTakeProfit = PendingPrice -<br />
(TakeProfit * UsePoint);<br />
UpperStopLevel = PendingPrice + StopLevel;<br />
LowerStopLevel = PendingPrice - StopLevel;<br />
if(SellStopLoss > 0 && SellStopLoss < UpperStopLevel)<br />
{<br />
SellStopLoss = UpperStopLevel + MinStop;<br />
}<br />
if(SellTakeProfit > 0 && SellTakeProfit > LowerStopLevel)<br />
{<br />
SellTakeProfit = LowerStopLevel - MinStop;<br />
}<br />
if(IsTradeContextBusy()) Sleep(10);<br />
SellTicket = OrderSend(Symbol(),OP_SELLSTOP,LotSize,PendingPrice,UseSlippage,<br />
SellStopLoss,SellTakeProfit,"Sell Stop Order",MagicNumber,0,Red);<br />
if(SellTicket == -1)<br />
{<br />
ErrorCode = GetLastError();<br />
ErrDesc = ErrorDescription(ErrorCode);<br />
ErrAlert = StringConcatenate("Open Sell Stop Order - Error ",ErrorCode,<br />
": ",ErrDesc);<br />
Alert(ErrAlert);<br />
}<br />
ErrLog = StringConcatenate("Bid: ",Bid," Lots: ",LotSize," Price: ",<br />
PendingPrice," Stop: ",SellStopLoss," Profit: ",SellTakeProfit);<br />
Print(ErrLog);<br />
}<br />
BuyTicket = 0;<br />
}<br />
return(0);<br />
170