Need Help !!

 
Dear All,
I need help. I've been trying to find errors in the coding attached, but I have not found such errors (always appears errors when compiled). Please help, I am a newbie. Thank you.
Files:
 

extern bool    runStrategy1=true;
extern bool    runStrategy2=TRUE;
extern double  lots=0.01;
extern int     TP = 25;
extern int     SL = 330;
extern int     maxTrades=1;
extern int     myMagic=602197;
extern string  myComment="INS";
extern int     breakEven=15;
extern int     TrailingStop=50;
extern double  maxTotalProfit=100.00;
extern int     maxTryOrder=10;
extern int     MP=25;                
extern int     Magic_s1=1234;
extern int     Magic_s2=5678;
extern int     cmd;



int odrctr=0;
string         gs_0;
int            myDigits;
double         myPoint;


//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
{
   double SL_Buy;   
   double SL_Sell;  
   int mSignal=0;
   if (runStrategy1)
   {
      mSignal=checkSignal_s1(Symbol());
      if (mSignal==1  &&  countOrder(OP_BUY)==0)
      {
         OrderSend(Symbol(),lots, Ask,SL*myPoint, TP*myPoint, myComment,Magic_s1,Green);
      }
      else if (mSignal==-1 && countOrder(OP_SELL)==0)
      {
        OrderSend(Symbol(),lots, Bid,SL*myPoint, TP*myPoint, myComment,Magic_s1,Red); 
        Comment(gs_0); 
      } 
   }
   if (runStrategy2)
   {
      mSignal=checkSignal_s2(Symbol());
      
      //int SL_Buy=iLowest(Low[2], Low[1]); // read doc
      
      //int SL_Sell=iHighest(High[2], High[1]); // read doc x2
      
      if (mSignal==1  && countOrder(OP_BUY  )==0) 
      {
          OrderSend(Symbol(),lots, Ask,SL_Buy*myPoint, TP*myPoint, myComment,Magic_s2,Green);
          }
          
      else if (mSignal==-1 && countOrder(OP_SELL)==0) // if "==" not "="
      {
               OrderSend(Symbol(),lots, Bid,SL_Sell*myPoint, TP*myPoint, myComment,Magic_s2,Red);
               Comment(gs_0);
               } 
 
   }
   return(0);
}

//+------------------------------------------------------------------+


int countOrder (int cmd)
{

   int odrctr=0;
   for (int i=0;i<OrdersTotal();i++){
      OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol()==Symbol() && OrderMagicNumber()==myMagic && OrderType()== cmd) odrctr++;
   }
   return(odrctr);
}

double checkSignal_s1(string x) {} 

double checkSignal_s2(string x) {} 
 

Thank you very much for your help, Mr stywny

Sorry,

Orders Open () is user defined funct. Is there an error in coding? Please help. Thank you.

//------------------------OrderOpen() --------------------------------------

int OrderOpen(string symbol, int cmd, double vol, double Price, double SL, double TP, string comment, int magic, color Color ){
int li_ctr=0, myTicket=0;
color myColor=White;
double mPrice;
if(cmd==OP_BUY||cmd==OP_BUYSTOP||cmd==OP_BUYLIMIT)
{
myColor=Green;
if(cmd==OP_BUY)mPrice=Ask;
else
if(cmd==OP_BUYSTOP)mPrice=Ask+MP*mPoint;
else
if(cmd==OP_BUYLIMIT)mPrice=Ask-MP*mPoint;
while(li_ctr<maxTryOrder && myTicket==0 && IsTradeAllowed()==true){
myTicket=OrderSend(Symbol(),cmd,mPrice,2,Ask-SL*mPoint,Ask+TP*mPoint,"Nyoman",myMagic);
li_ctr++;
Sleep(1000);
}
}else
{
myColor=Red;Mr
if(cmd==OP_SELL)mPrice=Bid;
else
if (cmd==OP_SELLSTOP)mPrice=Bid-MP*mPoint;
else
if(cmd==OP_SELLLIMIT)mPrice=MP*mPoint-Bid;
while(li_ctr<maxTryOrder && myTicket==0 && IsTradeAllowed()==true){
myTicket=OrderSend(Symbol(),cmd,mPrice,2,Bid+SL*mPoint,Bid-TP*mPoint,"Nyoman",myMagic);
li_ctr++;
Sleep(1000);
}

}

}

 

This ?

myColor=Red;Mr

 
if(cmd==OP_BUYSTOP)mPrice=Ask+MP*mPoint; // mPoint ??

compiler is telling you same things. your function is compiling, is ok.

 
     OrderSend(Symbol(),lots, Ask,SL*myPoint, TP*myPoint, myComment,Magic_s1,Green);
  1. Missing slippage argument
  2. Always test return codes
    int ticket = OrderSend(...)
    if (ticket < 0) Alert("OrderSend failed: ", GetLastError());
  3. myPoint is never initialize - thus zero and so will your stops.
  4. EA's must adjust for 4/5 digit brokers, TP, SL, AND slippage. On ECN brokers you must open first and THEN set stops.
    //++++ These are adjusted for 5 digit brokers.
    int     pips2points;    // slippage  3 pips    3=points    30=points
    double  pips2dbl;       // Stoploss 15 pips    0.015      0.0150
    int     Digits.pips;    // DoubleToStr(dbl/pips2dbl, Digits.pips)
    int     init(){
         if (Digits % 2 == 1){      // DE30=1/JPY=3/EURUSD=5 forum.mql4.com/43064#515262
                    pips2dbl    = Point*10; pips2points = 10;   Digits.pips = 1;
        } else {    pips2dbl    = Point;    pips2points =  1;   Digits.pips = 0; }
        // OrderSend(... Slippage.Pips * pips2points, Bid - StopLossPips * pips2dbl
    //---- These are adjusted for 5 digit brokers.
        /* On ECN brokers you must open first and THEN set stops
        int ticket = OrderSend(...)
        if (ticket < 0)
           Alert("OrderSend failed: ", GetLastError());
        else if (!OrderSelect(ticket, SELECT_BY_TICKET))
           Alert("OrderSelect failed: ", GetLastError());
        else if (!OrderModify(OrderTicket()...)
           Alert("OrderModify failed: ", GetLastError());
         */
    

 
Thank You very much for all.
Reason: