//وووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووو
// أًààëü_31.mq4.
// بٌïîëüçَهٌٍے â êà÷هٌٍâه ïًèىهًà â ٌٍàٍüه "جîé ïهًâûé أًààëü".
// رهًمهé تîâàë¸â, ؤيهïًîïهًٍîâٌê, sk@mail.dnepr.net, ICQ 64015987, http://autograf.dp.ua/.
//وووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووو
//
//
//وووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووو
extern int    MA1 = 11;                                  // دهًèîن 1-é جہ
extern int    MA2 = 23;                                  // دهًèîن 2-é جہ
extern double TP =  50;                                  // ز‎éêدًîôèٍ îًنهًà
extern double SL =  15;                                  // رٍîïثîٌٌ îًنهًà
extern double Prots= 0;                                  // دًîِهيٍ îٍ ٌâîلîنيûُ ًٌهنٌٍâ
//--------------------------------------------------------------------------------------------
int
   New_Bar,                                              // 0/1 شàêٍ îلًàçîâàيèے يîâîمî لàًà
   Time_0,                                               // آًهىے يà÷àëà يîâîمî لàًà
   ret,                                                  // حàïًàâëهيèه ïهًهٌه÷هيèے
   total;                                                // تًëè÷هٌٍâî îٍêًûٍûُ îًنهًîâ
//--------------------------------------------------------------------------------------------
double 
   Lot,                                                  // تîëè÷هٌٍâî ëîٍîâ
   Pred,                                                 // دًهنûنَùهه çيà÷هيèه 1-é جہ (ًîçîâ)
   Tek,                                                  // زهêَùهه    çيà÷هيèه 1-é جہ (ًîçîâ)
   Golub;                                                // زهêَùهه    çيà÷هيèه 2-é جہ(مîëَلàے)
//وووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووو
int init()  
   {
//============================================================================================
   SL = SL*Point;                                        // SL â ïَيêٍàُ
   TP = TP*Point;                                        // زذ â ïَيêٍàُ
   return;
//============================================================================================
   }  
//وووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووو
int start()  
   {
//============================================================================================
   total=OrdersTotal();                                  // خلùهه êîëè÷هٌٍâî îًنهًîâ
   if (total==2)return;                                  // سوه îٍêًûٍû îلà îًنهًà

//----------------------------------------------------------------------------- حîâûé لàً ----
   New_Bar=0;                                            // ؤëے يà÷àëà îليَëèىٌے
   if (Time_0 != Time[0])                                // إٌëè َوه نًَمîه âًهىے يà÷àëà لàًà
      {
      New_Bar= 1;                                        // ہ âîٍ è يîâûé لàً
      Time_0 = Time[0];                                  // اàïîىيèى âًهىے يà÷àëà يîâîمî لàًà
      } 
      
//--------------------------------------------------------------------------------------------
   Tek  =iMA(NULL,0, MA1, 0,MODE_LWMA, PRICE_TYPICAL, 0);// زهêَùهه    çيà÷هيèه 1-é جہ
   Pred =iMA(NULL,0, MA1, 0,MODE_LWMA, PRICE_TYPICAL, 1);// دًهنûنَùهه çيà÷هيèه 2-é جہ
   Golub=iMA(NULL,0, MA2, 0,MODE_LWMA, PRICE_TYPICAL, 0);// زهêَùهه    çيà÷هيèه 2-é جہ
   
//--------------------------------------------------------------------------------------------
   if (Peresechenie()==1 && New_Bar==1) Open_Buy();      // ؤâèوهيèه ٌيèçَ ââهًُ = îٍêً. Buy
   if (Peresechenie()==2 && New_Bar==1) Open_Sell();     // ؤâèوهيèه ٌâهًَُ âيèç = îٍêً. Sell
   return;
//============================================================================================
   }  
//وووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووو
int Peresechenie()
   {
   ret=0;                                                // آîٍ منه ٌîلàêà çàًûٍà!!:)
//============================================================================================
   if ((Pred<=Golub && Tek> Golub) ||
       (Pred< Golub && Tek>=Golub)  ) ret=1;             // دهًهٌه÷هيèه ٌيèçَ ââهًُ       
//--------------------------------------------------------------------------------------------
   if ((Pred>=Golub && Tek< Golub) ||
       (Pred> Golub && Tek<=Golub)  ) ret=2;             // دهًهٌه÷هيèه ٌâهًَُ âيèç
//============================================================================================
   return(ret);                                          // آîçâًàùàهى يàïًàâëهيèه ïهًهٌه÷هي.
   }
//وووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووو
int Open_Buy()  
   {
   if (total==1)
      {
      OrderSelect(0, SELECT_BY_POS);                     // آûنهëèى îًنهً
      if (OrderType()==0)return;                         // إٌëè îي buy, ٍî يه îٍêًûâàهىٌے
      }
   OrderSend(Symbol(),0, Lots(), Ask, 0, Ask-SL, Ask+TP, "", 0, 0, Blue);// خٍêًûâàهىٌے
   return;
   }
//وووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووو
int Open_Sell() 
   {
   if (total==1)
      {
      OrderSelect(0, SELECT_BY_POS);                     // آûنهëèى îًنهً
      if (OrderType()==1)return;                         // إٌëè îي sell, ٍî يه îٍêًûâàهىٌے
      }
   OrderSend(Symbol(),1, Lots(), Bid, 0, Bid+SL, Bid-TP, "", 0, 0, Red);// خٍêًûâàهىٌے
   return;
   }
//وووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووو
double Lots()
   {
   Lot = NormalizeDouble( AccountEquity()*Prots/100/1000, 1);// آû÷èٌëےهى êîëè÷. ëîٍîâ  
   if (Lot<0.1)Lot = 0.1;                                // ؤëے ٍهٌٍà يà ïîٌٍîےي. ىèيèى. ëîٍàُ
   return(Lot);
   }
//وووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووو
//

