e_SynhrOrderSlave

Profit factor:
0.00
1 Views
0 Downloads
0 Favorites
e_SynhrOrderSlave
//|                                          Tula 2010               |
//|     ZarT                          http:\\detkomb.narod.ru        |
//+------------------------------------------------------------------+
//-------------------------------------------------------------------+
//extern string s1 = "çíà÷åíèÿ ïåðåìåííûõ ";
//-------------------------------------------------------------------+
//-------------------------------------------------------------------+
string FileNameTrades = "Order.txt",Komment = "SYNHRO";

int tz = 200, ticket = 0;

//--- çíà÷åíèÿ èç ôàéëà -----
 int MN = 0,TypOrd = 99,ProcentDepo = 1,Triger = 333;
 string INSTR = "";
 double tp = 0, sl = 0;
//----
//extern 
double Lots = 0.1;

//===================================================================//
 int init()  {  
//-----
   Lots = MarketInfo(Symbol(),MODE_MINLOT);
//-----
 return(0);   }  

//-------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {

//---- Çàãðóçèòü çíà÷åíèÿ èç Order.txt
   int ChekZagr = FileZagruz(FileNameTrades);
   if( ChekZagr == -1) return(0);
   
//   Print("MN = ",MN," INSTR: ",INSTR," TypOrd = ",TypOrd, " sl = ",sl," tp = ",tp);// äëÿ îòëàäêè

   sl = NormalizeDouble(sl,Digits);   tp = NormalizeDouble(tp,Digits); 

//   Print("sl = ",sl," tp = ",tp); // äëÿ îòëàäêè

//---- ïðîâåðêà îòêðûòûõ îðäåðîâ

   int TotalTrades = OrdersTotal();
   for (int i = 0; i < TotalTrades; i++) 
     {
      OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
 //Print();     
   if (OrderMagicNumber() == MN && Triger == 222)

   { //--- Close ORDER ---//
   if(OrderType()==OP_BUY) { OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet);}
   if(OrderType()==OP_SELL){ OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet);}
// ---- ìîæíî óäàëèòü
   FileDelete(FileNameTrades);
       }
   }
// ---- ïðîâåðêà îðäåðîâ
 if (OrdersTotal() >= 1) return(0);
   
//  if (OrderSelect(ticket, SELECT_BY_TICKET ) == true) return(0); 

//-------- ÎÒÊÐÛÒÜ ÎÐÄÅÐ ------------//

   // BUY
   if (TypOrd == 0 && Triger == 111){ticket=OrderSend(INSTR,OP_BUY,Lots,Ask,3,sl,tp,Komment,MN,0,Green);
         if(ticket>0)
           {
            if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY ïîçèöèÿ îòêðûòà ïî öåíå: ",OrderOpenPrice());
           }
         else Print("Îøèáêà îòêðûòèÿ BUY : ",GetLastError()); }

   // SELL
   if (TypOrd == 1 && Triger == 111){ticket=OrderSend(INSTR,OP_SELL,Lots,Bid,3,sl,tp,Komment,MN,0,Red);
         if(ticket>0)
           {
            if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL ïîçèöèÿ îòêðûòà ïî öåíå: ",OrderOpenPrice());
           }
         else Print("Îøèáêà îòêðûòèÿ SELL : ",GetLastError()); }
   

//-------------------------------------------------------------------//
//   NNN = OrderTicket(); Print("NNN = ",NNN);     
//===================================================================//

   return(0);
}

//===================================================================//
//   Print();
//===================================================================// 

int FileZagruz(string NameFileZ)

{
//====== FILE =========
   string Zn1,Zn2,Zn3,Zn4,Zn5,Zn6,Zn7,Zn8;
   int handle;
  //---
   handle=FileOpen(NameFileZ, FILE_CSV|FILE_READ,',');
        if(handle>0){
            //while(!FileIsEnding(handle)){
               Zn1    = FileReadString(handle);//íîìåð òèêåòà --> 
               Zn2    = FileReadString(handle);
               Zn3    = FileReadString(handle);
               Zn4    = FileReadString(handle);
               Zn5    = FileReadString(handle);
               Zn6    = FileReadString(handle);
               Zn7    = FileReadString(handle);
   // Ïðåîáðàçîâàíèå òèïà äàííûõ
         MN    = StrToInteger(Zn1);
         INSTR =              Zn2;
         TypOrd= StrToInteger(Zn3); // 0 - Buy; 1 - Sell
         tp    = StrToDouble(Zn4);
         sl    = StrToDouble(Zn5);
    ProcentDepo= StrToInteger(Zn6);     
         Triger  = StrToInteger(Zn7); 
//---
//   Print("---- MN = ",MN," INSTR: ",INSTR," TypOrd = ",TypOrd, " sl = ",sl," tp = ",tp);

 //  Print();                  
            
         }
         else{ Print("Íåò ôàéëà "+NameFileZ);  return(-1); }

   FileClose(handle); Sleep(tz); return(1);
//---

}
//+------------------------------------------------------------------------------------+

Comments