e_SynhrOrderSlave

Orders Execution
Checks for the total of open ordersIt Closes Orders by itself It automatically opens orders when conditions are reached
Miscellaneous
Uses files from the file systemIt reads information from a file
0 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

Markdown supported. Formatting help

Markdown Formatting Guide

Element Markdown Syntax
Heading # H1
## H2
### H3
Bold **bold text**
Italic *italicized text*
Link [title](https://www.example.com)
Image ![alt text](image.jpg)
Code `code`
Code Block ```
code block
```
Quote > blockquote
Unordered List - Item 1
- Item 2
Ordered List 1. First item
2. Second item
Horizontal Rule ---