25.10.2016 Views

Expert Advisor Programming by Andrew R. Young

Expert Advisor Programming by Andrew R. Young

Expert Advisor Programming by Andrew R. Young

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

EXPERT ADVISOR PROGRAMMING<br />

// Get Slippage Function<br />

int GetSlippage(string Currency, int SlippagePips)<br />

{<br />

int CalcDigits = MarketInfo(Currency,MODE_DIGITS);<br />

if(CalcDigits == 2 || CalcDigits == 4) double CalcSlippage = SlippagePips;<br />

else if(CalcDigits == 3 || CalcDigits == 5) CalcSlippage = SlippagePips * 10;<br />

return(CalcSlippage);<br />

}<br />

Advanced <strong>Expert</strong> <strong>Advisor</strong> with Pending Orders<br />

Here is the advanced expert advisor using pending stop orders:<br />

#include <br />

// External Variables<br />

extern int PendingPips = 20;<br />

extern double LotSize = 0.1;<br />

extern double StopLoss = 50;<br />

extern double TakeProfit = 100;<br />

extern int Slippage = 5;<br />

extern int MagicNumber = 123;<br />

extern int FastMAPeriod = 10;<br />

extern int SlowMAPeriod = 20;<br />

// Global Variables<br />

int BuyTicket;<br />

int SellTicket;<br />

double UsePoint;<br />

int UseSlippage;<br />

int ErrorCode;<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 Average<br />

double FastMA = iMA(NULL,0,FastMAPeriod,0,0,0,0);<br />

double SlowMA = iMA(NULL,0,SlowMAPeriod,0,0,0,0);<br />

166

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!