작업 종료됨
![](https://c.mql5.com/i/avatar/avatar_na2.png)
![](https://c.mql5.com/i/avatar/avatar_na2.png)
명시
тз:
Требуется создать Систему оповещения и исполнения пользовательских событий. В метатрейдере она уже реализована и прекрасно работает, но только в пределах одного терминала. Требуется "пробросить" эти создаваемые пользовательские события с одного терминала на другой, который запущен на той же машине или соседнем компьютере. Самое удачное решение это "проброс" через локальный сетевой интерфейс. То есть любое пользовательское событие, которое возникает должно быть "проброшено" на другой терминал.
Более подробно: нужно создать панель и кнопку.
Требование к кнопке: кнопка с привычным пользователю поведением по умолчанию размаром 50 на 50 т.е. кнопка нажимается по событию MausDown, а отжимается по событию MausUP т.е полное нажатие кнопи - это эти два события
Требование к панели: панелька в окне чарта 200 на 600 пикселей (например) на которую можно будет добавлять кнопки при нажатии на которые на одном терминале, будет генерироваться событие "кнопка нажата" и передаваться на другие терминалы. у панельки должно быть место для названия, три кнопки закрыть, развернуть, свернуть, и в низу справа треугольничек для изменения размера.
Наверное лучше будет реализовать с помощью советника.
Сроки определены не точно. идеально 1 неделя до 15.02.2015. желательно не белее 2-х недель до 22.02.2016
Требования к коду: обязательное требование это Коментарии, табуляция желательно 2 символа. пример:
//+------------------------------------------------------------------+ //| Функция пошаговой отладки | //+------------------------------------------------------------------+ void SaveDebug(string text,const bool NewFile=False) { if(NewFile) // Если нужен новый файл { // ...то FileClose(filehandle); // закрываем файл если вдруг он открыт FileDelete("DebugFolder\\"+_Symbol+ChartID()+"BebugLog.txt",FILE_TXT); // удаляем предыбущий файл с тем же именем filehandle=FileOpen("DebugFolder\\"+_Symbol+ChartID()+"BebugLog.txt",FILE_WRITE|FILE_TXT); // создаём и открываем новый файл if(filehandle!=INVALID_HANDLE) // проверяем, если удачно { // ...то FileWrite(filehandle,text+"\n"); // Пишем в файл FileClose(filehandle); // закрываем файл }//END проверка filehandle else // если не удачно Print("Операция FileOpen неудачна, ошибка ",GetLastError()); // извещаем }//END if NewFile ("или") //END если новый else // если требуется записать в файл { // ...то filehandle=FileOpen("DebugFolder\\"+_Symbol+ChartID()+"BebugLog.txt",FILE_READ|FILE_WRITE|FILE_TXT);// открываем существующий файл для записи if(filehandle!=INVALID_HANDLE) // проверяем, если удачно { // ...то filehandle=FileSeek(filehandle,0,SEEK_END); // устанавлеваем место начала записи в конец файла FileWrite(filehandle,text+"\n"); // Пишем в файл FileClose(filehandle); // закрываем файл }//END проверка filehandle else Print("Операция FileOpen неудачна, ошибка ",GetLastError()); // если не удачно то извешаем }//END дописывания в файл }//END SaveDebug функция
Может если у кого это или что подобное уже реализовано, - вообще идеально.
Спасибо.