Expert Advisor Programming by Andrew R. Young
Expert Advisor Programming by Andrew R. Young
Expert Advisor Programming by Andrew R. Young
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