//| Tula 2010 | //| ZarT http:\\detkomb.narod.ru | //+------------------------------------------------------------------+ #import "kernel32.dll" int WinExec(string cmd, int showConsole); #import //-------------------------------------------------------------------+ extern string s1 = "значения переменных для записи в файл"; extern int ProcentDepo = 10; // не используется //-------------------------------------------------------------------+ extern string s2 = "папка \files вторичных терминалов"; //--- extern bool Save_1 = true; extern string PuthTerminal_1 = "X:\MetaTrader4\experts\files"; //--- extern bool Save_2 = true; extern string PuthTerminal_2 = "W:\files";//папка \files на 2-м компе //--- /* extern bool Save_ = true; extern string PuthTerminal_ = ":\files";//папка \files */ //-------------------------------------------------------------------+ //---- static int NNN = 1; // //--- //--------------------------------------------------------------------// string FileNameTrades = "Order.txt", PuthTerminal,CommStroka_1,CommStroka_2; //string CommStroka_; int tz = 200; //====================================================================// int init() { //----- PuthTerminal = TerminalPath()+"\experts\files"; CommStroka_1= StringConcatenate("xcopy ","\"",PuthTerminal,"\Order.txt","\" ","\"",PuthTerminal_1,"\" /y" ); CommStroka_2= StringConcatenate("xcopy ","\"",PuthTerminal,"\Order.txt","\" ","\"",PuthTerminal_2,"\" /y" ); // CommStroka_= StringConcatenate("xcopy ","\"",PuthTerminal,"\Order.txt","\" ","\"",PuthTerminal_,"\" /y" ); //----- return(0); } //-------------------------------------------------------------------+ //| script program start function | //+------------------------------------------------------------------+ int start() { //Print(CommStroka_1 ); //---- проверка открытых ордеров int TotalTrades = OrdersTotal(); for (int i = 0; i < TotalTrades; i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); Print("OrderTicket = ",OrderTicket()); if (OrderTicket() > NNN) // if (OrderTicket() > 1 ) { //--- int handle=FileOpen(FileNameTrades, FILE_CSV|FILE_WRITE,','); //--- if(handle>0) { FileWrite(handle,OrderTicket(),OrderSymbol(),OrderType(),OrderTakeProfit(),OrderStopLoss(),ProcentDepo,111); FileClose(handle);Sleep(tz); NNN = OrderTicket(); // ---- скопируем файл в другие терминалы if (Save_1 == true) {WinExec(CommStroka_1, 0);Sleep(tz);} if (Save_2 == true) {WinExec(CommStroka_2, 0);Sleep(tz);} // if (Save_ == true) {WinExec(CommStroka_, 0);Sleep(tz);} // ---- можно удалить FileDelete(FileNameTrades); } } } //====================================================================================================// // Print("NNN = ",NNN); //---- проверка закрытых ордеров int TotalTradesH = OrdersHistoryTotal(); for (int ii = 0; ii < TotalTradesH; ii++) { OrderSelect(ii, SELECT_BY_POS, MODE_HISTORY ); // Print("OrderTicket = ",OrderTicket()); if (OrderTicket() == NNN ) // if (OrderTicket() > 1 ) { //--- int handleH=FileOpen(FileNameTrades, FILE_CSV|FILE_WRITE,','); //--- if(handleH>0) { FileWrite(handleH,OrderTicket(),OrderSymbol(),OrderType(),OrderTakeProfit(),OrderStopLoss(),ProcentDepo,222); // FileFlush(handle); FileClose(handleH);Sleep(tz); // NNN = OrderTicket(); // ---- скопируем файл в другие терминалы if (Save_1 == true) {WinExec(CommStroka_1, 0);Sleep(tz);} if (Save_2 == true) {WinExec(CommStroka_2, 0);Sleep(tz);} // if (Save_ == true) {WinExec(CommStroka_, 0);Sleep(tz);} // ---- можно удалить файл // FileDelete(FileNameTrades); } } } //----- return(0); } //==================================================================//