unecepet token newbie programming

 
//--------------------------------------------------------------------
// simple.mq4
// To be used as an example in MQL4 book.
//--------------------------------------------------------------------
input int Sl = 100;
input int TP = 200;
input int slip = 6;
// Global variable
//--------------------------------------------------------------------
int init()                                      // fungsi di panggil sekali
 {
  Alert("Function init() triggered at start"); // Alert
  return(0);                                      // Exit init()
 }
//--------------------------------------------------------------------
int start()                                     // fungsi selalu di panggil
 {
  return 0;
 }
//--------------------------------------------------------------------
int deinit()                                    // Spec. funct. deinit()
 {
  Alert("Function deinit() triggered at deinitialization");    // Alert
  return 0;                                      //
 }

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnTick()
 {
// fungsi yang di panggil setiap bar bergerak
// jika order == 0 maka rule

    opBuy();
    opSell();
  return;
 }
//+------------------------------------------------------------------+
//| rules                                                            |
//+------------------------------------------------------------------+
void opBuy()
 {
  double M1 = iMA(NULL,PERIOD_D1,4,0,MODE_SMA,PRICE_MEDIAN,1)
  double M2 = iMA(NULL,PERIOD_D1, 6,0,MODE_SMA,PRICE_LOW,1)
  double M_1 = iMA(NULL,0,127,0,MODE_SMA,PRICE_LOW,0)
  double M_2 = iMA(NULL,0,127,0,MODE_SMA,PRICE_CLOSE,1);

    if(OrdersTotal()== 0) && (M1> M2)  || (M_1 < M_2)) //jika order kurang dari 1
      {
         int ticketBuy = OrderSend(Symbol(),OP_BUY,0.05,Ask,slip,Ask-Sl*Point,Ask+TP*Point,"BUY",1231,15,clrBlue);
         return;
      }
 }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void opSell()
 {
  if(OrdersTotal() < 1)
    int ticketBuy = OrderSend(Symbol(),OP_SELL,0.05,Bid,slip,Bid+Sl*Point,Bid-TP*Point,"BUY",1231,15,clrRed);
  return;
 }

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

please help me unecepet token and error all

im newbie for programming mql4 

can you help me

 
missing semicolon here
double M1 = iMA(NULL,PERIOD_D1,4,0,MODE_SMA,PRICE_MEDIAN,1)
double M2 = iMA(NULL,PERIOD_D1, 6,0,MODE_SMA,PRICE_LOW,1)
double M_1 = iMA(NULL,0,127,0,MODE_SMA,PRICE_LOW,0)

and ( here, after if

if(OrdersTotal()== 0) && (M1> M2)  || (M_1 < M_2)) //jika order kurang dari 1
 
Rian Rassetiadi #:
missing semicolon here

and ( here, after if

tanks bro :)

 
  1. int start()                                     // fungsi selalu di panggil
     {
      return 0;
     }
    //+------------------------------------------------------------------+
    //|                                                                  |
    //+------------------------------------------------------------------+
    void OnTick()
     {

    Start is the old event handler. OnTick is the new one. One or the other, never both.

  2.          int ticketBuy = OrderSend(Symbol(),OP_BUY,0.05,Ask,slip,Ask-Sl*Point,Ask+TP*Point,"BUY",1231,15,clrBlue);

    You buy at the Ask and sell at the Bid. Pending Buy Stop orders become market orders when hit by the Ask.

    1. Your buy order's TP/SL (or Sell Stop's/Sell Limit's entry) are triggered when the Bid / OrderClosePrice reaches it. Using Ask±n, makes your SL shorter and your TP longer, by the spread. Don't you want the specified amount used in either direction?

    2. Your sell order's TP/SL (or Buy Stop's/Buy Limit's entry) will be triggered when the Ask / OrderClosePrice reaches it. To trigger close at a specific Bid price, add the average spread.
                MODE_SPREAD (Paul) - MQL4 programming forum - Page 3 #25

    3. The charts show Bid prices only. Turn on the Ask line to see how big the spread is (Tools → Options (control+O) → charts → Show ask line.)

      Most brokers with variable spreads widen considerably at end of day (5 PM ET) ± 30 minutes.
      My GBPJPY shows average spread = 26 points, average maximum spread = 134.
      My EURCHF shows average spread = 18 points, average maximum spread = 106.
      (your broker will be similar).
                Is it reasonable to have such a huge spreads (20 PIP spreads) in EURCHF? - General - MQL5 programming forum (2022)