#property copyright "Copyright � 2010, expforex"
#property link      "http://www.expforex.at.ua"
#property show_inputs

#include <WinUser32.mqh>

#import "kernel32.dll"
   int _lopen(string a0, int a1);
   int _lcreat(string a0, int a1);
   int _llseek(int a0, int a1, int a2);
   int _lread(int a0, string a1, int a2);
   int _lwrite(int a0, string a1, int a2);
   int _lclose(int a0);
#import "shell32.dll"
   int ShellExecuteA(int a0, string a1, string a2, string a3, string a4, int a5);
#import

extern string pathWrite = "C:\\wtest2.txt";
extern string SymbolToCopy = "";
extern int typeToCopy = -1;
extern int MagicToCopy = -1;
extern int SLEEPING = 1000;
int gi_104 = 25;
int g_datetime_112;

void deinit() {
   Comment("������ ������ � �������");
}

void start() {
   string ls_0;
   Stamp();
   while (true) {
      if (!(CheckDonate())) continue;
      ls_0 = TradesToCopy(SymbolToCopy, typeToCopy, MagicToCopy);
      WriteFile(pathWrite, ls_0);
      Comment("������ ��������, ��������� ����� ����������� ��������:" + TimeToStr(g_datetime_112 + SLEEPING / 1000, TIME_DATE|TIME_MINUTES|TIME_SECONDS));
      g_datetime_112 = TimeCurrent();
      Sleep(SLEEPING);
   }
}

void Stamp() {
   ObjectCreate("Original", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("Original", " www.expforex.at.ua", 12, "Arial Bold", Chartreuse);
   ObjectSet("Original", OBJPROP_CORNER, 3);
   ObjectSet("Original", OBJPROP_XDISTANCE, 0);
   ObjectSet("Original", OBJPROP_YDISTANCE, 10);
}

string TradesToCopy(string a_symbol_0 = "", int a_cmd_8 = -1, int a_magic_12 = -1) {
   string ls_ret_16;
   int l_ord_total_28 = OrdersTotal();
   for (int l_pos_24 = 0; l_pos_24 < gi_104; l_pos_24++) {
      if (OrderSelect(l_pos_24, SELECT_BY_POS, MODE_TRADES)) {
         if (OrderSymbol() == a_symbol_0 || a_symbol_0 == "") {
            if (OrderType() > -1 && OrderType() < 6) {
               if (a_cmd_8 < OP_BUY || OrderType() == a_cmd_8)
                  if (a_magic_12 < 0 || OrderMagicNumber() == a_magic_12) ls_ret_16 = ls_ret_16 + OrderSymbol() + ";" + OrderType() + ";" + OrderLots() + ";" + OrderStopLoss() + ";" + OrderTakeProfit() + ";" + OrderComment() + ";" + OrderTicket() + ";" + OrderProfit() + ";";
            }
         }
      } else ls_ret_16 = ls_ret_16 + 0 + ";" + 0 + ";" + 0 + ";" + 0 + ";" + 0 + ";" + 0 + ";" + 0 + ";" + 0 + ";";
   }
   return (ls_ret_16);
}

void WriteFile(string as_0, string as_8) {
   int li_20;
   int l_str_len_16 = StringLen(as_8);
   int li_24 = _lopen(as_0, 2);
   if (li_24 < 0) {
      li_24 = _lcreat(as_0, 0);
      if (li_24 < 0) {
         Print("������ �������� ����� ", as_0);
         return;
      }
      li_20 = _lclose(li_24);
   }
   li_24 = _lopen(as_0, 2);
   if (li_24 < 0) {
      Print("������ �������� ����� ", as_0);
      return;
   }
   li_20 = _llseek(li_24, 0, 0);
   if (li_20 < 0) {
      Print("������ ��������� ���������");
      return;
   }
   li_20 = _lwrite(li_24, as_8, l_str_len_16);
   if (li_20 < 0) Print("������ ������ � ���� ", as_0, " ", l_str_len_16, " ����");
   li_20 = _lclose(li_24);
   if (li_20 < 0) Print("������ �������� ����� ", as_0);
}

bool CheckDonate() {
   int li_24;
   int l_file_0 = 0;
   string ls_4 = "0";
   int li_12 = 0;
   string l_name_16 = "CL.txt";
   l_file_0 = FileOpen(l_name_16, FILE_CSV|FILE_READ, ";");
   if (l_file_0 >= 1) {
      ls_4 = FileReadString(l_file_0);
      if (ls_4 != "0" && ls_4 != "1") ls_4 = "0";
      li_12 = StrToTime(FileReadString(l_file_0));
   } else {
      li_12 = TimeCurrent();
      l_file_0 = FileOpen(l_name_16, FILE_CSV|FILE_WRITE, ";");
      FileWrite(l_file_0, "0", TimeToStr(li_12, TIME_DATE));
   }
   FileClose(l_file_0);
   if (ls_4 == "0" && TimeCurrent() - li_12 > 604800) {
      li_24 = MessageBoxA(0, "������ ������� �������� � ������������������� ������,\n ��� ����������� ������� �������� ������ ����� ������� \n \n ���������� �������?", "������", 4);
      if (li_24 == 6) {
         ShellExecuteA(0, "Open", "iexplore.exe", "http://www.plati.ru/asp/pay.asp?idd=984951", "", 7);
         ls_4 = "0";
         return (FALSE);
      }
      if (li_24 != 6) {
         ShellExecuteA(0, "Open", "iexplore.exe", "http://expforex.at.ua", "", 7);
         ls_4 = "0";
         return (FALSE);
      }
      li_12 = TimeCurrent();
      l_file_0 = FileOpen(l_name_16, FILE_CSV|FILE_WRITE, ";");
      FileWrite(l_file_0, ls_4, TimeToStr(li_12, TIME_DATE));
      FileClose(l_file_0);
   }
   FileClose(l_file_0);
   return (TRUE);
}